будьте осторожны с типом сервиса, который вы пытаетесь запустить. Ты правильно определил, что xbindkeys
должно начинаться вместе со средой рабочего стола, так как ему нужен доступ к вашему дисплею X11, который не будет иметь служб "запуск при загрузке". Многие люди забывают об этом.
в большинстве сред рабочего стола, создать ~/.config/autostart/xbindkeys.desktop
по словам спецификация автозапуска XDG:
[Desktop Entry]
Type=Application
Exec=xbindkeys
обычно это можно сделать через cinnamon-session-properties
или аналогичные.
другой способ-поместить команду в ~/.xprofile
скрипт, который запускается большинством дисплейных менеджеров (GDM ,KDM, LXDM, LightDM):
xbindkeys &
если вы используете только startx
, положил в свой ~/.xinitrc
вместо этого, перед частью, которая запускает среду рабочего стола. То же самое относится к дисплейным менеджерам, которые вызывают startx
, как тонкое.
некоторые службы, включая xbindkeys, "отделить" себя так то &
строго не требуется. Тем не менее, это не повредит, и, возможно, сделает startup быстрее С тех пор как bash отсоединяется прежде чем даже начать процесс. С другой стороны, бывают ситуации, когда будет больно – то есть, когда нужно знать, когда сервис полностью инициализирован.
общесистемные службы, с другой стороны, следует запускать как systemd-службы, создав /etc/systemd/system/<name>.service
единица папка. Они начинаются рано и не имеют доступа к любому дисплею X11 (и часто запускаются раньше, чем менеджер дисплея).