进一步阅读

进一步阅读

我试图在启动后自动在用户模式下启动 systemd 中的 VNC 服务器。使用 Arch Linux 作为虚拟机运行。

VNC服务器是Tiger VNC:

$ pacman -Qs vnc
local/tigervnc 1.9.0-1
    Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC.

/home/raspi/vnc.service

[Unit]
Description=Remote desktop service (VNC)

[Service]
Type=simple
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -alwaysshared -fg -name remote
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=default.target

延迟已启用:

$ loginctl show-user raspi | grep -i linger
Linger=yes

安装有:

$ systemctl --user enable /home/raspi/vnc.service
Created symlink /home/raspi/.config/systemd/user/default.target.wants/vnc.service → /home/raspi/vnc.service.
Created symlink /home/raspi/.config/systemd/user/vnc.service → /home/raspi/vnc.service.

开始于:

$ systemctl --user start vnc.service

我可以启动它并连接到它,但它不会在系统启动时自动启动。我必须登录并systemctl --user start vnc.service手动运行。我缺少什么?

答案1

您缺少每用户服务管理本身并不在引导程序中启动在默认配置中。它在您第一次登录时启动,这是服务管理器挂钩到登录系统的结果。

进一步阅读

相关内容