Как запустить службу автоматически при загрузке Arch Linux?

Я проделал немного исследований, пытаясь понять это только для того, чтобы найти различные варианты, которые кажутся очень запутанными и сложными только для того, чтобы запустить один сервис, и это все, что мне нужно сделать.

В основном, я пытаюсь запустить xbindkeys всякий раз, когда запускается среда рабочего стола (или всякий раз, когда пользователь входит в систему).

Каковы простые варианты для этого?

3 Solutions collect form web for “Как запустить службу автоматически при загрузке Arch Linux?”

Будьте осторожны с типом службы, которую вы пытаетесь запустить. Вы правильно определили, что xbindkeys должны начинаться вместе с окружением рабочего стола, так как ему нужен доступ к вашему дисплею X11, который не будет иметь служб «запускать при загрузке». Многие забывают об этом.


В большинстве настольных систем создайте ~/.config/autostart/xbindkeys.desktop соответствии со спецификацией XDG Autostart :

 [Desktop Entry] Type=Application Exec=xbindkeys 

Обычно это можно сделать через cinnamon-session-properties или аналогичные.


Другой метод – поместить команду в скрипт ~/.xprofile , который запускается большинством менеджеров отображения (GDM, KDM, LXDM, LightDM):

 xbindkeys & 

Если вы используете только startx , поместите одну и ту же строку в ~/.xinitrc вместо этой части, которая запускает среду рабочего стола. То же самое относится к менеджерам дисплеев, которые вызывают startx , например, SLiM.

Некоторые службы, в том числе xbindkeys, «отделяют» себя, поэтому & не требуется строго. Тем не менее, это не повредит и, возможно, сделает запуск быстрее с момента отсоединения bash до начала процесса. С другой стороны, есть ситуации, когда это может повредить, то есть когда необходимо знать, когда служба полностью инициализирована.


С другой стороны, общесистемные службы должны запускаться как службы systemd, создавая /etc/systemd/system/<name>.service . Они начинаются раньше и не имеют доступа к любому дисплею X11 (и часто запускаются до того, как диспетчер дисплея делает это).

Xbindkeys не является сервисом, который вместо этого требует использования systemctl .

Тем не менее, xbindkeys имеет, как и почти все в Arch, очень хорошую страницу wiki, здесь , в которой, среди прочего, говорится:

После того, как вы закончите настройку своих ключей, отредактируйте файл ~ / .xinitrc и поместите

  xbindkeys 

Перед строкой, которая запускает ваш оконный менеджер или DE.

Вы действительно должны начать читать Wiki, это действительно хорошо написано, настолько, что я читал его, даже когда мне нужно добавлять / изменять конфигурации в другие мои системы, отличные от Arch Linux.

На моей стороне я использую Cinnamon в качестве рабочей среды. Поэтому я просто добавил /usr/bin/xbindkeys в панели параметров корицы → Приложения для запуска.
Таким образом, xbindkeys запускается при запуске среды рабочего стола.
Если вы не используете Cinnamon, я уверен, что вы сможете применить одно и то же к своей среде рабочего стола.

Давайте будем гением компьютера.