Terminal

如何在 Ubuntu 20.04 上使用來自 systemd 服務的命令啟動 gnome-terminal?

  • September 24, 2020

我編寫了名為*/etc/systemd/system/mytest.service*的服務文件。然後我想用一些在新終端控制台上列印的命令啟動一個新的終端視窗。

文件 mytest.service 包含以下內容:

[Unit]
Description= Test
After= network.target

[Service]
ExecStart=/usr/bin/gnome-terminal -- "echo 'test' > /home/me/test.log; echo 'abcd';"

StandardOutput=journal+console

[Install]
WantedBy=default.target

執行sudo systemctl start mytest並列印狀態後,我收到以下錯誤消息:

Sep 23 21:09:50 ub20 gnome-terminal[4205]: Unable to init server: Could not connect: Connection refused
Sep 23 21:09:50 ub20 gnome-terminal[4205]: # Failed to parse arguments: Cannot open display:
Sep 23 21:09:50 ub20 systemd[1]: ethminer.service: Main process exited, code=exited, status=1/FAILURE

這裡有什麼問題?

  1. 在 `$HOME/.config/systemd/user 中創建一個 systemd 使用者文件夾
  2. 創建或複制服務文件到文件夾,例如:mytest.service
  3. systemctl --user enable mytest.service

引用自:https://serverfault.com/questions/1035045