VNC(Virtual Network Computing),是一种使用RFB协议的屏幕画面分享及远程操作软件。VNC与操作系统无关,因此能够跨平台使用。例如在Windows系统利用VNC Viewer客户端远程操纵装有VNC Server的Linux服务器。本文的Linux环境是Ubuntu16.04。
Windows VNC Viewer 客户端下载
点这里下载合适版本的客户端软件。
Linux VNC Server安装(以Ubuntu16.04为例)
1.安装Ubuntu桌面,主要是gnome的各种包
sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal gnome-core
2.安装vnc4server
sudo apt-get install vnc4server
3.修改VNC Server的配置文件
配置文件的存放位置是/usr/bin/vncserver
先进行备份
sudo cp /usr/bin/vncserver /usr/bin/vncserver.bkp
执行以下命令打开
sudo vim /usr/bin/vncserver
开启服务器,首次开启时会要求设置密码。
vncserver
成功启动服务器将生成/root/.vnc/xstartup文件。由于VNC默认使用5900端口,每启动一次服务器,将新增一条可用连接。第一次启动被分配的端口号为5901。
使用以下命令查看VNC Server占用的端口号
netstat -tulpn
如果启用了防火墙,则需要开放相应的入站通信端口。
# allow SSH
sudo ufw allow OpenSSH
# allow series of port 5901 - 5910
sudo ufw allow 5901:5910/tcp
#To check firewall rules
sudo ufw status verbose
打开VNC Viewer客户端进行连接
这里以5902端口演示。
如果连接成功之后,出现如下灰屏并且屏幕下方有如下图的字样。可能是因为缺少了相应的图形化组件、字体等。
参考以下解决方案
尝试查看日志文件
cat /home/xxx/.vnc/*.log # xxx是自己的用户名
修改~/.vnc/xstartup文件为
#!/bin/sh
# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
unset DBUS_SESSION_BUS_ADDRESS
gnome-panel &
gnmoe-settings-daemon &
metacity &
nautilus &
gnome-terminal &
增加字体依赖
mkdir /usr/X11R6/lib/X11/
cd /usr/X11R6/lib/X11
ln -s /usr/share/fonts/X11/ fonts
之后重启VNC Server试试。
参考资料
维基百科——VNC
Installation of VNC server on Ubuntu
CSDN博客:VNC安装灰屏情况处理
gnome解决中文乱码