Comment accéder à mon serveur Ubuntu distant via X-windows à partir de mon Mac?


35

J'ai un serveur Ubuntu (12.04 LTS) qui s'exécute à distance sur un service d'hébergement en nuage. J'ai installé ubuntu-desktopvia apt-get:

$ sudo apt-get install ubuntu-desktop

Il semble avoir installé aucun problème.

J'ai confirmé que /etc/ssh/ssh_configsur le serveur contient les lignes

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

et que /etc/ssh/sshd_configsur le serveur contient la ligne:

X11Forwarding yes

J'ai ensuite redémarré le serveur. Il est remonté sans problème.

Maintenant, en démarrant X11.app sur mon Mac, on me présente un Xterm.

Je me connecte à mon serveur depuis ce terminal en utilisant:

$ ssh -X <myhost>

et je me connecte au serveur, pas de problème.

À ce stade, je ne sais pas quoi faire. j'ai essayé

$ sudo startx

mais j'obtiens une erreur "pas d'écrans trouvés".

Je n'ai pas d'écran parce que c'est un serveur cloud sans tête, mais je veux simplement y accéder depuis mon Mac via X.

Et maintenant?


2
Essayez d'installer xvfb. Je n'en ai pas l'habitude, mais cela se comporte comme un écran sans matériel.
ζ--

Réponses:


21

Il existe plusieurs méthodes pour y parvenir, en fonction de ce que vous devez réellement faire.

Pour transférer des applications distantes vers un environnement X local, vous devez installer X11 sur votre Mac (vous le trouverez sur le site d'assistance Apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

Depuis l'application X11, ouvrez le terminal, puis accédez à l'hôte distant avec:

    ssh -XC user@host

Ensuite, une fois connecté, exécutez simplement la commande de l'application souhaitée, par exemple: firefox, nautilus, thunderbird, etc.

Vous pouvez même lancer uniquement le menu principal du système (Ubuntu, Xubuntu, Mint, etc.) et interagir avec le système distant à partir de cet emplacement, sans avoir besoin d'une interface graphique complète. Sur une env. Distante de Linux Mint, je lance simplement:

    mintmenu&

Si vous en avez vraiment besoin, vous pouvez même démarrer l'environnement graphique distant localement sur votre Mac X11 en exécutant simplement:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

Mieux qu’un VNC, encore mieux qu’une connexion X11VNC! Connexion sécurisée et comprimée FTW.


7

Sur votre Mac, vous devrez installer XQuartz, si vous ne l'avez pas déjà fait (voir http://xquartz.macosforge.org ). Une fois que c'est installé, redémarrez et ouvrez une fenêtre de terminal XQuartz et SSH sur votre système Ubuntu Server:

ssh -X yourubuntuserver

Si lightdm est en cours d'exécution (voir https://askubuntu.com/a/153423/66799 pour savoir comment l'activer ou le désactiver selon vos besoins), exécutez cette commande pour que Ubuntu Unity soit connecté à votre Mac via X11:

gnome-session --session=ubuntu-2d

Cela fonctionne pour moi avec Ubuntu Server 12.04 LTS et Mac OS X Mountain Lion 10.8.2, mais des erreurs Composiz se produisent parfois. Cela dit, j'ai toujours des erreurs Composiz lorsque j'exécute Ubuntu Desktop localement. (-:

Vous pouvez vous déconnecter de Unity pour fermer les fenêtres du bureau Ubuntu.


Cela fonctionne, XQuartx est nécessaire.
SmallChess

Fonctionne parfaitement sur Windows 10 en WSL avec Xming pour l'affichage.
Harsh

-1

Vous avez la bonne idée mais la mauvaise syntaxe :)

startxne recommencera pas sshcomme ça parce qu'il a besoin d'un écran ( Xserveur avec lequel parler)

essayez cette commande pour démarrer l'interface graphique

sudo service gdm start

cela va démarrer l'environnement de bureau.

déconnecter.

et essaye

ssh -X nautilus username@host 

note n'a pas testé au-dessus de la ligne

Si tout fonctionne bien, vous devriez voir la fenêtre contextuelle du gestionnaire de fichiers ubuntu. Sinon, il se peut que certaines bibliothèques soient manquantes ou que la syntaxe de la commande ne soit pas correcte (je ne l'ai pas essayée du haut de ma tête).


4
Il n'y a pas besoin (ni raison) de courir sudo service gdm start. Le serveur X s'exécute sur le client SSH - la machine étant utilisée comme poste de travail. Il n’a pas besoin de fonctionner sur la machine distante pour ssh -Xfonctionner.
Eliah Kagan

Ah je n'étais pas au courant de cela merci pour l'info.
Matt Mootz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.