VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC 是在基于 UNIX和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和Windows和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

Linux  7.X下安装部署VNC,首先安装桌面环境(注:已有桌面环境,次步骤省略不做):

1、安装软件:(使用本地yum源安装即可)
[root@localhost ~]# yum groupinstall  "X Window System"

安装GNOME桌面环境:
[root@localhost ~]# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

2、获取当前系统启动模式
[root@localhost ~]# systemctl get-default
multi-user.target         //命令行模式

3、查看配置文件
[root@localhost ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3           //命令行模式
# graphical.target: analogous to runlevel 5           //图形界面模式
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

4、桌面环境与命令行模式环境互相切换:
方法一:(需要重启)

由命令行模式更改为图形界面模式:
(命令行,runlevel3.target -> multi-user.target,runlevel3.target为multi-user.target软链接文件。)
(图形界面 ,runlevel5.target -> graphical.target,runlevel5.target为graphical.target软链接文件。)

[root@localhost ~]# systemctl set-default graphical.target
或:
[root@localhost ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
[root@localhost ~]# systemctl get-default
graphical.target

由图形界面模式更改为命令行模式
[root@localhost ~]# systemctl set-default multi-user.target
或:
[root@localhost ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
[root@localhost ~]# systemctl get-default
multi-user.target

方法二(临时生效):

切换到桌面图形界面环境:
[root@localhost ~]# startx
或:
[root@localhost ~]# systemctl isolate graphical.target
或:
[root@localhost ~]# init 5     //不建议这样操作,容易卡住

切换到命令行模式:
[root@localhost ~]# systemctl isolate multi-user.target
或:
[root@localhost ~]# init 3

安装VNC

1、关闭防火墙
centos的防火墙是firewalld,关闭防火墙的命令
[root@localhost ~]# systemctl stop firewalld.service         #停止firewall
[root@localhost ~]# systemctl disable firewalld.service         #禁止firewall开机启动
[root@localhost ~]# vim /etc/selinux/config
修改将“SELINUX=enforcing”更改为“SELINUX=disabled”,关闭SELINUX
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce

2、用本地yun源安装软件包:
[root@localhost ~]# yum install tigervnc-server tigervnc vnc vnc-server
[root@localhost ~]# rpm -qa|grep tigervnc-server
tigervnc-server-1.8.0-13.el7.x86_64
tigervnc-server-minimal-1.8.0-13.el7.x86_64

3、配置vnc连接
[root@localhost ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

若配置多个用户如下,以此类推:
[root@localhost ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service

[root@localhost ~]# vim /etc/systemd/system/vncserver\@\:1.service
修改/etc/systemd/system/vncserver@:1.service
找到这二行
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

这里直接用root 用户登录,所以我替换成
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

如果是其他用户的话比如test替换如下
ExecStart=/sbin/runuser -l test -c "/usr/bin/vncserver %i"
PIDFile=/home/test/.vnc/%H%i.pid

由于直接root用户登录,所以配置如下:
[root@localhost ~]# egrep -v "^#|^$" /etc/systemd/system/vncserver\@\:1.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 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

为VNC设密码(比如密码设置为123456,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改
[root@localhost ~]# vncpasswd
Password:
Verify: //验证核实密码
Would you like to enter a view-only password (y/n)? n        //注意表示"是否输入一个只能查看的密码,选择否",否则连接vnc会出现黑屏
A view-only password is not used

[root@localhost ~]# mkdir /etc/libvirt
[root@localhost ~]# vim /etc/libvirt/qemu.conf
vnc_password = "123456"
vnc_listen = "0.0.0.0"

4、重加载 systemd
[root@localhost ~]# systemctl daemon-reload

5、启动vnc
[root@localhost ~]# systemctl enable vncserver@:1.service        //设置开机自启动
[root@localhost ~]# systemctl start vncserver@:1.service
[root@localhost ~]# netstat -lnutp|grep Xvnc

注意,此处关闭了防火墙
如果防火墙开了,需要开通一下规则:
[root@localhost ~]# firewall-cmd --permanent --add-service vnc-server
[root@localhost ~]# systemctl restart firewalld.service
如果是iptable,则需要在/etc/sysconfig/iptables里添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

6、关闭vnc连接
[root@localhost ~]# /usr/bin/vncserver -kill :1

7、测试连接

也可以在本地windows机器上安装vnc viewer,远程访问
在windows下安装vnc客户端,
如图:输入VNC密码即可登录。

8、正确的启停VNC:

启动:
[root@localhost ~]# systemctl start vncserver@:1.service
[root@localhost ~]# systemctl start vncserver@:2.service

注意:若vncserver@:1.service为root用户,vncserver@:2.service为普通用户,启动普通用户命令为systemctl start vncserver@:2.service,若用vncserver :2命令启动,默认是启动root用户的窗口2,而不是普通用户。

若只有一个vncserver@:1.service,没有vncserver@:2.service,启动可如下启动:
[root@localhost ~]# vncserver :1         //启窗口1
[root@localhost ~]# vncserver :2        //启窗口2

停止VNC:
[root@localhost ~]# vncserver -kill :1
[root@localhost ~]# vncserver -kill :2
Killing Xvnc process ID 14795

Linux CentOS 7.X下安装部署VNC相关推荐

  1. linux命令行安装vnc_Linux Centos7.x下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

  2. centos m4安装linux,Centos Docker环境下安装Dcm4che归档服务

    本文实现了搭建一个最小的基于Dcm4che+Docker的归档服务,能够实现影像DICOM的归档,调阅,转发功能,其搭建参考于GitHub 开源项目说明:dcm4che/dcm4chee-arc-li ...

  3. linux6.5安装oracle,linux [CentOS 6.5]下安装oracle

    一,安装oracle依赖包 # yum install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf el ...

  4. 阿里云linux centos 7.4下安装mongodb 3.4

    目录 1.下载安装 2.启动运行 1.下载安装 官网下载安装介质:https://www.mongodb.com/download-center,选择适当的版本,这里以linux版本为例 解压到系统某 ...

  5. centos linux asp,CentOS 7.4 下 如何部署 AspNetCore 结合 consul

    原标题:CentOS 7.4 下 如何部署 AspNetCore 结合 consul 上篇我们讲到consul的概念,以及在WIN下如何使用: 在Windows 下如何使用 AspNetCore Ap ...

  6. centos 启动一个redis_linux环境下安装部署redis服务器

    概述 Redis是Remote Dictionary Server的缩写.他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库.今天把之前在生产环境下安装部署redis的 ...

  7. Linux Centos7.x下安装部署Jira和confluence以及破解方法详述

    https://www.cnblogs.com/easonscx/p/10629173.html Linux Centos7.x下安装部署Jira和confluence以及破解方法详述 简述 JIRA ...

  8. linux下安装部署ansible

    linux下安装部署ansible 介绍 Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中sal ...

  9. awstats linux日志分析,Linux环境下安装部署AWStats日志分析系统实例

    AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息. 此文章主要讲解如何在linux系统下安 ...

最新文章

  1. PanoNet3D:一种3D目标检测方法
  2. 宝塔linux计划任务ftp,宝塔面板定时备份网站及数据库至FTP存储空间图文教程
  3. 基于物理着色原理讲解之一
  4. mysql适配器_MySQL适配器PyMySQL详解
  5. 浏览器检测是否安装flash插件,若没有安装,则弹出安装提示
  6. C语言*在变量前 **p,C语言之指针*p++和*(p++)区别
  7. 【小知识】System.getProperties()获取系统环境变量
  8. Java学习笔记9-2——JavaWeb
  9. 潮流渐变色彩的UI插画素材,吸睛没毛病
  10. iscsi:IO操作流程(三)
  11. mysql多实例和主从区别_mysql多实例的安装以及主从复制配置
  12. .htaccess更改目录下的默认主页
  13. 为什么学习python、python的安装
  14. C++windows内核编程笔记day11 win32静态库和动态库的使用
  15. 贪吃蛇项目难还是2048难c语言,贪吃蛇大战2048好玩吗 贪吃蛇大战2048玩法简介
  16. 树莓派Ubuntu21.04,树莓派4b/4g,Python3.9.5搭建PyTorch
  17. 计算机基础键盘操作,电脑基础入门操作知识三:如何使用键盘盲打
  18. 什么是真正的格局?遇到烂人不计较,碰到破事别纠缠
  19. 【kindle资源】一本不得不读的投资经典《唐朝-手把手教你读财报》
  20. java计算机毕业设计自习室座位预约管理源码+mysql数据库+系统+lw文档+部署

热门文章

  1. lua 5.3开发调试环境搭建
  2. 数字孪生智慧城市运用于三维可视化管理系统
  3. R语言 处理缺失值数据
  4. 游戏实时排行榜C++实现
  5. 基于Javaweb的小项目(类似于qqzone) 5 ——登录功能实现
  6. 是谁在偷窥我们的网络隐私
  7. 求最大的四边形面积 + 叉乘的应用
  8. img 图片等比缩放
  9. 手机RSS资源地,各大网站RSS源地址订阅
  10. 音视频技术开发周刊 | 296