Utilisation du mode GUI d’une distribution Linux
Problème : Sur ma machine Windows je n’arrive
pas à lancer un programme Java (AnalyseSi.jar).
Le programme fonctionne en mode graphique. Les recherches sur internet sont
restées infructueuses. Comme il fallait que j’utilise ce logiciel sur cette
machine, une solution de contournement devait être trouvée rapidement. Il se
trouve que j’ai une distribution Kali sur
cette machine, y exécuter le fichier .jar ne poserai pas de problème. Seul bémol,
le logiciel fonctionne en mode graphique et non pas en mode ligne de commande. Utiliser
le rdp est certes une solution mais nous allons voir comment exécuter le
programme tout en restant sur le même écran.
Solution 1 : Utilisation de MobaXterm
MobaXterm, entre autres, est un client ssh avec serveur X
intégré. La version home est gratuite. On peut aussi télécharger la version
portable ou la version installable.
Une fois lancée, on lance une session ssh sur la
distribution linux
Lancer la commande
Java -jar nomfichier.jar
Le cas échéant se positionner sur le répertoire contenant le
fichier .jar
Le logiciel se lance en mode gui sur l’écran de la machine hôte
windows 10
Solution 2 : utilisation de putty
Putty est un client ssh très répandu. Avant de voir son
utilisation nous devons d’abord installer sur notre machine windows 10 un
serveur X
Lancer Microsoft Store et chercher GWSL
Le serveur X est lancé sur la machine locale.
Lancer putty, introduire l’adresse IP de la distribution
linux et avant de cliquer sur le bouton open, aller sur Connection puis SSH
puis X11. Cocher Enable X11 forwarding et indiquer localhost :0.0 dans x
display location
Lancer la connexion vers la distribution puis s’authentifier
De la même manière, se mettre dans le répertoire ou se
trouve l’application .jar puis la lancer en tapant java -jar fichier.jar
L’application se lance et s’affiche sur l’écran de la
machine hôte Windows 10.
Solution 3 : utilisation du client ssh windows natif
Microsoft a ajouté une fonctionnalité basée sur
openssh et qui comporte un certain nombre de clients dans ses systèmes d’exploitation
Windows 10 et Windows Server 2019. Openssh est installé dans c:\windows\system32\OpensshLes clients sont
- scp.exe : méthode de
transfert de fichiers via SSH
- sftp.exe : méthode de transfert de fichiers via
FTP (dans SSH)
- ssh-add.exe : ajouter une clé SSH à la base de données locale de l'agent
- ssh-agent.exe : gestion des clés SSH de l'hôte
- ssh-keygen.exe : générer des clés SSH
- ssh-keyscan.exe : collecter les clés publiques à partir
de plusieurs hôtes
- ssh.exe : le client SSH
Pour se connecter par exemple à la machine d’adresse IP 172.28.137.220
et en utilisant le nom d’utilisateur aannaque, on tape la commande :
ssh aannaque@172.28.137.220
La commande échoue et on obtient le message CreateProcessW
failed error 2
Pour contourner le problème il suffit de créer un répertoire
\dev\tty (comme sur Linux)
En tapant à nouveau la commande, ça marche. Taper yes
Après authentification, on obtient l’invite de commande
Si on lance l’application java, on obtient le message d’erreur
No X11 DISPLAY variable was set.
Fermer la session ssh. Au niveau de la fenêtre DOS, taper la commande
set DISPLAY=localhost:0.0
puis lancer la session ssh en spécifiant le paramètre -Y
En lançant l’application .jar, elle se lance sans problème
et le output s’affiche sur la machine hôte
Commentaires