最近由于想通过VNC进行些操作,所以需要用到VNC软件,网上看到tigerVNC的设置方法,参考了挺多,但总是在viewer端出现各种问题,总结下来还是因为没有仔细看文档,想通过简单的抄袭。现在看来gnome桌面用起来还是最舒服,以此为例,记录一下过程和碰到的问题

Ubuntu 20.04 TigerVNC 设置服务端 gnome桌面为例

  1. 如果没有安装桌面,需安装桌面
sudo apt-get update 
sudo apt-get install ubuntu-desktop
  1. 安装tigerVNC
sudo apt-get install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

我认为此处安装tigervnc-viewer主要是为了在本机测试,如不需要测试,无需安装。

  1. 运行vncserver,看是否能正常启动vncserver
vncserver

正常应该能看到提示输入密码,确认密码及是否需要设置只读用户,一般我选不创建只读用户。

  1. 验证过能正常启动,可以关闭刚才的测试开启的vnc服务
vncserver -kill :1

稍微设置一下X服务启动配置

nano .vnc/xstartup

并在文件中输入如下内容

#!/bin/sh
MODE="GNOME"
unset DBUS_SESSION_BUS_ADDRESS
if [ -e "$HOME/.Xresources" ]
then
    xrdb "$HOME/.Xresources"
fi

if [ "GNOME" = "$MODE" ]
then
    if which gnome-session > /dev/null
    then
        gnome-session --session=ubuntu &
    else
        MODE=""
    fi
fi

保存后退出,

vncserver :1 -localhost no -geometry 1280x800 -depth 32

上述命令中
:1 代表 端口 5901,
-localhost no 代表如果没有使用安全连接的情况下,不仅仅侦听回环地址,也侦听其他网络接口的请求。默认情况,该选项为yes, 即在没有使用安全协议进行连接时,vncserver见拒绝为除了回环以外的网络接口服务,所一如果需要从其他PC即访问,则该选项较为简单;
-geometry 1200x800 设定分辨率
-depth 32 用来设定位深

过程中碰到的错误

连接错误解决
错误原因: unable connect to socket Connection refused (111)
或者: 由于目标计算机积极拒绝,无法连接。
如上 加上 -locallhost no

主要原因,没有仔细阅读man手册,希望能对碰到此问题的又不愿意读手册的朋友提供帮助。

viewer端的软件比较多,我使用的是tigervncviewer (Linux) 和 tightvncviewer (windows ),使用都还算方便,无需设置。

参考: https://zhuanlan.zhihu.com/p/205452571

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐