Centos7的VNC用户管理

embedded/2024/10/16 2:08:56/

文章目录

  • 1. 准备工作
    • 1.1 安装图形化界面
    • 1.2 安装Tigervnc
  • 2. 新建用户vnc端口(包括root用户)
    • 2.1 新建系统用户
    • 2.2 创建并修改配置文件
    • 2.3 加载vnc程序
    • 2.4 防火墙设置
    • 2.5 开启新端口
    • 2.6 远程控制
  • 3. 问题
    • 3.1 问题1——端口占用
    • 3.2 问题2——更换分辨率


参考文献
Centos7安装和配置VNC服务器 - GNOME篇
Centos7安装和配置VNC服务器 - Xfce篇
CentOS 7安装配置VNC远程登陆

1. 准备工作

1.1 安装图形化界面

首先查看是否装有GNOME或者xfce

rpm -qa | grep gnome  
# rpm -qa | grep xfce

如果有则直接到1.2,否则安装GNOME或者xfce

# 安装GNMOE
yum -y groupinstall "X Window System"  
yum -y groupinstall "GNOME Desktop"
# 或者安装xfce
# yum install epel-release
# yum groupinstall "Xfce" -y

1.2 安装Tigervnc

首先查看是否装有vnc

rpm -qa | grep vnc  

如果有则跳到2. ,否则安装tigervnc

yum install tigervnc-server         # tigervnc

2. 新建用户vnc端口(包括root用户)

2.1 新建系统用户

su  
adduser <username>      # <username>替换成用户名字
passwd <username>  
cat /etc/passwd         # 查询用户是否创建成功
NOTE: 由于有时候需要登录root用户来对系统进行控制。因此也可为root用户设置一个vnc端口。如果是新建root用户的vnc端口则跳过2.1,直接创建并修改配置文件。

2.2 创建并修改配置文件

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:num.service  # num为端口号  
vim /etc/systemd/system/vncserver@:num.service        # 修改文件里的 <user> 为 新用户名  
NOTE: 新建普通用户VNC端口和root用户VNC端口一个很重要的区别便在这。配置文件中<user>替换成root。

2.3 加载vnc程序

systemctl daemon-reload  
systemctl enable vncserver@:num.service         # 设置开机自动启动  
systemctl start vncserver@:num.service 
systemctl status vncserver@:num.service         # 查看用户状态  为Active:"active即可

2.4 防火墙设置

由于我们的 VNC 服务正在TCP端口5900+上侦听,所以防火墙必须放行。不建议直接简单粗暴的关闭防火墙。

  • 添加单个端口
firewall-cmd --permanent --zone=public --add-port=5900/tcp         # 添加端口号0
firewall-cmd --reload  # 重新加载防火墙
NOTE: permanent指更改是永久性的。
  • 添加多个端口
firewall-cmd --permanent --zone=public --add-port=5901-5920/tcp  # 添加端口号1-20  
firewall-cmd --reload     # 重新加载防火墙
  • 查看端口是否加入
# 查看端口号是否被加入  
firewall-cmd --list-all-zones  
firewall-cmd --list-ports
NOTE:num应在1-20之间,如果超出20,需额外打开防火墙的端口  
NOTE:添加端口号5900+num, eg: 端口0,则需打开5900
//防火墙问题
查看防火墙状态:systemctl status firewalld
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
移除某个端口的防火墙设置:firewall-cmd --permanent --zone=public --remove-port=<port>/tcpfirewall-cmd --reload

2.5 开启新端口

进入新建的用户下,并开启端口和设置分辨率

su - <username>                         # 进入新用户
vncserver :num -geometry 1920x1080      # 会提示输入vnc密码,比如123456,输入n
最好多执行
$ systemctl enable vncserver@:num.service
$ systemctl start vncserver@:num.service
NOTE:也可以提前用vncpasswd设置密码

2.6 远程控制

在VNCviewer中登录ip(111.11.111.111)和端口(1),连接111.11.111.111:1,即可远程控制服务器。

3. 问题

3.1 问题1——端口占用

查看端口占用情况。

ps -ef | grep -i vnc | grep -v grep
  • 解决方法1 —— 手动kill进程
	kill -9 (pid)rm -f /tmp/.X*-lock         # *是用户端口号rm -f /tmp/.X11-unix/X*     # *是用户端口号
  • 解决方法1 —— 进入该用户kill
	su <username>               # 进入该用户vncserver -kill :num        # 关闭端口进程

3.2 问题2——更换分辨率

	su <username>                           # 进入该用户vncserver -kill :num                    # 关闭端口进程vncserver :num -geometry 1920x1080      # 开启端口

http://www.ppmy.cn/embedded/128191.html

相关文章

nginx常用功能,网站、反向代理、四层代理、优化方法、python动态页面解析。

nginx的常用功能&#xff1a; 一、网站功能 nginx配置文件的语法&#xff1a; 指令 参数 分号结尾 1. 用户认证 auth_basic "xxx" ; auth_basic_user-file "/path/for/pass" ; htpasswd -c /path/for/pass username1 htpasswd /path/for/pass username2 2…

全面掌握 Linux 服务管理:从入门到精通

全面掌握 Linux 服务管理&#xff1a;从入门到精通 引言 在 Linux 系统中&#xff0c;服务管理是系统管理员和开发者的基本技能之一。无论是启动、停止、重启还是查看服务状态&#xff0c;systemctl 命令都能让你轻松完成这些操作。今天&#xff0c;我们将深入探讨如何使用 sy…

国产 HDMI 发送芯片,兼容 HDMI1.4b 及 HDMI 1.4b 下的视频 3D 传输格式。

最高分辨率高达 4K30Hz&#xff0c;最高采样率达到 300MHz.支持 YUV 和 RGB 之间的色彩空间转 换&#xff0c;数字接口支持 YUV 以及 RGB 格式输入的 IIS 接口以及 S/PDIF 接口支持高清音频的 传输&#xff0c;其中 S/PDIF 接口既可以兼容IEC61937 标准下的压缩音频传输&#x…

如何实现弹出式窗口

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了Sliver综合示例相关的内容,本章回中将介绍PopupMenuButton组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧,通常显示三个圆点图标,点击该图标…

kibana 删除es指定数据,不是删除索引

1 查询条件查询出满足条件的数据 GET /order_header_idx_202410/_search {"from":0,"size":10,"query":{"bool":{"filter":[{"term":{"oh_tenantId":{"value":"0211000001",&…

NFTScan | 10.07~10.13 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.10.07~ 2024.10.13 NFT Hot News ​01/ 数据&#xff1a;9 月份加密市场大多数指标均出现下降&#xff0c;链上总交易量下降 13% 10 月 7 日&#xff0c;据 The Block 研究总监 la…

Flask框架下使用SQLAlchemy搭建用户类User来操纵数据库

在面向对象的编程语言&#xff08;如 Python、Java、C# 等&#xff09;中&#xff0c;使用类来表示用户信息是很常见的做法。例如&#xff0c;在 Python 的 Flask 或 Django 框架中&#xff0c;可以使用类来定义用户模型。而使用用户类在数据库中维护一个用户数据模型&#xff…

Spring与Spring Boot之间的区别

Spring和Spring Boot是用于开发Java企业应用的两个主流框架。虽然它们都属于Spring生态系统的一部分&#xff0c;但是它们各自有不同的使用场景和特点。 在本文中&#xff0c;我们将探讨Spring与Spring Boot之间的差异&#xff0c;针对他们之间特性的差异&#xff0c;做一个详…