当前位置: 首页 > article >正文

Centos 8安装VNC及多用户配置详细教程

Centos 8安装VNC及多用户配置详细教程

    • 参考
    • 一、安装前准备
    • 二、安装
    • 三、创建新用户和设置VNC密码
    • 四、创建VNC系统服务文件
    • 五、多用户映射和配置VNC
    • 六、客户端用VNC Viewer登录

参考

1、参考1: VNC安装英文说明(英文说明有误且仅适合单用户):
2、参考2:Centos8安装vnc服务
3、参考3:Centos8安装vncserver(翻译的英文说明,仅适合单用户)

一、安装前准备

1、vnc在root用户/具有sudo权限的用户(建议后者,不要轻易用root
vnc可以指定登录用户,也可以使用已有的用户,下面的部分步骤可以跳过
vnc登录需要输入2次密码:一次vnc密码,一次是系统用户(vncserver开启的用户)密码

2、SELINUX关闭

进入vncserver运行用户,编辑/etc/sysconfig/selinux文件。
首先用以下指令进入文件,需要sudo的密码。

sudo vi /etc/sysconfig/selinux

将以下代码加个“#”注释掉

SELINUX=enforcing

然后复制上行代码改为

SELINUX=disabled

之后按ESC,输入“:wq! ”保存退出。修改完后,需要重启系统才能永久生效!

3、安装说明环境
该服务可以解决登录vnc黑屏的问题。

sudo yum install gnome*

4、开放防火墙端口
防火墙设置:检查服务器上的防火墙设置,确保VNC端口是允许的。
你可以使用以下命令打开端口5901:

sudo firewall-cmd --zone=public --add-port=5901/tcp --permanent
sudo firewall-cmd --reload

如果准备多用户使用,就开放多个端口,比如开放20个端口

sudo firewall-cmd --zone=public --add-port=5901-5920/tcp --permanent
sudo firewall-cmd --reload

二、安装

安装指令如下:

sudo dnf install tigervnc-server tigervnc-server-module -y

或者是

sudo yum install tigervnc-server tigervnc-server-module -y

三、创建新用户和设置VNC密码

创建新用户hitest(如果已经有账号可省去此步骤)。

sudo useradd hitesh

给新用户hitest设置密码。

sudo passwd hitesh

进入到要运行VNC的账户:

su hitesh

输入hitest的登录密码后,输入

sudo vncpasswd

或者可以直接输入:

vncserver

接着输入两次vnc账户密码,可以和系统登录密码一样,也可以不一样(如果不一样,一定要记清楚了),命令窗如下,输完密码后,输入n

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

接着可以用exit退出hitest用户,回到有sudo权限的账号继续下面的操作(如果没有新建用户,省去此步骤!)。

exit

如果要创建多个用户,重复以上操作,创建vnc密码完成之后切记要输入n!

四、创建VNC系统服务文件

创建并编辑系统服务文件:

sudo vi /etc/systemd/system/vncserver@:1.service

接着将以下内容复制进去,需要将以下Service内容中的hitest替换成你自己的账户名!

[Unit]
Description=Remote Desktop VNC Service
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/home/hitesh  #need to be replaced
User=hitesh   #need to be replaced
Group=hitesh   #need to be replaced

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

之后按ESC,输入“:wq! ”保存退出。
如果有多个用户,就创建多个文件,重复上述操作:

sudo vi /etc/systemd/system/vncserver@:2.service
sudo vi /etc/systemd/system/vncserver@:3.service


当所有用户的系统服务文件都配置好了之后,需要重新加载系统服务:

sudo systemctl daemon-reload

启动和配置服务:

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

接着可以查看VNC的状态:

sudo systemctl status vncserver@:1.service

如果要启动多个服务重复以上操作!
如正常启动,会出现如下图的结果(我的是多用户,该用户编号12):
在这里插入图片描述

五、多用户映射和配置VNC

如果是新版的TigerVnc Server,在执行vncserver的时候会出现如下提示信息:

# vncserver
WARNING: vncserver has been replaced by a systemd unit and is about to be removed in future releases.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

You will require a password to access your desktops.

(1) 添加用户映射
根据 /usr/share/doc/tigervnc/HOWTO.md 这个 Markdown 格式文件的说明,可以采用如下操作进行配置:
可以先查看说明,看完直接:q退出即可:

sudo vi /usr/share/doc/tigervnc/HOWTO.md

接着进行多用户映射:

sudo vi /etc/tigervnc/vncserver.users 

添加用户编号,一定要和上一步service的编号对应上

# TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
# 允许root访问1号桌面
:1 = root     

VNC服务器会监听5900+ 桌面编号,例如配置root用户使用1号桌面,那么VNC服务器会监听5901端口。
修改完的结果如下图所示,根据自己设置的编号输入即可,和前面service对应:
在这里插入图片描述
之后按ESC,输入“:wq! ”保存退出。
(2)配置Xvnc选项(默认已经添加)

# sudo vi /etc/tigervnc/vncserver-config-defaults 

默认开启session=gnome,可根据自己的需要修改该文件!
在这里插入图片描述

至此,服务器端配置完成!
可用如下指令查看服务是否启动成功!

sudo netstat -tunlp | grep vnc

如果多用户正常启动,结果如下:
在这里插入图片描述

六、客户端用VNC Viewer登录

(1)首先根据自己的系统下载相应版本的VNC Viewer,下载链接如下:
VNC Viewer下载地址
在这里插入图片描述
(2)登录,输入IP:端口号,比如192.168.1.100:5901(局域网),216.98.11.214:5901(广域网),根据实际情况输入相应的IP和端口号。端口号=5900+用户编号,比如我的就是5912。
在这里插入图片描述
点“continue”,会得到如下画面,接着输入前面VNC设置的密码:
在这里插入图片描述
登录成功后界面如下。
在这里插入图片描述
把图像的画质设置为高,否则可能出现花屏,设置方法如下:
在这里插入图片描述


http://www.kler.cn/a/326333.html

相关文章:

  • WPF中组件之间传递参数的方法研究
  • java通过ocr实现识别pdf中的文字
  • LabVIEW软件Bug的定义与修改
  • Angular生命周期
  • Fastapi + vue3 自动化测试平台(1)--开篇
  • OSPF - 2、3类LSA(Network-LSA、NetWork-Sunmmary-LSA)
  • java socket bio 改造为 netty nio
  • 【算法业务】基于Multi-Armed Bandits的个性化push文案自动优选算法实践
  • 电商搜索效率飞跃:阿里巴巴搜索API返回值的力量
  • 零工市场小程序如何提高找兼职的效率?
  • FFmpeg源码:avio_feof函数分析
  • 源代码保密技术的升级:模块化沙箱
  • 介绍Java中的反射并举例至少5个反射中常用的API-----Java基础相关面试题分享
  • 经典文献阅读之--WiROS(用于机器人的WiFi感知工具箱)
  • 百分点科技再获多项数据智能领域奖项
  • 骨架油封对于置放环境的要求
  • 【1分钟学会】Sass
  • SpringBoot项目请求不中断动态更新代码
  • 宝塔部署vue项目出现的各种问题
  • PostgreSQL的扩展(extensions)-常用的扩展-pgstattuple
  • Pygame中Sprite实现逃亡游戏5
  • 如何使用ssm实现基于SpringMVC网上选课系统的设计与实现
  • 基于Springboot+Vue的网上书店(含源码数据库)
  • C++-list使用学习
  • 前端工程化之vite
  • 从零开发操作系统