ssh et $DISPLAY
Le
Christophe PEREZ

Bonjour,
Je tourne en rond depuis un bon moment sur un problème pour lequel je ne
trouve même pas un début de piste de recherche.
J'ai 3 machines relativement similaires dans leur installation, avec
Gentoo + KDE.
Aujourd'hui, je les ai mises à jour toutes les 3. Suite à cette mise à
jour, je rencontre des bizarreries avec ssh. Les mises à jours sont
équivalentes sur les 3 postes, peut-être à quelques dépendances près
(voir liste pour l'une d'elles en bas).
Le problème, c'est la disparition de tout $DISPLAY quand j'utilise ssh,
que ce soit avec X11Forwarding yes dans /etc/ssh/sshd_config ou (et c'est
le cas qui m'a fait m'en rendre compte) que ce soit avec un ssh -x pour
lancer une commande "graphique" sur la machine distante.
J'ai tourné tout ça dans un peu tous les sens, je n'ai jamais de $DISPLAY.
Je suis quasiment certain que cela vient des mises à jour, puisque c'est
quelque chose que j'utilise tous les jours, et qui fonctionnait
parfaitement jusque là.
Je ne comprends pas ce qui, dans ces mises à jour kde, peut avoir
interféré la-dessus. Et je précise que c'est sans rapport avec screen
puisque j'ai le problème même sans l'utiliser. J'ai testé avec konsole ou
xterm, c'est pareil. J'ai essayé dans les 2 sens (de machine1 vers
machine2 et inversement), c'est pareil.
Du coup, comme je ne sais pas du tout qui peut être le fautif, j'ai bien
du mal à faire des recherches pour savoir si ça serait un bug, ou une
"feature", et donc comment y remédier.
Je continue à chercher, la nuit portant conseil dit-on. Mais si vous avez
une idée, n'hésitez pas.
Merci de m'avoir lu.
virtual/ttf-fonts-1-r1
sys-libs/zlib-1.2.11
sys-apps/kmod-23
sys-apps/file-5.29
app-misc/screen-4.4.0
dev-python/pycairo-1.10.0-r5
x11-misc/xdg-utils-1.1.1-r1
kde-frameworks/extra-cmake-modules-5.29.0
kde-frameworks/kf-env-4
kde-frameworks/oxygen-icons-5.29.0
kde-frameworks/breeze-icons-5.29.0
media-libs/libwebp-0.5.2
kde-frameworks/karchive-5.29.0
kde-frameworks/kitemmodels-5.29.0
kde-frameworks/threadweaver-5.29.0
kde-frameworks/attica-5.29.0
kde-frameworks/kdoctools-5.29.0
kde-frameworks/syntax-highlighting-5.29.0
kde-frameworks/kguiaddons-5.29.0
kde-frameworks/kwayland-5.29.0
kde-frameworks/kjs-5.29.0
kde-frameworks/kidletime-5.29.0
kde-frameworks/kplotting-5.29.0
kde-frameworks/ki18n-5.29.0
kde-frameworks/bluez-qt-5.29.0
kde-frameworks/kcoreaddons-5.29.0
kde-frameworks/kconfig-5.29.0
kde-frameworks/kwidgetsaddons-5.29.0
kde-frameworks/kwindowsystem-5.29.0
kde-frameworks/kdbusaddons-5.29.0
kde-frameworks/kitemviews-5.29.0
kde-frameworks/kcodecs-5.29.0
kde-frameworks/sonnet-5.29.0
kde-frameworks/kunitconversion-5.29.0
kde-frameworks/kdnssd-5.29.0
kde-frameworks/kjsembed-5.29.0
kde-frameworks/kcrash-5.29.0
kde-frameworks/kcompletion-5.29.0
kde-frameworks/kjobwidgets-5.29.0
kde-frameworks/kpackage-5.29.1
kde-frameworks/kpty-5.29.0
kde-frameworks/kdesignerplugin-5.29.0
kde-frameworks/kservice-5.29.0
kde-frameworks/kglobalaccel-5.29.0
kde-frameworks/kdesu-5.29.0
kde-frameworks/kemoticons-5.29.0
kde-frameworks/kpeople-5.29.0
kde-frameworks/knotifications-5.29.0
kde-frameworks/solid-5.29.0
kde-frameworks/networkmanager-qt-5.29.0
kde-frameworks/kauth-5.29.0
kde-frameworks/kconfigwidgets-5.29.0
kde-frameworks/kiconthemes-5.29.0
kde-frameworks/ktextwidgets-5.29.0
kde-frameworks/kwallet-5.29.0
kde-frameworks/frameworkintegration-5.29.0
kde-frameworks/kxmlgui-5.29.0
kde-frameworks/kbookmarks-5.29.0
kde-frameworks/kio-5.29.0
kde-frameworks/kinit-5.29.0
kde-frameworks/kded-5.29.0
kde-frameworks/kparts-5.29.0
kde-frameworks/kdeclarative-5.29.0
kde-frameworks/knewstuff-5.29.0
kde-frameworks/knotifyconfig-5.29.0
kde-frameworks/kxmlrpcclient-5.29.0
kde-frameworks/kcmutils-5.29.0
kde-frameworks/kactivities-5.29.0
kde-frameworks/kdelibs4support-5.29.0
kde-frameworks/khtml-5.29.0
kde-frameworks/ktexteditor-5.29.0
kde-frameworks/kmediaplayer-5.29.0
kde-frameworks/kross-5.29.0
kde-frameworks/plasma-5.29.0
kde-frameworks/kactivities-stats-5.29.0
kde-frameworks/krunner-5.29.0
Je tourne en rond depuis un bon moment sur un problème pour lequel je ne
trouve même pas un début de piste de recherche.
J'ai 3 machines relativement similaires dans leur installation, avec
Gentoo + KDE.
Aujourd'hui, je les ai mises à jour toutes les 3. Suite à cette mise à
jour, je rencontre des bizarreries avec ssh. Les mises à jours sont
équivalentes sur les 3 postes, peut-être à quelques dépendances près
(voir liste pour l'une d'elles en bas).
Le problème, c'est la disparition de tout $DISPLAY quand j'utilise ssh,
que ce soit avec X11Forwarding yes dans /etc/ssh/sshd_config ou (et c'est
le cas qui m'a fait m'en rendre compte) que ce soit avec un ssh -x pour
lancer une commande "graphique" sur la machine distante.
J'ai tourné tout ça dans un peu tous les sens, je n'ai jamais de $DISPLAY.
Je suis quasiment certain que cela vient des mises à jour, puisque c'est
quelque chose que j'utilise tous les jours, et qui fonctionnait
parfaitement jusque là.
Je ne comprends pas ce qui, dans ces mises à jour kde, peut avoir
interféré la-dessus. Et je précise que c'est sans rapport avec screen
puisque j'ai le problème même sans l'utiliser. J'ai testé avec konsole ou
xterm, c'est pareil. J'ai essayé dans les 2 sens (de machine1 vers
machine2 et inversement), c'est pareil.
Du coup, comme je ne sais pas du tout qui peut être le fautif, j'ai bien
du mal à faire des recherches pour savoir si ça serait un bug, ou une
"feature", et donc comment y remédier.
Je continue à chercher, la nuit portant conseil dit-on. Mais si vous avez
une idée, n'hésitez pas.
Merci de m'avoir lu.
virtual/ttf-fonts-1-r1
sys-libs/zlib-1.2.11
sys-apps/kmod-23
sys-apps/file-5.29
app-misc/screen-4.4.0
dev-python/pycairo-1.10.0-r5
x11-misc/xdg-utils-1.1.1-r1
kde-frameworks/extra-cmake-modules-5.29.0
kde-frameworks/kf-env-4
kde-frameworks/oxygen-icons-5.29.0
kde-frameworks/breeze-icons-5.29.0
media-libs/libwebp-0.5.2
kde-frameworks/karchive-5.29.0
kde-frameworks/kitemmodels-5.29.0
kde-frameworks/threadweaver-5.29.0
kde-frameworks/attica-5.29.0
kde-frameworks/kdoctools-5.29.0
kde-frameworks/syntax-highlighting-5.29.0
kde-frameworks/kguiaddons-5.29.0
kde-frameworks/kwayland-5.29.0
kde-frameworks/kjs-5.29.0
kde-frameworks/kidletime-5.29.0
kde-frameworks/kplotting-5.29.0
kde-frameworks/ki18n-5.29.0
kde-frameworks/bluez-qt-5.29.0
kde-frameworks/kcoreaddons-5.29.0
kde-frameworks/kconfig-5.29.0
kde-frameworks/kwidgetsaddons-5.29.0
kde-frameworks/kwindowsystem-5.29.0
kde-frameworks/kdbusaddons-5.29.0
kde-frameworks/kitemviews-5.29.0
kde-frameworks/kcodecs-5.29.0
kde-frameworks/sonnet-5.29.0
kde-frameworks/kunitconversion-5.29.0
kde-frameworks/kdnssd-5.29.0
kde-frameworks/kjsembed-5.29.0
kde-frameworks/kcrash-5.29.0
kde-frameworks/kcompletion-5.29.0
kde-frameworks/kjobwidgets-5.29.0
kde-frameworks/kpackage-5.29.1
kde-frameworks/kpty-5.29.0
kde-frameworks/kdesignerplugin-5.29.0
kde-frameworks/kservice-5.29.0
kde-frameworks/kglobalaccel-5.29.0
kde-frameworks/kdesu-5.29.0
kde-frameworks/kemoticons-5.29.0
kde-frameworks/kpeople-5.29.0
kde-frameworks/knotifications-5.29.0
kde-frameworks/solid-5.29.0
kde-frameworks/networkmanager-qt-5.29.0
kde-frameworks/kauth-5.29.0
kde-frameworks/kconfigwidgets-5.29.0
kde-frameworks/kiconthemes-5.29.0
kde-frameworks/ktextwidgets-5.29.0
kde-frameworks/kwallet-5.29.0
kde-frameworks/frameworkintegration-5.29.0
kde-frameworks/kxmlgui-5.29.0
kde-frameworks/kbookmarks-5.29.0
kde-frameworks/kio-5.29.0
kde-frameworks/kinit-5.29.0
kde-frameworks/kded-5.29.0
kde-frameworks/kparts-5.29.0
kde-frameworks/kdeclarative-5.29.0
kde-frameworks/knewstuff-5.29.0
kde-frameworks/knotifyconfig-5.29.0
kde-frameworks/kxmlrpcclient-5.29.0
kde-frameworks/kcmutils-5.29.0
kde-frameworks/kactivities-5.29.0
kde-frameworks/kdelibs4support-5.29.0
kde-frameworks/khtml-5.29.0
kde-frameworks/ktexteditor-5.29.0
kde-frameworks/kmediaplayer-5.29.0
kde-frameworks/kross-5.29.0
kde-frameworks/plasma-5.29.0
kde-frameworks/kactivities-stats-5.29.0
kde-frameworks/krunner-5.29.0
Si tu montrais exactement ce que tu fais, ce serait un bon début.
Je suppose que tu voulais écrire ssh -X ?
Essayer avec un autre WM, ou carrément sans WM ?
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
11:04:34 ~ $ echo $DISPLAY
:0
11:05:06 ~ $ ssh -Y medion
X11 forwarding request failed on channel 0
11:05:13 ~ $ echo $DISPLAY
11:05:16 ~ $ exit
Connection to medion closed.
11:05:27 ~ $ ssh -x
11:06:03 ~ $ echo $DISPLAY
11:06:07 ~ $ exit
Connection to medion closed.
non.
Testé avec startx et xterm seul.
Le 20/01/2017 16:06, Christophe PEREZ a écrit :
As-tu essayé tout ce qui est suggéré ici ?
https://www.cyberciti.biz/faq/how-to-fix-x11-forwarding-request-failed-on-channel-0/
--
Olivier Miakinen
Bon, pour je ne sais quelle raison, le redémarrage de sshd sur la machine
distante a réglé ce problème. Pourtant, aucune mise à jour de openssh.
J'avais bien un peu soupçonné que mes 2 problèmes ne soit pas forcément
liés mais vu qu'ils sont survenus exactement au même moment, je ne voyais
qu'une cause commune.
Mais celui-ci reste intact. En fait, c'est celui-ci mon problème de base,
et c'est en testant que j'avais constaté l'autre.
C'est bizarre, mais là, je sais que je vais devoir détailler le pourquoi
du comment je veux faire ça :D
on-channel-0/
J'avais évidemment trouvé plein de réponses du même genre au problème,
mais ça ne fonctionnait pas, parce que n'ayant pas touché à openssh, il
ne me venait pas à l'esprit de croire qu'il fallait relancer sshd.
Si je fais :
export DISPLAY=:0
alors le fonctionnement redevient celui que j'avais jusqu'alors.
Mais qu'est-ce qui fait que ce n'est PLUS activé "automatiquement" ?
Je précise que le user "kevin" a bien une session graphique lancée par
sddm sous kde.
Je lis plein de choses autour de xhost (qui ne semble pas recommandé par
tout le monde). Mais celui-ci est désinstallé de mes machines depuis Sept
2016 (sans doute plus une dépendance requises). Du coup, ce n'est
forcément pas son absence qui est la cause.
Tout ça me dépasse, et je n'ai certainement pas les bons mots pour les
puristes...
Il y a un truc que je ne comprends pas. Avec ssh -x, tu demandes
explicitement à désactiver le transfert X11, et du coup SSH ne
devrait pas avoir à toucher à la variable DISPLAY (ce qui est le
cas maintenant, mais qui semble-t-il n'était pas le cas avant).
Est-ce que la variable DISPLAY n'était pas initialisée par un
fichier .profile ou équivalent, avant la mise à jour ?
--
Olivier Miakinen
Tu pouvais t'arrêter là et commencer à chercher la cause. Pour
référence, la manière correcte de procéder à partir de là, plutôt que
d'essayer tout et n'importe quoi au hasard et de ruiner en passant la
sécurité de ta session, aurait été d'ajouter l'option -v, éventuellement
plusieurs fois, et de lire les messages d'erreur. Et aussi de consulter
les logs du serveur.
~ $ man ssh | grep -- -x
-x Disables X11 forwarding.
Tu t'attendais à quoi ?