Comment se connecter à distance avec un bureau graphique complet sur X11

8

J'ai deux machines, toutes deux exécutant kubuntu: serveur et client. Je voudrais me connecter au serveur à partir du client et démarrer l'interface graphique complète sans craindre que certaines commandes soient exécutées en tant qu'utilisateur client.

Donc, ça ssh -XCmarche et je peux aussi démarrer des programmes graphiques à partir de ça très bien.

Cependant, lorsque je tape startkdedans la console ssh, il est dit "KDE semble déjà fonctionner sur cet écran". C'est vrai, mais pas pour le même compte utilisateur.

J'ai essayé de quitter l'interface graphique et de me connecter à partir de tty, mais cela (sans surprise) n'a pas réussi à démarrer les programmes graphiques, y compris kde.

Comment puis-je faire cela de telle sorte que je puisse simplement me connecter comme je me connecte avec un utilisateur local? Utilisez la machine cliente comme un terminal stupide.

velis
la source

Réponses:

12

XDMCP est conçu pour cela. Sur votre serveur, vous devez activer la prise en charge XDMCP dans votre gestionnaire de bureau:

  • si vous utilisez kdm, recherchez

    [Xdmcp]
    Enable=false
    

    à la fin de votre kdmrc, passez falseà trueet redémarrez kdm;

  • si vous utilisez lightdm, ajoutez

    [XDMCPServer]
    enabled=true
    port=177
    

    à /etc/lightdm/lightdm.confet redémarrer lightdm.

Ensuite, sur votre client, démarrez X en utilisant

X -query ${SERVER_IP}

(avec l'adresse IP appropriée à la place), et l'écran de connexion de votre serveur devrait apparaître sur votre client.

Stephen Kitt
la source
merci, exactement ce dont j'avais besoin. L'oncle G drôle ne l'a pas trouvé et j'ai dû demander.
velis
2
Cela fonctionne, mais XDMCP signifie que vous utilisez le protocole X11 ordinaire, qui ne prend pas en charge le cryptage. Si c'est un problème, vous devez chercher d'autres solutions
Wouter Verhelst
4

Vous pouvez activer le serveur VNC

Paramètres> Partage> Partage d'écran

Ensuite, procurez-vous le proxy 5900 sur ssh sur votre PC si vous avez besoin d'utiliser ssh.

ssh -L 5900:localhost:5900 #destination here

utilisez ensuite un client Bureau à distance (RD) comme Remina pour vous connecter au proxy ssh local;

Se connecter> 127.0.0.1:5900

Assurez-vous d'examiner les défaillances de sécurité de VNC avant de l'utiliser. VNC devrait être assez sûr à utiliser si vous le tunnelez sur ssh. Cette méthode ne fonctionnera que si vous avez un utilisateur connecté. Pour le faire fonctionner sans un utilisateur connecté, vous devrez vous connecter, démarrer un serveur VNC et spécifier quel affichage utiliser IE 0, 1, 2 et puis connectez-vous avec Remina ou quelque chose de n'importe où.

enconn
la source
J'ai installé x11vnc sur ubuntu. Donc, si aucun utilisateur ne s'est connecté au système, la commande pour démarrer x11vnc x11vnc displaynumber:1est-elle correcte?
ART
3

Vous pouvez démarrer un gestionnaire de fenêtres sur une session SSH, mais vous devez vous assurer que votre serveur X n'exécute pas déjà un gestionnaire de fenêtres.

Cela peut être accompli de deux manières:

  1. Faites tout manuellement, plutôt que d'utiliser startxou un gestionnaire d'affichage:

    Tout d'abord, démarrez votre serveur X:

    X -nolisten tcp :0
    

    passez maintenant à une autre console virtuelle (par exemple, appuyez sur ctrl + alt + f2) et tapez:

    DISPLAY=:0 ssh -XC <host> startkde
    

    Revenez maintenant à la première console virtuelle et utilisez votre session X normalement. L'inconvénient de cette méthode est qu'elle n'inclut pas la xauthconfiguration (de sorte qu'en théorie, tout le monde sur la machine distante pourra se connecter à votre session X, ce qui représente un risque pour la sécurité); vous voudrez peut-être ajouter cela.

  2. Utilisez les .xinitrcfichiers (pour startx) ou .xsession(pour les gestionnaires d'affichage) pour modifier votre gestionnaire de fenêtres:

    Si vous avez configuré votre système pour que SSH sans mot de passe fonctionne (par exemple, via des clés ssh ou en utilisant Kerberos ou un autre mécanisme d'authentification), vous pouvez ajouter la ligne suivante comme dernière ligne dans votre .xinitrcou vos .xsessionfichiers:

    exec ssh -XC <host> startkde
    

    La chose à retenir est que tout ce que vous ajoutez à ces fichiers sera exécuté au lieu de votre configuration de session X11 normale. Dans certains cas, vous devrez peut-être sélectionner l'option "Xsession standard" sur votre écran de connexion.

    Même si vous n'avez pas de SSH sans mot de passe, cela peut toujours fonctionner, à condition que vous l'ayez ssh-askpassinstallé. Si sshdétermine qu'il ne dispose pas d' un terminal , mais il contrôle le fait un $DISPLAYensemble de variables, il utilisera que pour demander un mot de passe.

    L'inconvénient de cette méthode est qu'il devient plus difficile de se connecter à la machine "locale".

Wouter Verhelst
la source