Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功能。
首先,系统需要有图形界面,可以在安装系统的时候一起安装gnome,或者后面再安装也行,下面有安装方法。
环境: Centos7 gnome桌面
前提: 需要用gnome桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面。
yum grouplist
# 列出的组列表里有GNOME Desktop。安装之
yum groupinstall -y "GNOME Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target //设置成图形模式
# 如果要换回来
systemctl set-default multi-user.target //设置成命令模式
# 然后重启即可,或者startx开启图形界面。第一次启动可能时间会长一点,耐心等待即可。
1. 安装vnc server
yum install tigervnc-server -y
2. 修改配置文件
#复制一个服务设置的模板
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
#修改此服务配置
#以下为root用户的配置,每一个用户,都需要单独设置一个监听服务。且配置不同
vim /etc/systemd/system/vncserver@:1.service
#配置内容:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
# 对于普通用户,加入用户名为:Amos
# 下面举例进行设置: 首先一样复制一个server配置。改名为vncserver@:2.service
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# 然后进行修改
vim /etc/systemd/system/vncserver@:2.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/Amos/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
3. 设置vnc密码,vnc的密码跟系统的用户密码不一样,是使用vnc viewer登陆时需要使用的密码。
[root@localhost ~]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
# 这里不添加只读账号密码
# 每个不用的系统用户,设置密码时,需要切换到该用户下,执行此命令
# 如:su Amos 切换到Amos用户再执行上vncpasswd设置密码
4. 重置配置,启动服务,开通端口
systemctl daemon-reload
systemctl start vncserver@:1
systemctl enable vncserver@:1 # 设为开机启动
# 查看服务监听的端口
netstat -lnpt|grep Xvnc
# 根据监听的端口,进行端口开放,每个用户会对应一个端口,第一个用户默认为5901端口。我这里是root用户
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
5. VNC服务到此已经安装完成了。然后需要使用vnc客户端进行连接。
去vnc官网下载vnc viewer(地址),用于连接vnc server ,本身是开源的,放心使用。