Recentemente eu coloquei xset b off
no meu .bashrc. Agora eu estou irritado com o erro que aparece quando eu faço logon via tty ou via ssh, ou seja, fora da sessão X.
A primeira coisa que me veio à mente foi [[ -z "$SOME_VAR" ]] && xset b off
(bem, acontece que a variável de teste sendo definida versus vazia) é uma pergunta diferente). Mas qual SOME_VAR é o correto?
Então, diferenciei a set
saída de tty e a saída de urxvt set
para ver quais variáveis são definidas em X e ausentes em tty. Como esperado, havia muitas diferenças (listando apenas as que me pareciam relevantes):
DESKTOP_SESSION
DISPLAY
GDMSESSION
SESSION_MANAGER
WINDOWID
WINDOWPATH
XAUTHORITY
XDG_SESSION_COOKIE
XDG_CONFIG_DIRS
XDG_DATA_DIRS
XDG_MENU_PREFIX
Qual é o mais correto e universal para testar, a fim de detectar se estou em uma sessão X ou não? Algo que funcionaria em tantas distros, plataformas e ambientes de desktop quanto possível?
Ou existe uma maneira ainda melhor do que testar variáveis de ambiente?
ssh -X
; funciona bem!