будьте осторожны с типом сервиса, который вы пытаетесь запустить. Ты правильно определил, что 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 (и часто запускаются раньше, чем менеджер дисплея).