VNC图形化远程连接Ubuntu服务器

我的Ubuntu版本22.04.3,带有gnome图形桌面。配置过程参考了几篇博客,大致流程如下。因为是配置完之后才整理的流程,可能有疏漏。

Ubuntu服务器上的配置

1.先在服务器上下载vnc server(任何一种版本均可)

vncserver有很多不同的发行版本,例如tightvnc、tigervnc等,随便安装一种。

(1)安装 VNC Server:

bash 复制代码
sudo apt-get update
sudo apt-get install tightvncserver

(2)设置 VNC Server 密码:

bash 复制代码
vncserver

在第一次运行 VNC Server 时,会提示您设置 VNC Server 的连接密码。密码必须包含至少6个字符,长度不超过8个字符。

原文链接:点击此处

2.在服务器上进行如下配置:

创建 VNC Server 配置文件:

bash 复制代码
mkdir ~/.vnc
touch ~/.vnc/xstartup

添加权限:

bash 复制代码
chmod +x ~/.vnc/xstartup

修改startup配置

bash 复制代码
sudo vi ~/.vnc/xstartup

在这个文件中的内容修改为如下配置:

bash 复制代码
#!/bin/bash
export $(dbus-launch)  
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
 
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
 
# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &

这部分的配置内容摘自LBJ的One Piece的博客

如果配置内容不对,可能会导致后续连接时,虽然连接成功,但无法显示服务器的图形界面,只显示灰色背景的问题。

bash 复制代码
 1 #!/bin/sh
 2 
 3 unset SESSION_MANAGER
 4 unset DBUS_SESSION_BUS_ADDRESS
 5 export XKL_XMODMAP_DISABLE=1
 6 export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
 7 export XDG_MENU_PREFIX="gnome-flashback-"
 8 
 9 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
10 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
11 
12 vncconfig -iconic &
13 gnome-terminal &
14 nautilus &
15 gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

来自另一个博客的配置方法似乎更好一些,前一个配置方法好像不能显示出命令终端。不过这两种配置不知道为什么都不能显示Ubuntu桌面,只能显示文件夹里的文件,不过暂时也够用了。

3.防火墙设置

vnc用的是5900-5910端口,具体使用哪个是自己决定的,我用的是5902端口。于是为5902端口开放防火墙:

bash 复制代码
sudo ufw allow 5902

4.开启vncserver

bash 复制代码
vncserver :2

表示开启服务器端的vncserver,且端口号为5902

5.关闭vncserver

bash 复制代码
vncserver -kill :2 

5和4结合可以用来重启vncserver,特别是在改变了vnc配置之后,可以重启一下vncserver

Windows端的配置

windows端运行的是vnc client,而vncViewer软件就实现了vnc client的功能,官网

https://www.realvnc.com/en/connect/download/viewer/

或者找第三方网站下载也行。下载之后界面如下:

在这输入服务器的ip:端口号然后按提示输入之前设置的vnc密码就可以连接上了。例如192.168.1.1:5902.

相关推荐
左手厨刀右手茼蒿1 小时前
数据仓库的架构演进:从MySQL到ClickHouse到数据湖的工程化实践
linux·嵌入式·系统内核
左手厨刀右手茼蒿2 小时前
创业团队技术选型:别用大厂架构解决小团队问题
linux·嵌入式·系统内核
明志数科2 小时前
宇树科技IPO背后的产业逻辑:人形机器人从“讲故事“到“交数据“
运维·服务器·数据库
Data_Journal2 小时前
什么是 CAPTCHA,它是如何工作的?
java·大数据·服务器·前端·数据库
bosins2 小时前
将 Hyper-V 上的 Ubuntu 虚拟机内容迁移到 WSL (Windows Subsystem for Linux) 中
linux·windows·ubuntu
AC赳赳老秦3 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
我星期八休息3 小时前
扩展—DNS与ICMP
linux·服务器·网络
筝筝ba3 小时前
linux 查询当前登录的用户数量
linux·服务器·网络
woniu_buhui_fei4 小时前
日常工作常用的命令(Linux+JDK)
linux·运维·服务器
coward914 小时前
全志T507 (sun50iw9p1)sunxi pinctrl 子系统实现分析
linux·嵌入式硬件