原文:https://www.cnblogs.com/mr-amazing/p/8610246.html
前提条件
您已经在本地安装了VNC连接工具,比如 TightVNC Viewer。
在CentOS 6.8上安装VNC Server
这部分以在CentOS 6.8上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。
1.远程连接Linux实例。
2.运行以下命令安装GNOME桌面。
yum groupinstall GNOME Desktop Environment -y
安装需要较长时间,请您耐心等待。
3.运行以下命令安装VNC Server。
yum install -y tigervnc-server
4.运行以下命令将VNC Server配置为开机自动启动。
chkconfig --level 345 vncserver on
5.运行以下命令启动VNC Server,并按界面提示设置VNC连接密码。
vncserver
**注意:**
首次启动会要求设置密码,以后您可以运行vncpasswd命令修改连接密码。
6.按以下步骤修改 /root/.vnc/xstartup 文件,配置使用GNOME桌面:
1.运行命令 vim /root/.vnc/xstartup。
2.按 i 键进入编辑模式。
3.在文件最后一行,注释掉 twm &,并添加一行 gnome-session &。
4.按 Esc 键退出编辑模式,再输入 :wq 保存并退出。
7.按以下步骤在 /etc/sysconfig/vncservers 文件中配置监听端口和环境参数:
1.运行命令 vim /etc/sysconfig/vncservers。
2.按 i 键进入编辑模式。
3.添加以下内容:
1.VNCSERVERS="1:root"
2.VNCSERVERARGS[1]="-geometry 1200x800"
4.按 Esc 键退出编辑模式,再输入 :wq 保存并退出。
8.(可选)运行不同的命令完成其他设置:
运行以下命令允许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服务
9.运行以下命令重启VNC Server,使配置生效。
service vncserver restart
10.运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
由返回结果可知,服务使用了TCP 5901端口。
11.(可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。
举例: 以iptables为例,您需要做如下设置:
1.iptables -A INPUT -p tcp --dport 5901 -j ACCEPT #放行TCP 5901端口
2.service iptables save # 保存规则
12.登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。
13.在本地机器的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
在CentOS 7.2上安装 VNC Server
这部分以在CentOS 7.2上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。
1.远程连接Linux实例。
2.运行以下命令安装GNOME桌面。
1.yum groupinstall GNOME Desktop Environment -y
安装需要较长时间。
3.运行以下命令安装VNC Server。
1.yum install tigervnc-server -y
4.按以下步骤修改VNC Server配置文件,设置用户名(如本示例中的root):
-
运行命令vim /lib/systemd/system/vncserver@.service。
-
按i键进入编辑模式。
-
将User=、ExecStart和PIDFile的内容替换为以下内容。
1.User=root
2.# Clean any existing files in /tmp/.X11-unix environment
3.ExecStartPre=-/usr/bin/vncserver -kill %i
4.ExecStart=/sbin/runuser -l root -c “/usr/bin/vncserver %i”
5.PIDFile=/root/.vnc/%H%i.pid -
按Esc键退出编辑模式,再输入:wq保存并退出。
5.运行以下命令,将 /lib/systemd/system/vncserver@.service 改为 /lib/systemd/system/vncserver@:1.service。
- 1.mv /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
6.运行以下命令重启systemd。
- systemctl daemon-reload
7.运行命令 vncpasswd,并按界面提示设置VNC Server连接密码。
8.(可选)ECS不允许开启SELinux服务和NetworkManager服务。如果您开启了这些服务,运行以下命令修改配置。
- vi /etc/selinux/config # 检查SELinux服务。如果SELINUX对应的值不是disabled,必须改为disabled。
- chkconfig --del NetworkManager # 关闭NetworkManager服务
9.运行以下命令设置开机启动VNC Server。
- systemctl enable vncserver@:1.service
10.运行以下命令启动VNC Server。
- systemctl start vncserver@:1.service
11.运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
由返回结果可知,服务使用了TCP 5901端口。
12.(可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。
举例: 以firewalld为例,您需要做如下设置:
1.firewall-cmd --permanent --add-service vnc-server #允许VNC访问
2.systemctl restart firewalld.service # 重启firewalld
13.登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。
14.在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
在Ubuntu 14.04上安装VNC Server
这部分以在Ubuntu 14.04上安装vnc4server和GNOME为例,说明如何安装配置VNC Server。
-
远程连接Linux实例。
-
运行命令 apt-get update 更新源。
-
运行以下命令安装vnc4server。 apt-get install vnc4server -y
-
运行以下命令开启VNC服务并按界面提示设置连接密码。 vnc4server
注意:
首次启动会要求设置密码,以后您可以使用vncpasswd修改连接密码。
如果返回结果里出现类似下图所示的New ‘:1 (root)’ desktop is :1 (代表主机名),表示vnc4server启动成功。程序会自动在当前用户(本示例中为root)主目录下产生一个.vnc目录。
5.运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
由返回结果可知,服务使用了TCP 5901端口。
6.运行以下命令安装GNOME桌面环境。
apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
安装需要较长时间,请您耐心等待。
7.(可选)运行以下命令备份原有xstartup文件。
cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
8.按以下步骤修改vnc4server启动文件。
-
1.运行以下命令打开文件。
vim ~/.vnc/xstartup -
2.按i键进入编辑模式。
-
3.将文件内容替换为以下内容。
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -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" &
#x-window-manager &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
- 4.按Esc键退出编辑模式,再输入:wq保存并退出。
9.依次运行以下命令生成新的会话。
vncserver -kill :1 #杀掉原来的桌面进程(假设桌面号为:1)
vncserver :1 # 生成新的会话
10.登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。
在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。