最近我把它放到xset b off
了我的 .bashrc 中。现在我对当我通过 tty 或通过 ssh 登录时弹出的错误感到恼火,即在 X 会话之外。
我想到的第一件事是[[ -z "$SOME_VAR" ]] && xset b off
(好吧,事实证明测试变量被设置与被空是一个不同的问题)。但哪个 SOME_VAR 是正确的?
所以我比较了 tty 的set
输出和 urxvt 的set
输出,看看哪些变量设置在 X 中,哪些变量在 tty 中丢失。正如预期的那样,有很多差异(仅列出与我相关的那些):
DESKTOP_SESSION
DISPLAY
GDMSESSION
SESSION_MANAGER
WINDOWID
WINDOWPATH
XAUTHORITY
XDG_SESSION_COOKIE
XDG_CONFIG_DIRS
XDG_DATA_DIRS
XDG_MENU_PREFIX
为了检测我是否在 X 会话中,哪一个是最正确和最通用的测试?可以在尽可能多的发行版、平台和桌面环境中运行的东西?
或者有比测试环境变量更好的方法吗?