Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/07/2018, à 14:13

lynn

SSH et variables d'environnement

Bonjour,

Je me connecte régulièrement à un pc distant en utilisant ssh. Certaines commandes ne retournent rien...

Exemple:

echo $XDG_SESSION_TYPE

ou

echo $XDG_CURRENT_DESKTOP

J'imagine qu'il faut exporter (ou importer..?) ces variables mais je ne sais pas vraiment faire... Merci pour vos retours. smile


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#2 Le 04/07/2018, à 15:50

Watael

Re : SSH et variables d'environnement

salut,

avec quelle commande et options te connectes-tu ?
une session SSH n'ouvre, par défaut, pas de session X, donc ces variables ne sont pas initialisées,
et tous les environnements graphiques ne les initialisent pas, non plus.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 04/07/2018, à 16:16

lynn

Re : SSH et variables d'environnement

Bonjour Watael,

Watael a écrit :

avec quelle commande et options te connectes-tu ?

ssh -X user@ip

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#4 Le 05/07/2018, à 16:54

k3c

Re : SSH et variables d'environnement

Apparemment il faut déplacer tes définitions faites dans ton bashrc dans /etc/profile

Source
https://stackoverflow.com/questions/216 … en-run-man


Archlinux sur Xiaomi Air 13

Hors ligne

#5 Le 05/07/2018, à 18:37

lynn

Re : SSH et variables d'environnement

Merci k3c mais si tu pouvais développer un peu parce que là, je nage; J'ai été sur ton lien, lu et relu la page mais je n'ai pas compris ce qu'il fallait précisément faire... hmm


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#6 Le 05/07/2018, à 18:46

Watael

Re : SSH et variables d'environnement

je ne suis pas certain que cela s'applique à ton cas : les variables XDG_* sont créées par l'environnement graphique lors de l'initialisation d'une session, l'utilisateur n'a pas à y toucher/créer/modifier.

Dernière modification par Watael (Le 05/07/2018, à 18:50)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 05/07/2018, à 19:24

lynn

Re : SSH et variables d'environnement

Si j'ai bien compris, quand on utilise une connexion SSH sur un pc (qui a un environnement graphique actif), ça veut dire qu'on ne peut pas obtenir d'information sur la session en cours d'utilisation ou sur le type de serveur graphique et/ou certainement d'autres choses en utilisant des variables pourtant faites pour ça..?!


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#8 Le 05/07/2018, à 19:38

Watael

Re : SSH et variables d'environnement

je n'ai pas dit ça.

ssh -X ouvre une session graphique sur le poste distant, cependant toutes les variables d'environnement ne sont pas pertinentes (XDG_SEAT par exemple), et ne sont donc pas assignées.

essaie ces deux commandes :

ssh -XC user@serveur xterm

puis

for v in ${!XDG_*}; do echo "$v = ${!v}"; done

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 06/07/2018, à 06:39

lynn

Re : SSH et variables d'environnement

La première commande m'ouvre xterm et la deuxième commande lancée depuis xterm me renvoie

XDG_RUNTIME_DIR = /run/user/1000
XDG_SESSION_ID = 13

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#10 Le 06/07/2018, à 15:51

Watael

Re : SSH et variables d'environnement

je suis sur openBox, et il n'assigne pas XDG_SESSION_TYPE et XDG_CURRENT_DESKTOP.
ces variables existent-elles sur un environnement similaire à celui du serveur, ou si tu t'y connectes physiquement ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 06/07/2018, à 15:57

lynn

Re : SSH et variables d'environnement

Watael a écrit :

ces variables existent-elles sur un environnement similaire à celui du serveur, ou si tu t'y connectes physiquement ?

Ces variables existent bien. Le serveur et le client sont des Ubuntu 18.04 avec Gnome en environnement; En somme, Ubuntu Desktop de base...


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#12 Le 06/07/2018, à 17:16

bruno

Re : SSH et variables d'environnement

Attention ssh -X n'ouvre pas une session graphique cela permet simplement le transfert X11 (déport d'applications graphiques exécutées par le serveur sur le client). ssh avec ou sans option -X ouvre une session en mode console.

Il est donc normal que les variables d’environnement qui sont censées indiquer le type de session graphique ou l'environnement de bureau utilisé soit vides puisque l'on est pas dans une session graphique et encore moins dans un environnement de bureau.

Dernière modification par bruno (Le 06/07/2018, à 17:17)

Hors ligne

#13 Le 06/07/2018, à 17:32

lynn

Re : SSH et variables d'environnement

bruno a écrit :

Il est donc normal que les variables d’environnement qui sont censées indiquer le type de session graphique ou l'environnement de bureau utilisé soit vides puisque l'on est pas dans une session graphique et encore moins dans un environnement de bureau.

C'est bien ce qui me semble... Alors comment fait-on pour avoir les informations d'environnement de la session distante quand on utilise SSH?


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#14 Le 06/07/2018, à 17:44

bruno

Re : SSH et variables d'environnement

Il faudrait savoir pourquoi tu as besoin d'avoir ces informations et lesquelles précisément. Et surtout ce que tu entends par « session distante ».
Quand tu te connectes en ssh tu ouvres une nouvelle session indépendante de celles qui pourrait déjà être ouvertes sur le serveur.

Dernière modification par bruno (Le 06/07/2018, à 17:48)

Hors ligne

#15 Le 06/07/2018, à 18:09

lynn

Re : SSH et variables d'environnement

Je me suis peut-être mal exprimée. La session distante, pour moi, c'est la session en cours de fonctionnement sur le pc distant (Le pc distant n'ayant qu'un seul utilisateur).

Pour les informations, ce que je voudrais notamment, c'est savoir si la session utilisée sur le pc distant utilise l'environnement Gnome, Unity, Xfce ou autre et le type de protocole utilisé (x11, wayland, autre). Des trucs tous simples en fait... Ou pas! tongue


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#16 Le 07/07/2018, à 08:56

bruno

Re : SSH et variables d'environnement

Il y a sûrement des tas de moyens de faire cela. Sur un système récent le mieux est sans doute d'utiliser loginctl.
Pour identifier les sessions :

sudo loginctl list-sessions

Pour voir les infos de base de la session ayant l'ID xx (colonne Session de la commande précédente):

sudo systemctl show-session xx

Exemple de retour sur ma machine :

$ sudo loginctl show-session 2
Id=2
User=1000
Name=bruno
Timestamp=sam. 2018-07-07 08:40:57 CEST
TimestampMonotonic=58355081
VTNr=7
Seat=seat0
Display=:0
Remote=no
Service=sddm
Desktop=KDE
Scope=session-2.scope
Leader=2119
Audit=2
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0

Hors ligne

#17 Le 07/07/2018, à 09:35

lynn

Re : SSH et variables d'environnement

Merci bruno, ça fonctionne sauf que la deuxième commande, sur Ubuntu en tout cas, ce n'est pas

sudo systemctl show-session xx

mais

loginctl show-session xx

Personnellement, je n'utilises pas sudo sur ces deux commandes. Y a-t-il un intérêt particulier à le faire? À première vue, le résultat est le même.


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne