为什么 vncserver 从服务运行时会失败?我在 Linux 机器(Ubuntu 20.4)上使用 TigerVNC 和 noVNC 设置了 VNC。从终端启动时,它运行正常,但我想从服务启动它,以便它可以在启动时自动启动,但它不起作用
我的服务文件名'[电子邮件保护]' 位于 /etc/systemd/system 如下所示
[Unit]
Description = VNC server
After=syslog.target network.target
[Service]
Type=forking
User=taisafmr15
ExecStartPre=-/usr/bin/vncserver -kill :2
ExecStart=/usr/bin/vncserver :2 -geometry 1600x900 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :2
[Install]
WantedBy=multi-user.target
我可以使用启用我的服务
sudo systemctl enable [email protected]
并且它启动时没有任何错误,与启动它时一样
sudo systemctl start [email protected]
但是我的 vnc 服务器没有启动,正在运行
sudo systemctl status [email protected]
显示它失败了(代码=exited,状态=255 / EXCEPTION)查看日志显示它在 ExecStart 上失败并且我看到的唯一错误代码/消息是这个(代码=exited,状态=255 / EXCEPTION)
但是,当我从我的终端正常运行该命令时,我的 vnc 服务器启动正常,只是不是从服务启动,
挣扎了好几天任何帮助/建议都会有帮助
编辑:我的 xstartup 文件位于 ~/.vnc/xstartup
#!/bin/sh
[-x /etc/vnc/xstartup] && exec /etc/vnc/xstartup
[-r $HOME/.Xresources] && xrdb $HOME/.Xresources
我的 xstartup 文件位于 /etc/vnc/xstartup
#!/bin/sh
export DISPLAY=:2
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -iconic &
"$SHELL" -l << EOF
export XDG_SESSION_TYPE=x11
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc//xdg-ubuntu:/etc/xdg
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export DESKTOP_SESSION=/usr/share/xsessions/ubuntu.desktop
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
EOF
vncserver -kill $DISPLAY
两个 xstartup 文件均具有以下权限
sudo chmod +x /etc/vnc/xstartup
sudo chmod 777 /etc/vnc/xstartup
完整错误消息
vncserver[7143]: Thu Apr 13 16:26:40 2023
vncserver[7143]: ComparingUpdateTracker: 0 pixels in / 0 pixels out
vncserver[7143]: ComparingUpdateTracker: (1:-nan ratio)
vncserver[7143]: Killing Xtigervnc process ID 6921... which seems to be deadlocked. Using SIGKILL!
vncserver[6912]: Starting applications specified in /home/tai79/.vnc/xstartup has failed.
vncserver[6912]: Maybe try something simple first, e.g.,
vncserver[6912]: tigervncserver -xstartup /usr/bin/xterm
systemd[1]: [email protected]: Main process exited, code=exited, status=255/EXCEPTION
systemd[1]: [email protected]: Failed with result 'exit-code'.
尝试更改 xstartup 文件,使用不同的桌面环境等