Récemment, j'ai mis xset b off
mon .bashrc. Maintenant, je suis ennuyé par l'erreur qui apparaît lorsque je me connecte via tty ou via ssh, c'est-à-dire en dehors de la session X.
La première chose qui m'est venue à l'esprit était [[ -z "$SOME_VAR" ]] && xset b off
(eh bien, il s'avère que tester la variable définie par rapport à être vide est une question différente). Mais quel SOME_VAR est le bon?
J'ai donc différencié la set
sortie de tty et la sortie d'urxvt set
pour voir quelles variables sont définies dans X et manquantes dans tty. Comme prévu, il y a eu beaucoup de différences (en ne listant que celles qui me semblaient pertinentes):
DESKTOP_SESSION
DISPLAY
GDMSESSION
SESSION_MANAGER
WINDOWID
WINDOWPATH
XAUTHORITY
XDG_SESSION_COOKIE
XDG_CONFIG_DIRS
XDG_DATA_DIRS
XDG_MENU_PREFIX
Laquelle est la plus correcte et la plus universelle à tester pour détecter si je suis en session X ou non? Quelque chose qui fonctionnerait sur autant de distributions et de plateformes et d'environnements de bureau que possible?
Ou existe-t-il un meilleur moyen que de tester les variables d'environnement?
ssh -X
; fonctionne bien!