2

Я использую 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

2 ответа2

7

Для запуска xbindkeys в вашей среде Gnome 3 вы должны запустить gnome-session-properties и добавить туда xbindkeys . После этого просто выйдите и войдите снова.

(обратите внимание, что ваш ~/.xbindkeysrc должен содержать хотя бы 1 команду для демонизации xbindkeys)

В любом случае, запускать его из .xinitrc не очень хорошая идея, вам, вероятно, следует избегать этого. Просто - .xinitrc это сценарий оболочки => последовательность команд, которые вы собираетесь запускать по одной. Таким образом, ваши xbindkeys не будут работать, пока ваша предыдущая команда не завершится (в вашем примере это ck-launch-session gnome-session

4

В сценариях sh , включая .xinitrc , все команды по умолчанию выполняются последовательно - nohup xbindkeys не рассматривается, пока не завершится gnome-session . Обмен строк должен работать (хотя nohup здесь бесполезен).

Однако лучше запускать xbindkeys из сеанса GNOME, а не .xinitrc ; в противном случае программы, запущенные с использованием сочетаний клавиш, прерываются , когда они пытаются выполнить определенные привилегированные операции (те, которые контролируются polkit & ConsoleKit). Вместо этого добавьте xbindkeys в gnome-session-properties .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .