Как исправить код выхода 1 для службы systemd, на которой работает inputplug?

Я думаю, что это невозможно.

Идентификатор в выходных данных apt listполучен из метаданных Suite в файле Releaseили InReleaseрепозитория и не может быть перезаписан локально.

$ curl -s -L https://deb.debian.org/debian/dists/stretch/Release | grep "^Suite:"
Suite: oldstable
$ curl -s -L https://deb.debian.org/debian/dists/stretch-backports/Release | grep "^Suite:"
Suite: stretch-backports

Ни в одном из ваших репозиториев не задано поле в файле Release, поэтому по умолчанию apt имеет значение unknown.

$ curl -s -L https://repo.percona.com/percona/apt/dists/stretch/Release | grep "^Suite:"
$ curl -s -L https://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_9.0/Release | grep "^Suite:"
$
0
19.01.2021, 17:32
1 ответ

Судя по вашим комментариям, вы решили проблему с синтаксисом, вызвавшую 203. Теперь у вас есть код ошибки -1. Это исходит из самого приложения.

Отслеживайте journalctl -u inputplug-keymap-daemon.service, чтобы увидеть, записывает ли приложение что-нибудь в stdout или stderr. Добавление -v к аргументам строки команды -может помочь получить больше информации.

Когда я смотрю на справочную страницу , становится ясно, что это приложение использует переменную окружения DISPLAY. Это не то, что обычно доступно для системных демонов, и я предполагаю, почему это не работает.

Как только мы имеем дело со службами, которым требуется доступ к DISPLAYи XAUTHORITY, мы обычно работаем в области пользователя -.Это означает, что это то, что не нужно для работы самой системы, это что-то специфичное для пользователя и его графического сеанса. В этой ситуации мы используем шину --usersystemd. Шина --userпредоставит вашему сервису доступ к вашей среде, включая DISPLAY.

Чтобы это работало:

sudo systemctl disable inputplug-keymap-daemon.service
cp /etc/systemd/system/inputplug-keymap-daemon.service ~/.config/systemd/user/
sudo rm /etc/systemd/system/inputplug-keymap-daemon.service
systemctl --user start inputplug-keymap-daemon.service

Обратите внимание на отсутствие sudoв последней строке. Проверьте это с помощью systemctl --user status...и journalctl --user -u inputplug-keymap-daemon.service

.

Если работает, то измените свой раздел [Install]перед включением сервиса:

[Install]
WantedBy=default.target

Теперь можноsystemctl --user enable inputplug-keymap-daemon.service

1
18.03.2021, 22:36

Теги

Похожие вопросы