我试图运行yt
(yewtube) 命令。我有一个用于启动桌面的服务,因为我的设置是无头的。这有效并启动显示(也适用于 vnc)。
ExecStart=/bin/sh -c 'sleep 10 && /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/suomi/.vnc/passwd &'
服务命令yt
如下
ExecStart=/bin/sh -c 'sleep 20 && yt playurlhttps://www.youtube.com/‘
当我从桌面终端以 root 用户身份运行此命令时,它会运行并启动clementine
播放器来播放视频。当我尝试将其作为systemd
进程运行时,它显示它已完成并且服务已启动,loaded
但没有clementine
生成进程。有人可以告诉我如何正确启动它吗?
这是代码
[Unit]
Description=Audio service
After=syslog.target
After=network.target remote-fs.target nss-lookup.target
After=x11-common.service
[Service]
Type=forking
User=suomi
Group=suomi
WorkingDirectory=/home/suomi
ExecStart=/bin/sh -c 'sleep 20 && yt playurl https://www.youtube.com/<some link>'
[Install]
WantedBy=multi-user.target
(桌面服务启动需 20 秒)
这是状态
● audio.service - Audio service
Loaded: loaded (/etc/systemd/system/audio.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2023-02-26 12:49:39 JST; 16min ago
Process: 4707 ExecStart=/bin/sh -c sleep 20 && yt playurl ...
更新:我错了,即使从桌面终端,它也无法以 root 用户身份启动。只有当我使用我的用户时才会这样。这是因为 Clementine 没有为 root 安装吗?