我使用 xbindkeys 来管理 Gnome 3 中的热键,但它没有守护进程,所以我将它添加到 .xinitrc。
~$ cat .xinitrc
ck-launch-session gnome-session
nohup xbindkeys &
奇怪的是,这根本不起作用。每次启动时我仍然必须手动启动 xbindkeys。我在这里做错了什么?
我的系统:
~$ uname -a
Linux [...] 3.0.28-1-lts #1 SMP PREEMPT Mon Apr 16 21:05:30 CEST 2012 x86_64 Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz GenuineIntel GNU/Linux
答案1
要在 Gnome 3 环境中运行 xbindkeys,你应该运行gnome-session-properties
并添加xbindkeys
。之后只需注销并再次登录即可。
(请注意,你的命令~/.xbindkeysrc
至少应包含 1 个让 xbindkeys 妖魔化的命令)
无论如何,从 运行它不是一个好主意.xinitrc
,你可能应该避免这样做。简单来说 -.xinitrc
它是一个 shell 脚本 => 你将逐个运行的命令序列。因此,你的命令xbindkeys
不会运行,直到你的前一个命令不退出(在你的例子中是ck-launch-session gnome-session
答案2
在什脚本(包括.xinitrc
)的所有命令默认按顺序运行 –nohup xbindkeys
直到退出时才考虑gnome-session
。交换线路应该有效(尽管nohup
在这里没用)。
但是,最好xbindkeys
从 GNOME 会话运行,而不是.xinitrc
;否则程序会使用键绑定启动将要当他们尝试执行某些特权操作(由 polkit 和 ConsoleKit 控制的操作)时中断。将 xbindkeys 添加到gnome-session-properties
反而。