如何在无头式 ubuntu 20.10 上安装 vnc?

如何在无头式 ubuntu 20.10 上安装 vnc?

我正在尝试在 x86_64 ubuntu 20.10 上安装 vnc,它是无头的。 我愿意不是想要 Xfce,所有的教程都莫名其妙地告诉你安装 xfce。我确实不是想要安装这个包因为我已经有桌面管理器:Gnome(Ubuntu 上的默认设置)。

据我所知,digital ocean 上的指南似乎是最好的,除了他们的 xstartup 是针对 xfce 的。我尝试按照说明操作,并用 gnome-session 替换 xfce,但只看到灰屏,无法与任何东西交互。

谁能帮助我解决这个问题或者给我指明正确的方向。

谢谢!

编辑:这是我的 xstartup:

# Config requires following packages:
# gnome-panel nautilus gnome-terminal metacity
#


export XKL_XMODMAP_DISABLE=1

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

gnome-session &
gnome-panel &

metacity &
gnome-terminal &

我使用以下命令在远程机器上通过 ssh 运行 vncserver:

$ vncserver

New 'X' desktop is media-server:1

Starting applications specified in /home/kevin/.vnc/xstartup
Log file is /home/kevin/.vnc/media-server:1.log

以下是日志:

04/02/21 10:40:28 Xvnc version TightVNC-1.3.10
04/02/21 10:40:28 Copyright (C) 2000-2009 TightVNC Group
04/02/21 10:40:28 Copyright (C) 1999 AT&T Laboratories Cambridge
04/02/21 10:40:28 All Rights Reserved.
04/02/21 10:40:28 See http://www.tightvnc.com/ for information on TightVNC
04/02/21 10:40:28 Desktop name 'X' (media-server:1)
04/02/21 10:40:28 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
04/02/21 10:40:28 Listening for VNC connections on TCP port 5901
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring

(gnome-panel:123980): gnome-panel-WARNING **: 10:40:30.098: Failed to acquire bus name!
metacity-Message: 10:40:30.227: could not find XKB extension.

(metacity:123981): metacity-WARNING **: 10:40:30.232: Failed to create compositor: Missing composite extension required for compositing
Xlib:  extension "X-Resource" missing on display ":1".

这是我尝试查看桌面时得到的结果: VNC 连接

答案1

当然可以!没有什么神奇的,虚拟显示器、桌面管理器和 VNC 服务器是必须正确组合在一起的 3 个部分。

VNC 服务器设置包括 3 个主要步骤:

  1. Xvfb - 启动虚拟显示器(不仅可用于 GUI 桌面,还可直接在其中运行游戏或 Chromium 等应用程序)
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 1024x768x16
  1. $DISPLAY 连接到同一个 Xvfb并在那里渲染桌面的GUI 会话

对于 XFCE 使用这个

sudo apt install xfce4 xfce4-goodies
xfce4-session # start xfce4

对于默认的 gnome用这个:

gnome-shell --replace # start ubuntu gnome 
  1. xvnc 服务器(tightvncserver 或 x11vnc)。x11vnc 更好,因为复制粘贴功能开箱即用,Chromium 应用程序也可以使用。tightvncserver 无法运行 Chromium 应用程序。VNC 服务器还连接到外部客户端 $DISPLAY 并提供对外部客户端的访问。不要以 sudo 身份运行!
sudo apt install x11vnc

密码设置

x11vnc -storepasswd
x11vnc -display $DISPLAY -forever -loop -noxdamage -repeat -rfbauth /home/ubuntu/.vnc/passwd -rfbport 5900 -shared

添加到 crontab 中crontab -e的最终脚本@reboot /path/to/script.sh

&使用语法在后台运行脚本

对于XFCE

#!/bin/bash
source /home/ubuntu/.bashrc
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 2048x1536x24 &
xfce4-session &
x11vnc -display $DISPLAY -forever -loop -noxdamage -repeat -rfbauth /home/ubuntu/.vnc/passwd -rfbport 5900 -shared &

对于默认的 gnome

#!/bin/bash
source /home/ubuntu/.bashrc
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 2048x1536x24 &
gnome-shell --replace &
x11vnc -display $DISPLAY -forever -loop -noxdamage -repeat -rfbauth /home/ubuntu/.vnc/passwd -rfbport 5900 -shared &

相关内容