Ubuntu 22.04 灰屏上的 TightVNC 服务器

问题描述 投票:0回答:2

我的用户的 crontab 包含:

@reboot sleep 60 && /home/mslinn/.local/bin/vncserver4 >/dev/null 2>&1

/home/mslinn/.local/bin/vncserver4

#!/bin/bash

rm -f /tmp/.X4-lock
rm -f /tmp/.X11-unix/X4

vncserver :4 -depth 24 -geometry 3840x2160

~/.vnc/xstartup

#!/bin/sh

# Change "GNOME" to "KDE" for a KDE desktop, or "" for a generic desktop
MODE="GNOME"

#Uncommment this line if using Gnome and your keyboard mappings are incorrect.
#export XKL_XMODMAP_DISABLE=1

# Load X resources (if any)
if [ -e "$HOME/.Xresources" ]
then
        xrdb "$HOME/.Xresources"
fi

# Try a GNOME session, or fall back to KDE
if [ "GNOME" = "$MODE" ]
then
        if which gnome-session >/dev/null
        then
                gnome-session --session=ubuntu-2d &
        else
                MODE="KDE"
        fi
fi

# Try a KDE session, or fall back to generic
if [ "KDE" = "$MODE" ]
then
        if which startkde >/dev/null
        then
                startkde &
        else
                MODE=""
        fi
fi

# Run a generic session
if [ -z "$MODE" ]
then
        xsetroot -solid "#DAB082"
        x-terminal-emulator -geometry "80x24+10+10" -ls -title "$VNCDESKTOP Desktop" &
        x-window-manager &
fi

vnc 查看器显示: vncviewer

$ ps aux|grep [g]nome
mslinn      1064  0.0  0.0 397064  8004 ?        SLl  Jul13   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
mslinn      1104  0.0  0.0 171112  6224 tty2     Ssl+ Jul13   0:00 /usr/libexec/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu
mslinn      1206  0.0  0.0 231768 15112 tty2     Sl+  Jul13   0:00 /usr/libexec/gnome-session-binary --session=ubuntu
mslinn      1305  0.0  0.0 100556  4992 ?        Ssl  Jul13   0:00 /usr/libexec/gnome-session-ctl --monitor
mslinn      1317  0.0  0.0 732780 17352 ?        Ssl  Jul13   0:00 /usr/libexec/gnome-session-binary --systemd-service --session=ubuntu
mslinn      1340  1.5  0.9 3976100 299252 ?      Ssl  Jul13 102:51 /usr/bin/gnome-shell
mslinn      1405  0.0  0.0 583104 20208 ?        Sl   Jul13   0:00 /usr/libexec/gnome-shell-calendar-server
mslinn      1481  0.0  0.0 2940440 29280 ?       Sl   Jul13   0:00 /usr/bin/gjs /usr/share/gnome-shell/org.gnome.Shell.Notifications
mslinn      1483  0.0  0.0 162816  7152 ?        Sl   Jul13   0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
mslinn      1619  0.0  0.1 711464 45248 ?        Ssl  Jul13   0:00 /usr/libexec/xdg-desktop-portal-gnome
mslinn      1722  0.0  0.0 2948104 27208 ?       Sl   Jul13   0:00 /usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver
mslinn    562376  0.1  0.3 1231980 118068 ?      SLl  00:21   0:03 gnome-control-center
vnc ubuntu-22.04 tightvnc
2个回答
0
投票

检查是否使用了 Wayland。
方法一:
检查vnc日志文件,搜索如下警告。

(xfwm4:xxx): Gtk-WARNING **: x:x:x.x: cannot open display: wayland-0

方法二:
运行

loginctl
以列出所有会话 ID。
运行
loginctl show-session <ID> -p Type
验证会话类型。

禁用 Wayland

  • sudo vi /etc/gdm3/custom.conf
    .
    在末尾添加
    WaylandEnable=false
  • sudo systemctl 重新启动 gdm3

安装X11

sudo apt update

sudo apt install xorg openbox

重启

sudo reboot

运行

loginctl
,然后运行
loginctl show-session <ID> -p Type
再次验证。

再次启动VNCServer。


-2
投票

RealVNC 不支持 Ubuntu 22.04 默认使用的 Wayland,因此您需要按照下面 RealVNC 的 Ubuntu 说明禁用它:

“不支持 Wayland,因此如果远程计算机运行的是 Ubuntu 18.04 LTS+,请编辑 /etc/gdm3/custom.conf 文件,取消注释 WaylandEnable=false,然后重新启动,以便远程访问登录屏幕。”

您还需要安装以下软件包: xfce4 xfce4-好东西紧密vncserver

最后,您需要在 ~/.vnc/xstartup.kept 的末尾添加以下行: 启动xfce4 &

© www.soinside.com 2019 - 2024. All rights reserved.