Я провел небольшое исследование, пытаясь выяснить это, только чтобы найти различные варианты, которые кажутся очень запутанными и сложными только для запуска одного сервиса, и это все, что мне нужно сделать.
По сути, я пытаюсь запустить xbindkeys
каждый раз, когда запускается среда рабочего стола (или всякий раз, когда пользователь входит в систему).
Какие простые варианты сделать это?
arch-linux
sherrellbc
источник
источник
Ответы:
Будьте осторожны с типом сервиса, который вы пытаетесь запустить. Вы правильно определили, что
xbindkeys
запускать следует вместе со средой рабочего стола, так как для этого требуется доступ к дисплею X11, который не будет иметь сервис «запуск при загрузке». Многие люди об этом забывают.В большинстве рабочих столов создавайте в
~/.config/autostart/xbindkeys.desktop
соответствии со спецификацией XDG Autostart :Обычно это может быть сделано через
cinnamon-session-properties
или подобное.Другой способ - поместить команду в
~/.xprofile
сценарий, который запускается большинством диспетчеров отображения (GDM, KDM, LXDM, LightDM):Если вы используете только
startx
, поместите ту же строку в вашем~/.xinitrc
, перед частью, которая запускает среду вашего рабочего стола. То же самое относится к диспетчерам отображения, которые вызываютstartx
, например, SLiM.Некоторые службы, в том числе xbindkeys, «отсоединяются», так что
&
это строго не требуется. Однако, это не повредит, и, возможно , сделать запуск быстрее , так как Баш отрывает еще до начала процесса. С другой стороны, в некоторых ситуациях это может повредить, то есть когда необходимо знать, когда служба полностью инициализирована.С другой стороны, общесистемные службы следует запускать как системные службы, создавая
/etc/systemd/system/<name>.service
файл модуля. Они запускаются рано и не имеют доступа к дисплею X11 (и часто запускаются раньше, чем менеджер дисплеев).источник
~/.xprofile
и~/.xinitrc
.xbindkeys - это не служба, которая вместо этого требует использования systemctl .
Тем не менее, xbindkeys имеет, как только о чем - нибудь в арке, очень хорошей вики - страницы, здесь , которая гласит, среди прочего:
Вы должны действительно начать читать Wiki, он действительно хорошо написан, настолько, что я читаю его, даже когда мне нужно добавить / изменить конфигурации для других моих систем, не являющихся Arch Linux.
источник
Со своей стороны я использую Cinnamon в качестве рабочего стола. Поэтому я только что добавил
/usr/bin/xbindkeys
в Cinnamon Settings Panel → Автозагрузка приложений.Таким образом,
xbindkeys
запускается, когда запускается среда моего рабочего стола.Если вы не используете Cinnamon, я уверен, что вы сможете применить то же самое в своей среде рабочего стола.
источник