2021-08-03 在ubuntu 18.04上创建基于VNC的局域网内远程工作环境

1. 场景描述

课题组有一台工作站,安装了ubuntu 18.04桌面版系统,桌面系统为ubuntu安装默认的gnome。
课题组内成员甲乙丙能通过自己的电脑访问该工作站,系统为windows或ubuntu不限制。

2. 环境搭建概要

2.1 工作站

  • 工作站:作为服务器端,安装x11vnc;设置密码;启动vnc服务器。

参见:《Linux基础——怎么样用 TeamViewer 和 VNC 从远程控制电脑》
https://blog.csdn.net/weixin_37763870/article/details/104689171

1) 设置这个服务器端的 VNC ,打开你的 Linux 电脑, 打开 Terminal. 输入:

sudo apt-get install x11vnc

确认服务器的 Linux 用户密码, 就能安装这个最常用的 x11vnc 软件。
2)安装好后, 给 x11vnc 设置一个密码. 设置密码的过程就是在你的 Linux Terminal 输入下面这样, 然后它会提示你要输入你要的密码, 这个密码是用来连接 VNC 的时候, 登录用的.

$ x11vnc -storepasswd

Enter VNC password:
Verify password:
Write password to /home/MrL/.vnc/passwd?  [y]/n y
Password written to: /home/MrL/.vnc/passwd

3)设置好密码之后, 在你的 Linux terminal 中输入下面指令, 要求用密码形式来开启 VNC 的 server.

$ x11vnc -usepw

4)如果出现频繁跳出 x11vnc 的现象, 尝试在开启 x11vnc 的时候直接输入这个参数, 让它永远运行.

x11vnc -usepw -forever

或者

x11vnc -forever -shared -rfbauth ~/.vnc/passwd
  1. 设置工作站开机自启动 x11vnc
    参见:《ubuntu18.04的x11VNC Server与windows的VNC Viewer的远程通讯及开机自启动配置》
    https://blog.csdn.net/qq_40234479/article/details/110007052

其中,创建/etc/init/x11vnc.conf文件的方法:
sudo vim /etc/init/x11vnc.conf
复制内容后,esc,输入:wq 可以保存、退出

6)验证x11vnc服务
显示vnc监听状态:

sudo netstat -an | grep 5900
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN     
tcp6       0      0 :::5900                 :::*                    LISTEN

sudo netstat -nultp 这里是当前已使用的所有端口的情况:

sudo netstat -nultp

查看具体某个特定端口。例如查看上图中的22端口,输入命令

sudo netstat -anp |grep 22

具体含义为:LISTEN表示已经被占用,最后一列显示被占用的服务名称。
netstat -h可以显示参数含义帮助信息

2.2 客户端

  • 甲乙丙个人电脑:作为客户端,windows10系统,采用的是tigervnc的客户端软件:vncviewer64-1.11.0.exe
    (优点:不到30M,下载直接使用,免安装;缺点:视窗显示不全,需用滑动条)
  • 另一种是 realVNC的 VNC Viewer
    下载:https://www.realvnc.com/en/connect/download/viewer/

2.3 远程登陆

  • 在同一个局域网内(服务器与客户端电脑),由甲乙丙丁的客户端软件,输入服务器的IP地址和端口,执行连接,输入服务器端设置好的密码。例如:173.69.66.9:1 (其中,:1为x11vnc服务器启动后的端口号,如果服务器安装了多个vnc的server,须在服务器段确认x11vnc的端口号)
    以下是查看安装的tigervnc的端口号:
username@host:~$ vncserver -list

TigerVNC server sessions:

X DISPLAY #	PROCESS ID
:2		3663 (stale)
:3		4045 (stale)
:4		4647 (stale)
:5		27086 (stale)
:6		28570 (stale)

以下是查看安装的x11vnc的端口号:

The VNC desktop is:      hostname:1
PORT=5901

3. 问题说明

3.1 单用户支持

X11vnc,网上说只支持单用户,也就是同一时刻只能有甲乙丙中的一人远程连接;其他人无法同时并行远程连接
参见《ubuntu 16.04 部署vnc允许多用户同时连接》
https://pdf.us/2020/02/07/3859.html

支持unity图形界面的x11vnc 不支持多用户同时登录
由于ubuntu 16.04默认的桌面系统是采用unity的,其他vnc软件往往不支持
x11vnc依赖很小,支持unity桌面环境
缺点:x11vnc只支持单用户操作,不允许多用户同时使用,这还是因为x11vnc不会为远程控制的服务器创建额外的虚拟VNC桌面服务

3.2 客户端显示不全

服务器采用的是ubuntu18.04默认的gnome桌面系统,如果客户端是tigervnc的vncviewer(程序图标是一个老虎)。利用x11vnc远程连接时,客户端电脑上无法完全显示服务器的桌面,只能利用滑动条滑动。 即使采用ctrl+鼠标中键执行放大或缩小,只能放大或缩小字体,桌面视野是不变的,仍是局部视野,须用滑动键。尝试恰当设置vncviewer中的桌面分变率和尺寸,但没有解决,可能还没有找到设置方法,知道的请在评论告知。
作为一种替代方案,可以采用realVNC的客户端软件VNC viewer,可实现正常的桌面视窗显示。

3.3 VNC vs. Teamviewer

局域网下,用x11vnc是可以的,远程操作速度比较块和流畅。(尝试甲客户端电脑在公司的无线网下连接服务器失败)
广域网下,还是推荐用teamviewer。

3.4 windows客户端与远程ubuntu之间的复制黏贴问题

客户端与服务器连接后,客户端windows系统与vncviewer登陆的服务器之间无法实现文本和图片的复制粘贴,有知道的清在下面留言。
<<vnc viewer中开启剪切板复制内容到ubuntu系统中 >>

说明:本机是ubuntu16,安装的vnc server; vncviewer on Windows
最近经常使用vnc viewer远程打开ubuntu。却发现windows和ubuntu环境不可以相互复制黏贴。以下就是解决办法。

在 X window system中,窗体之间传输数据,使用的是“selection”,也就是常说的“剪贴板”。 X window system中支持任意的selection. 其中,最重要的是PRIMARY selection,然后是CLIPBOARD selection,还有已经废弃的CUT_BUFFER(0~7).
在VNC中,服务器和客户端之间使用了CUT_BUFFER 0来传输数据.
而在X中,我们常用的对于字符串的“复制”和“粘贴”使用的是CLIPBOARD
selection.因此,为了让VNC的客户端和服务器之间能进行字符串的拷贝,我们需要将“CLIPBOARD”和“CUT_BUFFER 0”之间进行互相的拷贝.
第一种方案
目前,我采用的autocutsel这个工具来完成这项任务,它能能够自动的完成“CLIPBOARD”和“CUT_BUFFER0”之间进行互相的拷贝.
  该命令的格式如下:如果想让他以后台进程形式运行,填上-f参数即可。

>  $ autocutsel -f

如果没有安装这个工具,会提示让你安装。

>   sudo apt install autocutsel

接下来就可以在windows环境中复制内容,ctrl+v到ubuntu环境中了,也可以在ubuntu环境中复制内容,ctrl+v到windows环境中。wsj注:直接复制到终端有问题可以打开一个文本文件,复制到文件里。
注意:以上只适合于windows和ubuntu之间相互复制 黏贴英文字符,中文不行
第二种方案
直接在ubuntu的terminal中输入vncconfig -nowin&,不要关闭terminal即可实现文字互相复制粘贴。未尝试,不确定效果如何

3.5 工作站服务器端外接显示器问题

工作站外接显示器且开启时,客户端vncviewer视图正常;一旦关闭工作站显示器电源,客户端vnc视窗显示卡顿、重影等,开启工作站显示器电源即回复正常。
以下帖子有解决思路,暂未尝试
《Ubuntu 16.04 x11vnc在无显示器的时候很卡的解决方法》
https://blog.csdn.net/bluewhalerobot/article/details/79147324
《x11vnc配置–ubuntu14.04》
https://www.cnblogs.com/elmaple/p/4354814.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值