Linux系统之VNC服务设置方法

举报
江湖有缘 发表于 2023/07/04 17:49:07 2023/07/04
【摘要】 Linux系统之VNC服务设置方法

@TOC

一、VNC介绍

1.1 VNC简介

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,可以实现远程控制计算机的功能。

1.2 VNC组成

VNC基本上是由两部分组成,在任何安装了客户端的应用程序(vncviewer)的计算机都能十分方便地与安装了服务器端的应用程序(vncserver)的计算机相互连接。

  • 客户端的应用程序vncviewer
  • 服务器端的应用程序vncserver

1.3 常见的VNC工具

  • RealVNC:是一款功能强大的VNC工具,支持多种操作系统,包括Windows、Linux、Mac OS X等,具有高安全性和可靠性。

  • UltraVNC:是一款免费的VNC客户端和服务器软件,支持Windows操作系统,提供了远程桌面、文件传输、文本聊天等功能。

  • TightVNC:是一个小巧而强大的VNC工具,支持Windows、Linux以及Unix等多种操作系统,具有较高的安全性和性能。

  • TigerVNC:是一个开源的VNC工具,支持Windows、Linux以及Mac OS X等多种操作系统,具有稳定性和高性能。

  • TeamViewer:是一款针对远程支持、远程控制和在线协作的应用软件,可以实现桌面共享、远程协助、文件传输等功能。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,服务器操作系统版本为centos7.6。

hostname 本地IP地址 操作系统版本 内核版本
jeven 192.168.3.166 centos 7.6 3.10.0-957.el7.x86_64

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境;
2.在centos7.6环境下,使用VNC工具,本地远程连接Linux桌面环境。
3.将vncserver设置成service服务,保证开机自动启动。

三、安装vncserver

3.1 安装vncserver

直接使用yum安装vncserver

yum -y install tigervnc-server

3.2 检查vncserver安装状态

检查vncserver安装状态

[root@jeven ~]# rpm -qa |grep tigervnc-server
tigervnc-server-minimal-1.8.0-13.el7.x86_64
tigervnc-server-1.8.0-25.el7_9.x86_64

四、配置VNC密码

4.1 创建用户

  • 创建admin用户
useradd admin
  • 设置admin密码
 passwd admin

在这里插入图片描述

4.2 切换admin用户

切换admin用户

[root@jeven ~]# su - admin
[admin@jeven ~]$ 

4.3 设置VNC密码

使用 vncpasswd来设置VNC连接密码

vncpasswd

在这里插入图片描述

五、配置vncserver服务

5.1 复制vncserver的服务配置文件

将/lib/systemd/system/vncserver@.service文件进行复制,文件名为vncserver@:1.service,
VNC的连接端口号为5901,如果是vncserver@:2.service,那么对应启动的端口就是 5902。以此类推。

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

5.2 修改配置文件

修改vncserver@:1.service文件,只需要修改图中黄色框内的 用户名为刚才设置的用户即可。

vim /etc/systemd/system/vncserver@:1.service

在这里插入图片描述

5.3 启动vncserver服务

  • 启动ncserver服务
 systemctl start vncserver@:1.service
  • 查看vncserver服务状态
[root@jeven ~]# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-06-29 23:49:43 CST; 5s ago
  Process: 22083 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 22087 (vncserver_wrapp)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ├─22087 /bin/sh /usr/bin/vncserver_wrapper admin :1
           └─22939 sleep 0.1

Jun 29 23:49:43 jeven systemd[1]: Starting Remote desktop service (VNC)...
Jun 29 23:49:43 jeven systemd[1]: Started Remote desktop service (VNC).
Jun 29 23:49:43 jeven vncserver_wrapper[22087]: xauth:  file /home/admin/.Xauthority does not exist
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: New 'jeven:1 (admin)' desktop is jeven:1
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Creating default startup script /home/admin/.vnc/xstartup
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Creating default config /home/admin/.vnc/config
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Starting applications specified in /home/admin/.vnc/xstartup
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Log file is /home/admin/.vnc/jeven:1.log
[root@jeven ~]# 

  • 设置vncserver服务开机自启
[root@jeven ~]# systemctl enable vncserver@:1.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.

5.4 查看服务监听端口

查看vncserver监听端口

[root@jeven ~]# ss -tunlp |grep vnc
tcp    LISTEN     0      5         *:5901                  *:*                   users:(("Xvnc",pid=22117,fd=9))
tcp    LISTEN     0      128       *:6001                  *:*                   users:(("Xvnc",pid=22117,fd=6))
tcp    LISTEN     0      5        :::5901                 :::*                   users:(("Xvnc",pid=22117,fd=10))
tcp    LISTEN     0      128      :::6001                 :::*                   users:(("Xvnc",pid=22117,fd=5))

5.5 防火墙设置

  • 放行防火墙
firewall-cmd --add-port=5901/tcp --permanent    #放行5901端口
firewall-cmd --reload    #重新加载生效
  • 如果在测试环境,可直接关闭防火墙
systemctl stop firewalld && systemctl disable  firewalld
  • 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

六、VNC客户端连接Linux

下载VNC客户端,填写VNC Server的地址:192.168.3.166:5901
输入设置的VNC密码,即可远程连接Linux桌面了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。