Итак, у меня есть служба systemd, которая называется startup.service:
[Unit]
Description=startup scripts
[Service]
Type=oneshot
ExecStart=/home/user/Documents/Tools/Scripts/startup.sh
[Install]
WantedBy=multi-user.target
который вызывает скрипт с именем startup.sh:
#! /bin/sh -
DIR='/home/user/Documents/Tools/Scripts'
$DIR/audio.sh
$DIR/powertop.sh
$DIR/xinput.sh
который вызывает скрипт с именем xinput.sh:
экспорт DISPLAY =: 0.0 если xinput set-prop 11 297 -107 -107; затем эхо "сделано!" фи
Когда я запускаю startup.sh от имени пользователя root, xinput.sh возвращает «done!» и правильно меняет настройки. Когда я запускаю startup.service от имени пользователя root, xinput завершается ошибкой и возвращает:
Jun 23 22:37:45 localhost startup.sh[7051]: No protocol specified
Jun 23 22:37:45 localhost startup.sh[7051]: Unable to connect to X server
(Это все после того, как Х начал)
Какая разница? Почему это происходит?