Autant vous le dire tout de suite, je ne n’aime pas les interfaces graphiques sur les serveurs.. d’ailleurs j’ai déjà emm** pas mal de monde avec mes idéos, ça bouffe de la mémoire et du réseau pour rien. Mais bon.. Je me trouve aujourd’hui confronté à un problème sur un de mes projets difficilement resolvable sinon en installant un serveur X sur mon serveur. Put** de capcha.
Je vais donc essayer de vous expliquer, ici, comment mettre en place une liaison Serveur X linux déportée sur un mac.
ATTENTION, Suite à certain retours, je tiens a préciser que ce n’est pas la meilleure solution pour administrer un serveur hebergé sur le net. c’est une très bonne option en LOCAL, pour du DISTANT, ce n’est à utiliser que très ponctuellement. Pour ceux qui aurais besoin d’avoir accès aux application x d’une machine distante il existe NX. (avec son client Mac, ici). J’essayerais de vous publier un tutoriel sur le sujet, bientôt. Sur ce, amusez vous bien ;)
Ce dont vous aurez besoin
Sur le serveur: xdm et un environnement graphique (j’ai choisi icewm pur sa légèreté, mais n’importe lequel fera l’affaire)
1 | aptitude install xdm icewm |
Sur votre mac: il vous faudra installer X11, vous le trouverez sur le CD1 d’installation du système Tiger ou Léopard (avant, je ne sais pas.. Quelqu’un saurait me le dire ?). Cherchez « Optional Installs.mpkg » et sélectionnez X11 dans le menu.
Configuration de Ssh:
Editez le fichier de configuration:
1 | vim /etc/ssh/sshd_config |
Modifiez ces deux ligne:
1 2 | X11Forwarding yes X11DisplayOffset 10 |
Puis relancez le tout:
1 | /etc/init.d/ssh reload |
Configuration de xdm
Editez le fichier de configuration:
1 | vim /etc/X11/xdm/xdm-config |
Modifiez cette ligne (pour définir le port 177 en écoute)
1 | DisplayManager.requestPort: 177 |
Editez le fichier d’autorisation d’accès:
1 | vim /etc/X11/xdm/Xaccess |
Décommentez la ligne suivante:
1 | #* #any host can get a login window |
On sécurisera via iptables.
Configuration de IPTables:
Ici on va ouvrir les ports nécessaires:
1 2 | iptables -A input -p udp -s x.x.x.x --dport 177 -j ACCEPT iptables -A input -p tcp -s x.x.x.x --dport 6000:6015 -j ACCEPT |
Ici j’ai remplacé mon Ip par x.x.x.x, mettez la votre. (celle du Mac)
Pensez a ouvrir ces ports sur votre routeur local.. su vous en avez un !
- Port 177/UDP (XDMCP)
- Port 6000 à 6015 (X11)
Utilisation:
Sur le Mac, ouvrez un terminal et tapez ceci (remplacez l’ip de mon serveur par celle du votre, ici c’est celle de crashdump.fr ;)):
1 | xhost +88.191.68.9 |
X11 devrait se lancer.. en attente d’un connexion.
Connectez vous ensuite sur votre Box linux en ssh, puis:
1 | export DISPLAY=x.x.x.x:0.0 |
Replacez le x.x.x.x par l’adresse Ip de votre Mac.
Il ne vous reste plus qu’a lancer l’application en question.. pour la voir apparaître sur votre mac ! Exemple:
1 | xterm |
Et la magie opère ! ;)


