Итак, у меня есть служба 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 возвращает «готово!"и правильно меняет настройки. Когда я запускаю 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
(Это все после того, как Х начал)
Какая разница? Почему это происходит?