Привет всем.
Используется KUBUNTU 18.10 64bit.
Есть графический планшет. Для использования планшета нужно запустить драйвер планшета через SUDO. Лезть в терминал для запуска драйверов каждый раз не удобно.
Идея в том, что бы драйвер планшета загружался автоматически при запуске системы (или сеанса пользователя). И работал в фоновом режиме, поскольку сам драйвер запускается в графической оболочке, где можно менять параметры поведения пера. Почитав Гугл, понял, что реализовать данное действие правильнее через systemd.
На данный момент:
Создал юнит:
sudo nano /etc/systemd/system/xppen.service
Содержание юнита:
[Unit]
Description=XPPen Image Creative
After=network.target #Этот параметр взят из примера. Чем заменить не знаю. Оставил как есть. Хуже не будет.
[Service]
ExecStart=/bin/bash /home/anna/Driver/Linux_Pentablet_V1.3.0.0/Pentablet_Driver.sh
Type=forking
[Install]
WantedBy=multi-user.target
Alias=xppen.service
Затем:
systemctl daemon-reload
В итоге перезагружаемся и... ничего не работает.
Ввожу:
systemctl status xppen.service
● xppen.service - XPPen Image Creative
Loaded: loaded (/etc/systemd/system/xppen.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-11-28 18:04:18 MSK; 23s ago
Process: 20081 ExecStart=/bin/bash /home/anna/Driver/Linux_Pentablet_V1.3.0.0/Pentablet_Driver.sh (code=exited, status=1/FAILURE)
ноя 28 18:04:18 Family systemd[1]: Starting XPPen Image Creative...
ноя 28 18:04:18 Family bash[20081]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
ноя 28 18:04:18 Family bash[20081]: qt.qpa.screen: QXcbConnection: Could not connect to display
ноя 28 18:04:18 Family bash[20081]: Could not connect to any X display.
ноя 28 18:04:18 Family systemd[1]: xppen.service: Control process exited, code=exited status=1
ноя 28 18:04:18 Family systemd[1]: xppen.service: Failed with result 'exit-code'.
ноя 28 18:04:18 Family systemd[1]: Failed to start XPPen Image Creative.
Сам драйвер запускается через скрипт Sh, который шел в комплекте. Вот содержание скрипта:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname/lib
export LD_LIBRARY_PATH
$dirname/$appname "$@"
Буду признателен, если направите, куда копать. Может это реализуется вообще по другому принципу?