我已经在云中的一个无头Ubuntu22.04服务器上设置了TigerVNC,所以是无头的。
发射
vncserver
由于我的sudo用户工作良好,我可以通过SSH隧道进行连接(尽管我不能启动浏览器,这是一个不同的问题)。
这些是我的<>xstartup文件的内容:
#!/bin/sh
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -iconic &
"$SHELL" -l << EOF
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session gnome-session --session=ubuntu
EOF
vncserver -kill $DISPLAY
这是/etc/systemd/system/vncserver@.service:的内容
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=user
#Group=user
#WorkingDirectory=/home/user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1920x1080 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
应用sudo service vncserver@1 start
或sudo systemctl start vncserver@1
时
Syslog记录了以下内容:
Oct 16 12:03:25 server systemd[1]: Starting Start TigerVNC server at startup...
Oct 16 12:03:25 server systemd[1]: Started Session 25 of User user.
Oct 16 12:03:25 server vncserver[3049]: vncserver: Option 2>&1: Unrecognized!
Oct 16 12:03:25 server vncserver[3049]: For further help, consult the vncserver(1) and Xtigervnc(1) manual pages.
Oct 16 12:03:25 server systemd[1]: vncserver@1.service: Control process exited, code=exited, status=1/FAILURE
Oct 16 12:03:25 server systemd[1]: vncserver@1.service: Failed with result 'exit-code'.
Oct 16 12:03:25 server systemd[1]: Failed to start Start TigerVNC server at startup.
Oct 16 12:03:25 server systemd[1]: session-25.scope: Deactivated successfully.
我怀疑最近版本的软件工作方式发生了变化,但我希望能对此有所了解。
发布于 2023-03-14 21:43:07
您使用的是一个用于Ubuntu20.04的服务文件,但对于Ubuntu22.04,它需要略有不同。
这应该是可行的:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=user
#Group=user
#WorkingDirectory=/home/user
PAMName=login
PIDFile=/home/user/.vnc/%H:590%i.pid
ExecStartPre=-/bin/sh -c "/usr/bin/vncserver -kill :%i > /dev/null 2>&1"
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1920x1080 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
注意对PIDFile
和ExecStartPre
行的更改。来源
https://askubuntu.com/questions/1435699
复制相似问题