一.安装 GNOME-Desktop桌面环境
1、安装 GNOME
# yum -y groups install"GNOME Desktop"
2、完成安装后,使用如下命令启动桌面
# startx
首次启动,进行一些初始设置
选择系统语言
选择键盘类型
添加在线用户(可选)
开始使用
启动后的桌面环境,如下所示:
二、使用GNOME Shell
CentOS 7的默认GNOME桌面以经典模式开始,但如果您想使用GNOME Shell,请设置如下:
方式一:如果以 startx 命令启动GNOME,设置如下:
#echo"exec gnome-session">> ~/.xinitrc# startx
方式二:通过 systemctl set-default graphical.target 命令设置图形化界面登陆并重启系统。系统启动后
单击“登录”按钮旁边的按钮。
在列表中选择“GNOME”。(默认为GNOME Classic模式)
GNOME shell的启动后,如下所示:
三、安装 TigerVNC Server
1. 安装TigerVNC Server
建议使用非root用户安装,-y代表直接安装
sudo yum install-ytigervnc-server
2. 配置VNC Service
以下方法是新方法,以前是要配置/etc/sysconfig/vncservers,现在第一步是将默认提供的文件复制到/etc/systemd/system,命令如下
sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
注意上述命令参数重的“@:1”,可以将数字1换成30000内的任意数字,“5900+数字”即为程序的显示(监听)端口,如”@:1″表示监听5901端口。
接下来修改该配置文件
sudo vim /etc/systemd/system/vncserver@:1.service
将其中
# The vncserver service unit file
#
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/[email protected]
# 2. Replace
with the actual user name and edit vncserver # parameters in the wrapper script located in /usr/bin/vncserver_wrapper
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:
.service` #
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, you should
# limit connections to the local host and then tunnel from
# the machine you want to view VNC on (host A) to the machine
# whose VNC output you want to view (host B)
#
# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
#
# this will open a connection on port 590N of your hostA to hostB's port 590M
# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
# See the ssh man page for details on port forwarding)
#
# You can then point a VNC client on hostA at vncdisplay N of localhost and with
# the help of ssh, you end up seeing what hostB makes available on port 590M
#
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
#
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper root %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
保存文件并退出vim,重新加载配置
sudo systemctl daemon-reload
也可以设置成开机启动
sudo systemctl enable vncserver@:1.service
3 修改防火墙
首先判断firewalld是否启动,输入以下命令判断
sudo firewall-cmd --state
如果启动应该输出
running
如果是not running,执行下面命令
sudo systemctl start firewalld
添加端口号5901-5905
sudo firewall-cmd --permanent --zone=public --add-port=5901-5905/tcp
重新加载防火墙
sudo firewall-cmd --reload
可以使用下面命令查看端口号是否被加入
firewall-cmd --list-all-zones
5. 设置VNC密码
通过ssh,用oracle用户名登录到服务器,执行下面命令
vncserver
终端会提示你输入密码,如下
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/oracle/.Xauthority does not exist
New 'localhost.localdomain:1 (oracle)' desktop is localhost.localdomain:1
Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/localhost.localdomain:1.log
如果想修改密码,可以使用vncpasswd。现在已经有一个vnc服务在运行了,但我们需要使用刚刚配置的服务来启动,所以我们需要先杀死刚刚的vnc服务,使用下面命令。
vncserver -kill :1
接下来,重启我们配置的服务
sudo systemctl daemon-reload
sudo systemctl restart vncserver@:1.service
使用下面命令查看该服务是否正确运行
sudo systemctl status vncserver@:1.service -l
如果正确启动,输出应为
● vncserver@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2017-07-23 21:55:35 CST; 12h ago
Process: 8720 ExecStart=/usr/sbin/runuser -l oracle -c /usr/bin/vncserver %i -geometry 1280x720 (code=exited, status=0/SUCCESS)
Process: 8716 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 8744 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:2.service
‣ 8744 /usr/bin/Xvnc :2 -desktop 127.0.0.1:2 (oracle) -auth /home/oracle/.Xauthority -geometry 1280x720 -rfbwait 30000 -rfbauth /home/oracle/.vnc/passwd -rfbport 5902 -fp catalogue:/etc/X11/fontpath.d -pn
7月 23 21:55:32 127.0.0.1 systemd[1]: Starting Remote desktop service (VNC)...
7月 23 21:55:35 127.0.0.1 systemd[1]: Started Remote desktop service (VNC).
如果想配置多用户同时访问,需要将上面vncserver@:1.service,改为vncserver@:2.service,然后配置其中用户名,再按以上步骤走一遍就可以了
四、客户端连接
服务端配置完毕,接下来用客户端连接。
vnc是免费技术,许多客户端都支持该协议。本文采用App Store上免费的“Remote Desktop – VNC”软件进行连接,打开后软件界面如下:
在输入框填写服务器地址:vnc://ip:port,其中ip是服务器的ip或域名,port是监听的端口,例如5901。输入后按回车,弹出密码输入框,输入vncpasswd设置的密码。密码正确的话就可以看到服务器的图形桌面。
按回车键进入登录界面,输入登录用户名和密码进入系统。
接下来就可以做各种图形操作了。