LINUX.ORG.RU
ФорумAdmin

systemd & touchegg

 , ,


0

1

Всем привет, подскажите как правильно сконструировать свой юнит для пользователя?

Имеется утилита touchegg для тачскрина ей нужен домашний каталог пользователя и переменная текущего монитора

Я написал юнит /etc/systemd/user/touchegg@.service

[Unit] Description=TouchScreen

[Service] ExecStart=/usr/bin/touchegg Environment=DISPLAY=:%i

[Install] WantedBy=default.target

в надежде что он будет запускаться для каждого пользователя.

но там systemd его не видит, перекинул его в usr/lib/systemd/user, но при запуске юнита вот такая ошибка

# systemctl --user start touchegg@.service Failed to get D-Bus connection: В соединении отказано

в bash_profile не хочу его вставлять

touchegg@.service
Environment=DISPLAY=:%i

Зачем вот эти все танцы вприсядку?

# systemctl --user start touchegg@.service
Failed to get D-Bus connection: В соединении отказано

Потому что systemd --user у каждого юзера свой, а ты от рута запускаешь. Ваш кэп. И раз ты собрался передавать $DISPLAY через шаблонный параметр, то почему ты его не указал?

подскажите как правильно сконструировать свой юнит для пользователя?

Никак, потому что systemd не предназначен для запуска графических приложений (исключение — GNOME 3.34 и новее, там интеграцию сделали правильно).

в bash_profile не хочу его вставлять

И правильно, тех, кто запускает демоны через bash_profile, нужно превентивно лишать потомства.

Я бы сделал через ~/.config/autostart тупо.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)