在Linux下配置RealVNC和TigerVNC

作者:alittlemc | 更新中 | 原创文章,可能有技术理解错误,欢迎指正,请与我联系,谢谢!

命令和快速总结

realvnc创建# :会话id -name 取名字 -depth 色深 -geometry 分辨率
vncserver :5 -name VNC1 -depth 24 -geometry 1920x1080
看一下有哪些端口
vncserver -list

kill掉:2
vncserver -kill :2

配置文件位置

#当前用户
cat ~/.vnc/config

总的
cat /etc/vnc/config

VNC

Linux有许多版本,大致可以分为桌面版和服务器版本(桌面也是个应用程序,叫X),有时候安装了桌面版但是身边没有额外显示器,或者是对服务器集群中的linux进行操作时候,我们可以使用VNC来实现远程控制。

RealVNC

其实我是更喜欢Real的,但是这个要收费了

1、安装

redhat系列
sudo yum install tigervnc-server

debian系列
sudo apt-get install realvnc-vnc-server
  • 也可去官网下载二进制文件离线安装
  • http://www.realvnc.com/
  • 也可以下载现成的二进制文件deb、rpm离线安装

2、运行vncserver

每执行一次vncserver,就会启动一次VNC会话,多一对vnc端口监听。

[root@client_149 .vnc]# vncserver -h

usage: vncserver [:] [-name ] [-depth ]
                 [-geometry x]
                 [-pixelformat rgbNNN|bgrNNN]
                 [-fp ]
                 [-cc ]
                 [-fg]
                 [-autokill]
                 [-noxstartup]
                 [-xstartup <file>]
                 [-fallbacktofreeport]
                 ...

       vncserver -kill 

       vncserver -list

常用的参数:

参数

备注

:

可以理解是指定会话id,同时对应的监听端口,5900+id

-name

给会话命名

-depth

在创建时候自定义色深

-geometry x

在创建时候自定义分辨率

-list

查看全部的会话

-kill :

选择要关闭的端口id啦

vncserver :2 -name VNC:2 -geometry 1920x1080 -depth 24

在Linux下配置RealVNC和TigerVNC

执行完成后会显示提示:这里提示了日志保存在~/.vnc/client_149:2.log,不过log太多了哈哈,看不明白。

如果出现 Error: No license keys found.之类的提示,是因为新版本的RealVNC开始商业化了(收费),需要授权码,去网上找一下。

授权码
vnclicense -add WHJRK-UXY7V-Q34M9-CZU8L-8KGFA
如果这个不得可以试一下其他授权码
S4J7A-XWXY5-KXAJW-54KRA-TP3QA
48R4P-NFZ46-NBCWY-Q2ZJT-3H9RA
Z456C-LMKTC-NLGWQ-H5CUR-ZVWEA
A5HDP-LXKYN-UK4W6-XACZJ-ENWLA
NRDX9-ZF9C5-JLGY7-CUC5J-77J2A
SSEWK-HBDM6-YYCWC-M3BQV-9XMDA
激活成功了运行一下
vncserver :2 -name VNC:2 -geometry 1920x1080 -depth 24
#使用netstat看一下监听端口sudo netstat -apn | grep vnc

在Linux下配置RealVNC和TigerVNC

安装好RealVNC,systemd会自带两个相关的service。

  • x11-serverld和virtuald和效果类似,但是也是有所不同,根据需要任选一个即可
  • x11直接连接到linux的x桌面,如果有其他vnc会话,也是共用查看界面
  • virtuald和TightVNC原理差不多,每一个用户有独立的桌面,有点像云主机?
启动 & 开机启动
sudo systemctl start vncserver-virtuald.server && systemctl enable vncserver-virtuald.server
sudo systemctl start vncserver-x11-serviced.service && systemctl enable vncserver-x11-serviced.service

3、登录

在手机或者电脑安装VNC Client之类的软件,ip:port即可完成连接,比如我这里使用的是VNC Viewer。账号密码使用系统中的账号密码即可。

冒号后加端口,可以直接使用netstat监听的ip:5902,也可以使用之间启动venserver定义的端口,会自动转换5900+端口。

4、修改分辨率

其实修改分辨率只是个药引子,主要是引出配置文件的路径,其他设置也是同理的。

方法1在启动时候定义

vncserver -geometry 1920x1080

方法2修改~/.vnc.config

方法3修改/etc/vnc/config

可以直接修改在/etc/vnc/config下的配置文件,比如在后面追加参数 -geometry 1920×1080。

sudo echo -geometry 1920x1080 >> /etc/vnc/config

参考官方的修改分辨率的方法:如何在 Linux 下调整虚拟桌面的屏幕分辨率?– RealVNC帮助中心

方法4修改/etc/X11/vncserver-virtual-dummy.conf

gtf生成文本

gtf x y 刷新率

在Linux下配置RealVNC和TigerVNC

请注意,输入gtf命令后并没有生效,它只是生成一段配置,我们要在/etc/X11/vncserver-virtual-dummy.conf中再修改。

修改好后重新启动服务生效啦。

5、管理

在此之前我执行了三次vncserver,对应的也有三对端口(比如图中5902和6002,5903和6003,5904和6004);三个unix。

在Linux下配置RealVNC和TigerVNC

关闭可以直接使用kill之类的命令杀死进程,(感觉有点残忍哈哈,不推荐)。

可以使用vncserver -list和-kill

看一下有哪些端口
vncserver -list
kill掉:3
vncserver -kill :3

在Linux下配置RealVNC和TigerVNC

TigerVNC

1、安装

redhat系列
sudo yum install tigervnc tigervnc-server
#debian系列
sudo apt install tigervnc-standalone-server tigervnc-common
  • 如果网络下载过慢可以访问官网TigerVNC

  • 官网下载源代码mark一下

2、配置

一般的模板的配置文件在这路径中/usr/lib/systemd/system/vncserver@.service

将文件copy到/etc/systemd/system/vncserver@.service

为了兼顾多用户,可以这样命名vncserver@:1.service、vncserver@:2.service等这样命名。

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

vim /etc/sysconfig/vncservers@:1.server

ExecStart=/usr/bin/vncserver_wrapper 这行中的改为本地的用户,比如再另外adduser个新用户,passwd修改密码用于vnc登录也可行。

图中我偷懒,直接用root吧

刷新一下systemd
sudo systemctl daemon-reload

3、设置密码和启动

设置密码
就是用户的密码啦,和你ssh登录密码一样的passwd
启动服务
sudo systemctl start vncserver@:1.service

常见故障

监听端口

服务监听端口可以使用netstat查看,使用apn和tlpn都可以啦,个人习惯使用apn。

sudo netstat -apn | grep vnc
sudo netstat -tlpn | grep vnc

防火墙

外部设备无法访问

可能是是防火墙的问题

iptables

看一下规则条目sudo iptables -L -n

依据netstat的结果,对对应的端口的tcp和udp开放,不过显然是有点麻烦。

sudo iptables -I INPUT -p tcp --dport 5999-j ACCEPT
sudo iptables -I INPUT -p udp --dport 5999 -j ACCEPT

同理直接编辑配置文件也可以
sudo systemctl reload

firewall

查看一下防火墙配置
sudo firewall-cmd --list-all

永久 添加vnc-server到public区,(推荐)
sudo firewall-cmd --permanent --zone=public --add-service=vnc-server
sudo firewall-cmd --reload

也可以直接通过添加端口tcp、udp都要加上,局限性较大
sudo firewall-cmd --add-port=5901/tcp --permanent --zone=public
sudo firewall-cmd --add-port=5901/udp --permanent --zone=public
sudo firewall-cmd --add-port=6001/tcp --permanent --zone=public
sudo firewall-cmd --add-port=6001/udp --permanent --zone=public
sudo firewall-cmd --reload

如果有桌面啦,在桌面的终端试一下firewall-config图形化界面。

Original: https://www.cnblogs.com/alittlemc/p/16639892.html
Author: alittlemc
Title: 在Linux下配置RealVNC和TigerVNC

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578147/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • css或html中添加空格

    posted @2022-08-03 16:31 七窍玲珑心 阅读(8 ) 评论() 编辑 Original: https://www.cnblogs.com/lzh93/p/16…

    Linux 2023年6月13日
    0116
  • Docker常用命令

    配置相关 docker version 查看版本 docker ps 查看当前运行的container docker exec -it php-fpm bash 进入cantain…

    Linux 2023年6月13日
    084
  • 2021年3月-第02阶段-前端基础-移动WEB开发-移动WEB开发_rem布局

    移动web开发之rem布局 rem基础 rem单位 rem (root em)是一个相对单位,类似于em,em是父元素字体大小。 不同的是rem的基准是相对于html元素的字体大小…

    Linux 2023年6月8日
    0110
  • Google Drive, Onedrive, Dropbox green check marks missing; 修复 google 硬盘,同步符号错误

    最近使用google 硬盘的时候,Windows平台总是出现安装后文件夹不能显示同步符号,而mac平台就无上述错误; 我查了一下资料,发现是因为系统安装的同步软件有点多,Windo…

    Linux 2023年6月13日
    0105
  • uniapp php 微信app支付

    php;gutter:true;//微信支付wxPay(){ uni.getProvider({ service: ‘payment’, success: res=>{ if…

    Linux 2023年6月7日
    079
  • UDS诊断应用层笔记

    UDS概述 UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是在汽车电子ECU环境下的一种诊断通信协议,在 ISO 14229中规定。它是从…

    Linux 2023年6月13日
    0114
  • VMware ESXi 7.0 U3 SLIC 2.6 & Unlocker

    提供标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接:VMware ESXi 7.0…

    Linux 2023年5月27日
    088
  • 防数据泄露_MySQL库和数据安全

    攻击场景 外部入侵 内部盗取 防御体系建设 参考 在企业安全建设中有一个方向是防数据泄露,其中一块工作就是保障数据库安全,毕竟这里是数据的源头。当然数据库也分不同的种类,不同类型的…

    Linux 2023年6月6日
    0114
  • Docker安装 Ubuntu Centos

    Ubuntu 安装Dokcer 1. 删除旧版本Docker安装包和依赖项 sudo apt-get remove docker docker-engine docker.io c…

    Linux 2023年6月13日
    088
  • http代理连接

    基于Linux服务器的http代理连接 1. 准备工作 &#x76EE;&#x6807;&#x670D;&#x52A1;&#x5668; &…

    Linux 2023年6月14日
    084
  • ASP.NET CORE在docker中的健康检查(healthcheck)

    在使用docker-compose的过程中,很多程序都提供了健康检查(healthcheck)的方法,通过健康检查,应用程序能够在确保其依赖的程序都已经启动的前提下启动,减少各种错…

    Linux 2023年6月6日
    0121
  • 什么是草台班子?

    有个朋友最近想跳槽,他对管理的兴趣不大,而且认为自己的性格也不适合做管理,更想成为技术专家。基于这些考虑,他希望能进入知名大厂,如果面试不顺利,去小而美公司也行。他的面试经验不多,…

    Linux 2023年6月6日
    0113
  • Python subprocess的使用

    前言 部门内部存在大量代码使用Python去调用Shell或者JS脚本,因此重度依赖subprocess(使用Google的subprocess32),在使用subprocess的…

    Linux 2023年6月7日
    085
  • 数据结构001–数据结构概述

    数据结构概述: 程序 = 数据结构 + 算法 算法:一些计算方法,解决问题的流程/步骤(顺序、分支、循环……),通俗的说,算法相当于逻辑,小部分已经被人们发…

    Linux 2023年6月6日
    067
  • Linux -查找功能

    Linux下有很多用于查询的命令,持续更新ing find命令 find用于查找指定目录下的文件 语法: find 【查找的位置】(选项) (参数) [filename] 常用选项…

    Linux 2023年5月27日
    0126
  • C语言基本语法

    C语言以分号代表一条语句结束,一条命令可以在多行显示 对于空格没有多大要求,只是为了代码美观,方便看懂,但python语法就比较严格必须要加空格 注释VS快捷键Ctrl+K,然后C…

    Linux 2023年6月8日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球