vncserver 退出太早

jxw*_*jxw 3 vnc remote-desktop

我有一个 Ubuntu 21.10 headless,我需要使用远程桌面连接到它。当我尝试开始使用vncserver命令时,我得到以下过早退出代码

hd2900@hd2900:~/.vnc$ vncserver

New Xtigervnc server 'hd2900:1 (hd2900)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/hd2900/.vnc/passwd :1 to connect to the VNC server.


=================== tail /home/hd2900/.vnc/hd2900:5901.log ===================
==============================================================================

Session startup via '/home/hd2900/.vnc/xstartup' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
    tigervncserver -xstartup /usr/bin/xterm
The X session cleanly exited!
Killing Xtigervnc process ID 10156... success!
hd2900@hd2900:~/.vnc$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.10
Release:    21.10
Codename:   impish
Run Code Online (Sandbox Code Playgroud)

我的 xstartup 文件配置为

hd2900@hd2900:~/.vnc$ vncserver

New Xtigervnc server 'hd2900:1 (hd2900)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/hd2900/.vnc/passwd :1 to connect to the VNC server.


=================== tail /home/hd2900/.vnc/hd2900:5901.log ===================
==============================================================================

Session startup via '/home/hd2900/.vnc/xstartup' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
    tigervncserver -xstartup /usr/bin/xterm
The X session cleanly exited!
Killing Xtigervnc process ID 10156... success!
hd2900@hd2900:~/.vnc$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.10
Release:    21.10
Codename:   impish
Run Code Online (Sandbox Code Playgroud)

VNC 的建立者是

apt install ubuntu-gnome-desktop
apt install tigervnc-standalone-server
Run Code Online (Sandbox Code Playgroud)

然后我使用命令设置密码,vncpasswd然后使用vncserver命令启动服务器。

fch*_*hen 11

tigervncserver -xstartup /usr/bin/gnome-session
Run Code Online (Sandbox Code Playgroud)

将工作。事实上,您需要做的就是从最后一行中删除& :

dbus-launch --exit-with-session gnome-session
Run Code Online (Sandbox Code Playgroud)

看起来新版本的 Tigervncserver 期望 ~/.vnc/xstartup (或 ~/.vnc/Xtigervnc-session)脚本保留在前台。(我使用的是 Ubuntu 21.10,结尾 & 是问题。在 20.04LTS 上,结尾 & 不是问题。)