Un deuxième environnement XWindow distant sur votre poste de travail Linux via SSH

Si vous avez un poste de travail Linux avec XWindow, par exemple Ubuntu Desktop et que vous souhaitez accéder à un autre environnement XWindow complet (c’est-à-dire pas seulement une seule fenêtre X (via un ssh -X), mais bien l’environnement X avec le bureau, la barre des tâches, menus, etc.), le tout en utilisant le service SSH, voici un petit mode d’emploi.

Pour mon cas, j’ai donc un portable Ubuntu Desktop (9.10), et j’ai un autre portable (cela marche aussi avec une machine virtuelle) qui est installé avec la distribution orientée tests de sécurité Backtrack (4 final). Je souhaite avoir l’environnement graphique XWindow de Backtrack (un KDE 3) sur mon poste (un Gnome), tout en gardant mon environnement XWindow/Gnome ouvert… c’est-à-dire conserver mon environnement de travail (thunderbird, firefox, etc..) et basculer sur le mode graphique du portable Backtrack pour lancer des tests de sécurité, et donc sans me déplacer physiquement vers le portable (un bon informaticien est un informaticien fainéant!).

Ouh là ! Je rêve ?! Et bien non, c’est possible :

Sur la machine backtrack, on va faire quelques ajustements / préparations après son installation :

En mode non graphique (en tant que root) :

Démarrage du SSH avec éventuellement, création des clés pour SSH si ce n’est pas déjà fait :

setup-sshd

puis, démarrage du serveur ssh :

/etc/init.d/ssh start

Démarrage en mode automatique du réseau (ce n’est pas le cas par défaut sur une backtrack) :

update-rc.d networking defaults

Démarrage en mode automatique du service SSH :

update-rc.d ssh defaults

Installation du paquetage kdm (et ses dépendances) pour pourvoir faire ce que je veux faire 😉 (le kdm est le gestionnaire d’affichage de KDE)

apt-get install kdm

On arrête le service kdm car sinon il va poser problème si jamais il est démarré que je veux l’avoir à distance.

/etc/init.d/kdm stop

On l’enlève du démarrage automatique (histoire qu’il ne nous embête plus jamais)

update-rc.d -f kdm remove

Sur la machine cliente (poste de travail), on change l’autorisation de lancer des environnements X de « console user » vers « Anybody », afin de (me) permettre de lancer le programme xinit sans être l’utilisateur root :

sudo dpkg-reconfigure x11-common

(choisir Anybody et valider)

Ensuite depuis une fenêtre Terminal (ligne de commande) sur la machine cliente,, on saisit la commande suivante :

xinit /usr/bin/ssh -i /home/milamber/.ssh/milamber -X root@10.0.0.2 "/opt/kde3/bin/startkde" -- :1

On notera que :

  • 10.0.0.2 correspond à l’adresse de la machine backtrack
  • l’on se connecte en root sur le backtrack (une particularité de la distribution)
  • que j’utilise un certificat RSA pour ne pas saisir de mot de passe SSH

Et voilà, l’écran devient noir, puis le XWindow et le KDE démarrent… sur une nouvelle console virtuelle (vt).

Ensuite :

  • Pour basculer (revenir) vers sa fenêtre XWindow locale, faire Ctrl+Alt+F7
  • Pour revenir sur la fenêtre XWindow backtrack, faire Ctrl+Alt+F9

Un rêve devenu réalité… 😉

./