Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功能。     首先,系统需要有图形界面,可以在安装系统的时候一起安装gnome,或者后面再安装也行,下面有安装方法。


**环境: **

  • Centos7.2 
  • gnome桌面

GNOME 桌面

# 列出的组列表里有GNOME Desktop。安装之
yum grouplist
yum groupinstall -y "GNOME Desktop"

# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target  //设置成图形模式

# 如果要换回来
systemctl set-default multi-user.target  //设置成命令模式

#然后重启即可,或者startx开启图形界面。

   

报错信息:

Transaction check error:
  file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch
Error Summary
-------------

解决方法:

该问题是由于文件fwupdate-efi 同grub2-common冲突所致,这里需要将该包通过yum update grub2-common命令进行更新。

[root@ops ~]# yum update grub2-common

vnc server

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=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

#对于普通用户,加入用户名为:dev #下面举例进行设置: 首先一样复制一个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

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l dev -c "/usr/bin/vncserver %i"
PIDFile=/home/dev/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[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

每个不用的系统用户,设置密码时,需要切换到该用户下,执行此命令 #如: 切换到Amos用户 < dev@localhost:~ ># su dev
再执行上vncpasswd设置密码 < dev@localhost:~ >$ vncpasswd

4. 启动服务,开通端口

systemctl start vncserver@:1
systemctl start vncserver@:2
systemctl enable vncserver@:1    # 设为开机启动
systemctl enable vncserver@:2
#查看服务监听的端口
netstat -lnpt|grep Xvnc

#根据监听的端口,进行端口开放,每个用户会对应一个端口,第一个用户默认为5901端口,第二个用户默认为5902端口。
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --add-port=5902/tcp --permanent
firewall-cmd --reload

#停止并禁用防火墙;
systemctl stop firewalld.service
systemctl disable firewalld.service

5. VNC服务到此已经安装完成了。

vnc客户端连接

vnc官网下载vnc viewer,用于连接vnc server 。

官方下载地址:https://www.realvnc.com/en/connect/download/viewer/

vnc viewer 配置:

ok,到此即可正常的进行远程桌面连接了。