Je vois une incompréhension fondamentale des principes qui sous-tendent l’affichage graphique sous Linux. Je sais bien que la série de livres O’Rieilly intitulée The Definite Guide to the X Window System
n’est plus disponible (pas moins de 7 volumes dans mon armoire) mais de là à tenter un startx
au petit bonheur, il y a un pas!
Je ne vais pas trop parler de TeanViewer car la version proposée sur https://www.teamviewer.com/fr/download/linux.aspx ne va certainement pas fonctionner sur les deux systèmes Debian qui sont dotés de processeurs Power4 (des IBM pSeries P630, environ 12 ans d’âge).
Architecture X Window System : vous avez un serveur X qui se charge de la gestion des périphériques (écran, souris clavier). Ce logiciel peut piloter directement le matériel ( modules xserver-???) ou utiliser un système graphique déjà existant : c’est le cas de Xming sous windows par exemple (qui se base sur des trucs comme DirectDraw)
Dans la terminologie associée à X Window, la notion essentielle est celle de DISPLAY
c’est à dire qu’on désigne la surface d’affichage par une notation simplifiée du genre :0.0 ou par exemple avec Xming lancé
C:\Temp>echo %DISPLAY%
127.0.0.1:0.0
Nous voyons apparaître l’IP locale de la machine. En effet, un des principes de Xlib
c’est la transparence réseau. Si je lance un nmap vers ma machine windows je trouve entre autre
6000/tcp open X11
Je pourrais lancer une autre instance de X en ajoutant :1 à la commande trouvée dans le log
Xming was started with the following command line...
C:\Program Files\Xming\Xming.exe -clipboard -multiwindow
et je verrais apparaître un port 6001 correspondant à un display loacl :1
ceci étant si je paramètre Putty pour faire le transfert du canal d’affichage ( X11 forwarding
) je trouve sur la machine Linux
fp2x@drmas:~$ echo $DISPLAY
localhost:10.0
c’est-à-dire que le :0.0 sur mon poste d’afficahge loacl (windows dans mon cas) est devenu un adressage :10.0 sur le Linux distant pour désigner le même display
.
Ainsi en local
C:\Program Files\Xming>xwininfo.exe -root
xwininfo: Window id: 0x100 (the root window) (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1920
Height: 1200
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1920x1200+0+0
Je ne mets pas la sortie sur le système Linux distant de
fp2x@drmas:~$ xwininfo -root
car c’est exactement la même. Autrement dit le X11 forwarding
fonctionne.
A partir du moment où vous avez un DISPLAY
qui est ok, vous pouvez lancer toutes les applications graphiques que vous voulez. Cela peut-être tout un bureau (commande du genre gnome-session
)
ou des applications isolées gnome-terminal
nautilus
ou xfe
.
Exemple d’application : j’ai défini une session Putty
nommée drmas
pour me connecter à la machine drmas
sous le nom fp2x
et je peux lancer directement xfe
avec
C:\Temp>ssh -load drmas xfe
Un lecteur attentif va se demander d’où sort cette commande windows ssh
?
En fait j’ai tout simplement mis C:\Temp\bin
dans le PATH et réaliser un lien vers plink.exe
fourni par Putty
C:\Temp>fsutil hardlink list C:\Temp\bin\ssh.EXE
\Program Files\PuTTY\plink.exe
\Temp\bin\ssh.exe
En résumé, je vous conseille d’installer Xming
et Putty
avec pageant
sur votre poste client, de configurer un accès sans mot de passe au serveur Linux (clés RSA), d’installer l’explorateur de fichiers voulu sur le serveur. (ne pas oublier d’installer xauth
pour X11).
Avec simplement 2/3 icônes sur votre bureau vous aurez les fonctionnalités recherchées le tout avec des logiciels libres.
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
ingénieur civil du Génie Maritime
Bureau Veritas
Branche Marine & Offshore
Département Recherche, le département de l’excellence technique