这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器

我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。

VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。

一些 VNC 服务器的优点:

  • 远程的图形管理方式让工作变得简单方便。
  • 剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。
  • CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。
  • 只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。
  • 比 ssh 图形转发和 RDP 连接更可靠。

那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。

首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。

注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)

1. 安装 X-Window

首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。

  1. # yum check-update
  2. # yum groupinstall "X Window System"

installing x windows

  1. #yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

install gnome classic session

  1. ### 设置默认启动图形界面
  2. # unlink /etc/systemd/system/default.target
  3. # ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

configuring graphics

  1. # reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。

现在,我们要在服务器上安装 VNC 服务器了。

2. 安装 VNC 服务器

现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

  1. # yum install tigervnc-server -y

vnc server

3. 配置 VNC

然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@.service拷贝一份配置文件范例过来。

  1. # cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

copying vnc server configuration

接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1.service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

  1. ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
  2. PIDFile=/home/<USER>/.vnc/%H%i.pid

替换成

  1. ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
  2. PIDFile=/home/linoxide/.vnc/%H%i.pid

如果是 root 用户则

  1. ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
  2. PIDFile=/root/.vnc/%H%i.pid

configuring user

好了,下面重启 systemd 。

  1. # systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

  1. # su linoxide
  2. $ sudo vncpasswd

setting vnc password

确保你输入的密码多于6个字符

4. 开启服务

用下面的命令(永久地)开启服务:

  1. $ sudo systemctl enable vncserver@:1.service

启动服务。

  1. $ sudo systemctl start vncserver@:1.service

5. 防火墙设置

我们需要配置防火墙来让 VNC 服务正常工作。

  1. $ sudo firewall-cmd --permanent --add-service vnc-server
  2. $ sudo systemctl restart firewalld.service

allowing firewalld

现在就可以用 IP 和端口号(LCTT 译注:例如 192.168.1.1:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。

6. 用 VNC 客户端连接服务器

好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。

remote access vncserver from vncviewer

你可以用像 Tightvnc viewer 和 Realvnc viewer 的客户端来连接到服务器。

要用更多的用户连接,需要创建配置文件和端口,请回到第3步,添加一个新的用户和端口。你需要创建vncserver@:2.service 并替换配置文件里的用户名和之后步骤里相应的文件名、端口号。请确保你登录 VNC 服务器用的是你之前配置 VNC 密码的时候使用的那个用户名

VNC 服务本身使用的是5900端口。鉴于有不同的用户使用 VNC ,每个人的连接都会获得不同的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在我们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,之后的依次增加,运行在5900 + x 号端口上。其中 x 是指之后用户的配置文件名 vncserver@:x.service 里面的 x 。

在建立连接之前,我们需要知道服务器的 IP 地址和端口。IP 地址是一台计算机在网络中的独特的识别号码。我的服务器的 IP 地址是96.126.120.92,VNC 用户端口是1。

执行下面的命令可以获得服务器的公网 IP 地址(LCTT 译注:如果你的服务器放在内网或使用动态地址的话,可以这样获得其公网 IP 地址)。

  1. # curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

总结

好了,现在我们已经在运行 CentOS 7 / RHEL 7 的服务器上安装配置好了 VNC 服务器。VNC 是自由开源软件中最简单的一种能实现远程控制服务器的工具,也是一款优秀的 Teamviewer Remote Access 替代品。VNC 允许一个安装了 VNC 客户端的用户远程控制一台安装了 VNC 服务的服务器。下面还有一些经常使用的相关命令。好好玩!

其他命令:

  • 关闭 VNC 服务。

    1. # systemctl stop vncserver@:1.service
  • 禁止 VNC 服务开机启动。

    1. # systemctl disable vncserver@:1.service
  • 关闭防火墙。

    1. # systemctl stop firewalld.service

centos7 配置vnc的更多相关文章

  1. CentOS7配置VNC Server

    CentOS7与6有些许变化,感觉有点不太适应. Step 1: 安装tigervnc server 和 X11 fonts: [root@mdrill ~]# yum install tigervn ...

  2. CentOS7配置图形界面及设置vnc远程连接、windows远程桌面连接

    安装CentOS桌面 yum groupinstall "GNOME Desktop" 重启,进入终端,将启动模式变更为图形模式 systemctl set-default gra ...

  3. centos7 部署vnc

    不做过多介绍了,下面直接记录下centos7系统下安装配置vncserver的操作记录 0)更改为启动桌面或命令行模式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...

  4. 配置VNC

    VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). 工具/原料 Linux平台安装VNC ...

  5. Linux配置VNC实现远程图形化操纵

    问题描述 有些时候需要用到图形化,其实可以通过其他途径实现.但是懒惰的就喜欢VNC,总的老说都是需要图形组件的 问题解决 在Centos测试 一.图形化的Linux 01.安装 rpm  ivh vn ...

  6. 安装和配置VNC服务器的法则

    导读 这是一个关于怎样在你的 CentOS 7 上安装配置VNC服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置VNC ...

  7. Centos7 配置网络步奏详解

    Centos7 配置网络步奏详解 编辑网卡配置文件 vi /etc/sysconfig/network-script/ifcfg-ens01 备注:这里的ens01不是所有系统都叫这个,有的可能叫其他 ...

  8. 红帽Linux 配置VNC桌面远程工具

    1.先确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 使用rpm命令检查是否安装了vnc,如果安装了就显示软件名称: [root@ ...

  9. 怎样在CentOS 7.0上安装和配置VNC服务器

    VNC轻松连接远程Linux桌面 http://jingyan.baidu.com/article/6c67b1d6f1bac92786bb1e6d.html 这是一个关于怎样在你的 CentOS 7 ...

随机推荐

  1. lintcode-【简单题】合并区间

    题目: 给出若干闭合区间,合并所有重叠的部分. 样例: 给出的区间列表 => 合并后的区间列表: [ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 1 ...

  2. 一个最小化的SpringBoot项目

    项目结构 项目基于Maven管理,注意使用了父pom <parent> <groupId>org.springframework.boot</groupId> &l ...

  3. 动态规划 - 最长公共子序列(LCS)

    最长公共子序列也是动态规划中的一个经典问题. 有两个字符串 S1 和 S2,求一个最长公共子串,即求字符串 S3,它同时为 S1 和 S2 的子串,且要求它的长度最长,并确定这个长度.这个问题被我们称 ...

  4. json格式的时间转换

    //yyyy-MM-dd HH:mm:SS function JsonDateToDate(jsondate) { var date = new Date(parseInt(jsondate.repl ...

  5. DEBUG STACK TRACE for PoolBackedDataSource.close().

    我使用generator生成的代码,xml里面的内容没有覆盖重写,而是在下面直接追加,所以需要把以前的全部删除,然后在用generator生成.如果这个不能解决问题,就查查别人的问题.

  6. WebService到底是什么?

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  7. Android之下拉刷新,上啦加载的实现(一)

    转载地址http://blog.csdn.net/leehong2005/article/details/12567757#t5 前段时间项目中用到了下拉刷新功能,之前在网上也找到过类似的demo,但 ...

  8. Office 开发版本号与版本对应关系

    Office 开发版本号与版本对应关系: office97 : 8.0 office2000 : 9.0 officeXP(2002) : 10.0 office2003 : 11.0 office2 ...

  9. SVM3 Soft Margin SVM

    之前分为两部分讨论过SVM.第一部分讨论了线性SVM,并且针对线性不可分的数据,把原始的问题转化为对偶的SVM求解.http://www.cnblogs.com/futurehau/p/6143178 ...

  10. spark textFile 困惑与解释

    在编写spark测试应用时, 会用到sc.textFile(path, partition) 当配置为spark分布式集群时,当你读取本地文件作为输入时, 需要将文件存放在每台work节点上. 这时会 ...