Запустить программу графического интерфейса как некорневую в PS Выполнения systemd

Выполнение -ef пикосекунды, чтобы найти, что число процесса выскочки является 1566. Когда идентификатор родительского процесса моей программы графического интерфейса является 1566, это может обычно отображаться. Теперь существует несколько проблем, которые заставляют мою программу графического интерфейса обычно не работать.

  1. у меня есть systemd программа, ее имя является terui. Я хочу запустить свою программу графического интерфейса в terui. Это - мой код запуска:

     система ("su sunxy-c 'ОТОБРАЖАЮТ =:0 XAUTHORITY =/home/sunxy/.Xauthority/etc/opt/kpki/mw/KCliBaseService/start_tray.sh'"); 
    
  2. Я нашел, что после запуска таким образом, идентификатор родительского процесса программы графического интерфейса равнялся 1, не 1566, который заставил моей программе графического интерфейса не удаваться отобразиться обычно. Когда я вхожу

     su sunxy-c'DISPLAY =:0 XAUTHORITY =/home/sunxy/.Xauthority/etc/opt/kpki/mw/KCliBaseService/start_tray.sh'
    

как пользователь root в ударе, моя программа графического интерфейса может обычно отображаться, и ее идентификатор родительского процесса является 1566.

  1. Это - мой terui.service:

      [Единица]
     Демон Description=terui
     Requires=network-online.target
     After=network-online.target
    
     [Сервис]
     Среда = "ОТОБРАЖАЕТСЯ =:0"
     Среда = "XAUTHORITY =/home/sunxy/.Xauthority"
     ExecStart =/home/testui/build/terui
     User=root
     Type=simple
     Restart=always
     RestartSec=3s
     [Установка]
     WantedBy=graphical.target
    

Так, мой вопрос, что я должен сделать для отображения программы графического интерфейса обычно?

0
задан 5 March 2021 в 01:04

1 ответ

Так что здесь необходимо изменить пользователь, когда программа запущена с пользователей и одинаковых привилегий пользователей, будет применяться к программе GUI.

Согласно странице человека SystemCTL Пользовательский параметр также может быть изменен в соответствии с случаем использования. И измените владение службы, поэтому предупреждение пароля будет отключено.

до

[Service]
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/sunxy/.Xauthority"
ExecStart=/home/testui/build/terui
User=root
Type=simple
Restart=always
RestartSec=3s
[Install]
WantedBy=graphical.target

после

[Service]
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/sunxy/.Xauthority"
ExecStart=/home/testui/build/terui
User=USERNAME
Type=simple
Restart=always
RestartSec=3s
[Install]
WantedBy=graphical.target
0
ответ дан 18 March 2021 в 23:29

Другие вопросы по тегам:

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