相关疑难解决方法(0)

在 bash 脚本(.bashrc 等)中检测 X 会话

最近我把它放到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 会话中,哪一个是最正确和最通用的测试?可以在尽可能多的发行版、平台和桌面环境中运行的东西?

或者有比测试环境变量更好的方法吗?

bash xorg environment-variables

18
推荐指数
3
解决办法
1万
查看次数

使用 xcape + xmodmap 更改一些键

使用xcapeand xmodmap, 一个

  1. 当与另一个键一起按下时,使该CAPSLOCK键充当SUPER修饰键。
  2. 使按键在单独按下时CAPSLOCK起到按键的作用ESCAPE

x11 xmodmap keyboard-layout xcape

7
推荐指数
1
解决办法
4082
查看次数