前言

linux操作系统使用过程中,一般都是最小化安装,纯命令无桌面操作,有时候工作需要或者便捷操作,可以对linux进行开启桌面操作使用。

前提

如果是最小化安装,则不能直接开启桌面模式,如果要开启桌面模式,安装系统的时候一定要选择桌面模式安装。

基础环境

操作系统:rhel7.5
操作用户:root
vnc客户端工具:tightvnc、VNC-Viewer 等

安装步骤

一、安装服务器端vnc
  1. yum安装:
    如果电脑上配置有yum源,可以直接执行下面命令安装即可:
yum install -y vnc*
  1. 安装包安装:
    如果服务器上没有yum源,也可以使用安装包安装。
    下载好tigervnc-server-1.8.0-5.el7.x86_64.rpm安装包(安装包版本尽量和iso镜像贴合,或者直接从iso镜像里拿),上传到服务器,执行安装命令:
rpm -ivh tigervnc-server-1.8.0-5.el7.x86_64.rpm

安装完成后可以使用rpm -qa |grep vnc来进行检查安装结果,安装结果需要包含以下两项:

tigervnc-server-1.8.0-5.el7.x86_64
 tigervnc-1.8.0-5.el7.x86_64
二、配置

创建配置文件:
对vnc配置文件复制,修改名称,并对配置文件进行修改

cd /lib/systemd/system
cp vncserver@.service vncserver@:1.service
vi vncserver@:1.service

需要对以下配置文件段落内容进行修改,修改完成后退出保存。

麒麟系统安装OpenStack 麒麟系统安装vnc_linux

  1. 如果是使用root用户,则修改成:
1.  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 || :’
  1. 如果是使用普通用户(oracle为例),则修改成:
1.  ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
 ExecStart=/usr/sbin/runuser -l oracle -c “/usr/bin/vncserver %i”
 PIDFile=/home/oracle/.vnc/%H%i.pid
 ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
三、启动vnc

执行命令启动vnc,会提示输入启动vnc密码,根据提示输入确定好密码即可。

vncserver
四、客户端vnc桌面访问

本地安装vnc桌面访问工具,可使用tightvnc、VNC-Viewer等工具自行选择。
vnc工具本地安装很简单,不做描述。
安装完成后,以tightvnc为例:

  1. 访问服务器:

根据格式输入服务器IP地址:1,点击connect连接。

麒麟系统安装OpenStack 麒麟系统安装vnc_linux_02


2. 输入vnc密码:

.

麒麟系统安装OpenStack 麒麟系统安装vnc_麒麟系统安装OpenStack_03


3. 连接服务器:

访问到服务器,按住鼠标往上拖,输入root用户密码即可进入桌面。

注意点:如果此处无法连接上服务器vnc桌面,请查看防火墙设置,需要关闭防火墙,或者单独开放vnc服务的端口。

麒麟系统安装OpenStack 麒麟系统安装vnc_麒麟系统安装OpenStack_04


麒麟系统安装OpenStack 麒麟系统安装vnc_vnc_05


麒麟系统安装OpenStack 麒麟系统安装vnc_vnc_06

知识点

vnc桌面可开启多个,根据文件名称定义(vncserver@:1.service,vncserver@:2.service等可多个)。
同时各桌面进程有各自的端口,vnc服务端口为5900,桌面进程1端口5901、桌面进程2端口5902以此类推。

操作指令

启动

systemctl start vncserver@:1.service
 vncserver


查看服务进程

vncserver -list


关闭服务

vncserver -kill :1(也可以根据端口查询pid去关闭)
 vncserver -kill :2