Recientemente lo puse xset b off
en mi .bashrc. Ahora estoy molesto por el error que aparece cuando inicio sesión a través de tty o ssh, es decir, fuera de la sesión X.
Lo primero que se me ocurrió fue [[ -z "$SOME_VAR" ]] && xset b off
(bueno, resulta que la variable de prueba que se establece frente a estar vacía es una pregunta diferente). ¿Pero cuál SOME_VAR es el correcto?
Así que diferto la set
salida de tty y la salida de urxvt set
para ver qué variables están establecidas en X y las que faltan en tty. Como era de esperar, hubo muchas diferencias (enumerando solo las que me parecieron relevantes):
DESKTOP_SESSION
DISPLAY
GDMSESSION
SESSION_MANAGER
WINDOWID
WINDOWPATH
XAUTHORITY
XDG_SESSION_COOKIE
XDG_CONFIG_DIRS
XDG_DATA_DIRS
XDG_MENU_PREFIX
¿Cuál es el más correcto y universal para probar para detectar si estoy en una sesión X o no? ¿Algo que funcione en tantas distribuciones, plataformas y entornos de escritorio como sea posible?
¿O hay una forma aún mejor que probar las variables de entorno?
ssh -X
; ¡funciona bien!