Linux实例安装VNC Server实现图形化访问
原文网址:
https://help.aliyun.com/knowledge_detail/41530.html?spm=5176.8208715.110.d41530.4c184ae8mlC7Yy
https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.8208715.110.11.4c184ae8mlC7Yy
前提条件
您已经在本地安装了VNC连接工具,比如 TightVNC Viewer。
在CentOS 6.8上安装VNC Server
这部分以在CentOS 6.8上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。
-
运行以下命令安装GNOME桌面。
yum groupinstall GNOME Desktop Environment -y
安装需要较长时间,请您耐心等待。
-
运行以下命令安装VNC Server。
yum install -y tigervnc-server
-
运行以下命令将VNC Server配置为开机自动启动。
chkconfig --level 345 vncserver on
-
运行以下命令启动VNC Server,并按界面提示设置VNC连接密码。
vncserver
注意:
首次启动会要求设置密码,以后您可以运行vncpasswd
命令修改连接密码。 -
按以下步骤修改 /root/.vnc/xstartup 文件,配置使用GNOME桌面:
- 运行命令
vim /root/.vnc/xstartup
。 - 按
i
键进入编辑模式。 - 在文件最后一行,注释掉
twm &
,并添加一行gnome-session &
。 - 按
Esc
键退出编辑模式,再输入:wq
保存并退出。
- 运行命令
-
按以下步骤在 /etc/sysconfig/vncservers 文件中配置监听端口和环境参数:
- 运行命令
vim /etc/sysconfig/vncservers
。 - 按
i
键进入编辑模式。 - 添加以下内容:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1200x800"
- 按
Esc
键退出编辑模式,再输入:wq
保存并退出。
- 运行命令
-
(可选)运行不同的命令完成其他设置:
-
运行以下命令允许root账号访问图形界面。
sed -i 's/.!= root./#&/' /etc/pam.d/gdm
-
如果报以下错误,运行命令
dbus-uuidgen >/var/lib/dbus/machine-id
生成新的machine-id。D-Bus library appears to be incorrectly set up; failed to read
machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
-
ECS不允许开启SELinux服务和NetworkManager服务。如果您开启了这些服务,运行以下命令修改配置。
vi /etc/selinux/config # 检查SELinux服务。如果SELINUX对应的值不是disabled,必须改为disabled。
chkconfig --del NetworkManager # 关闭NetworkManager服务
-
-
运行以下命令重启VNC Server,使配置生效。
service vncserver restart
-
运行命令
ps -ef | grep vnc
确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。由返回结果可知,服务使用了TCP 5901端口。
-
(可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。
举例:
以iptables为例,您需要做如下设置:iptables -A INPUT -p tcp --dport 5901 -j ACCEPT #放行TCP 5901端口
service iptables save
-
在本地机器的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
在CentOS 7.2上安装 VNC Server
这部分以在CentOS 7.2上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。
-
运行以下命令安装GNOME桌面。
yum groupinstall GNOME Desktop Environment -y
安装需要较长时间。
-
运行以下命令安装VNC Server。
yum install tigervnc-server -y
-
按以下步骤修改VNC Server配置文件,设置用户名(如本示例中的root):
- 运行命令
vim /lib/systemd/system/vncserver@.service
。 - 按
i
键进入编辑模式。 - 将
User=<User>
、ExecStart
和PIDFile
的内容替换为以下内容。User=root
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
- 按
Esc
键退出编辑模式,再输入:wq
保存并退出。
- 运行命令
-
运行以下命令,将 /lib/systemd/system/vncserver@.service 改为 /lib/systemd/system/vncserver@:1.service。
mv /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
-
运行以下命令重启systemd。
systemctl daemon-reload
-
运行命令
vncpasswd
,并按界面提示设置VNC Server连接密码。 -
(可选)ECS不允许开启SELinux服务和NetworkManager服务。如果您开启了这些服务,运行以下命令修改配置。
vi /etc/selinux/config # 检查SELinux服务。如果SELINUX对应的值不是disabled,必须改为disabled。
chkconfig --del NetworkManager # 关闭NetworkManager服务
-
运行以下命令设置开机启动VNC Server。
systemctl enable vncserver@:1.service
-
运行以下命令启动VNC Server。
systemctl start vncserver@:1.service
-
运行命令
ps -ef | grep vnc
确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。由返回结果可知,服务使用了TCP 5901端口。
-
(可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。
举例:
以firewalld为例,您需要做如下设置:firewall-cmd --permanent --add-service vnc-server #允许VNC访问
systemctl restart firewalld.service # 重启firewalld
-
在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
在Ubuntu 14.04上安装VNC Server
这部分以在Ubuntu 14.04上安装vnc4server和GNOME为例,说明如何安装配置VNC Server。
-
运行命令
apt-get update
更新源。 -
运行以下命令安装vnc4server。
apt-get install vnc4server -y
-
运行以下命令开启VNC服务并按界面提示设置连接密码。
vnc4server
注意:
首次启动会要求设置密码,以后您可以使用vncpasswd
修改连接密码。如果返回结果里出现类似下图所示的
New ':1 (root)' desktop is :1 (代表主机名)
,表示vnc4server启动成功。程序会自动在当前用户(本示例中为root)主目录下产生一个.vnc
目录。
-
运行命令
ps -ef | grep vnc
确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。由返回结果可知,服务使用了TCP 5901端口。
-
运行以下命令安装GNOME桌面环境。
apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
安装需要较长时间,请您耐心等待。
-
(可选)运行以下命令备份原有xstartup文件。
cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
-
按以下步骤修改vnc4server启动文件。
- 运行以下命令打开文件。
vim ~/.vnc/xstartup
- 按
i
键进入编辑模式。 - 将文件内容替换为以下内容。
[ -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-panel
gnome-settings-daemon
metacity
nautilus
gnome-terminal
- 按
Esc
键退出编辑模式,再输入:wq
保存并退出。
- 运行以下命令打开文件。
-
依次运行以下命令生成新的会话。
vncserver -kill :1 #杀掉原来的桌面进程(假设桌面号为:1)
vncserver :1 # 生成新的会话
-
在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。