ubuntu20是自带屏幕分享的,在win电脑上直接使用VNC客户端通过局域网即课连接进行远程控制。
一般来说想要使用这一服务,需要再安装一下VINO软件,这时候问题就来了,而我刚好作为幸运观众,触发了这一史诗级BUG。
1 BUG描述
在使用VNC客户端连接局域网下的Ubuntu20服务端自带远程桌面时,只能看到四分之一的Ubuntu屏幕。
2 BUG触发条件
这是VINO的陈年老BUG了,一直没有修复,触发的条件也是很离谱,即:
- ubuntu服务端为高分屏设备;
- 有多人通过VNC客户端登录远程桌面服务。
满足这两个条件之后,恭喜你,一开始会跟我一样摸不着头脑。因为一开始一个人登录的时候是正常的,而只要有另一个人尝试登录控制,事情就变得离谱起来了。
3 BUG解决
离谱了半天之后,我终于在老外的论坛上找到了解决办法:
- (1)将你的高分屏设备设置为1080P(脱裤子放屁行为)
- (2)重新修改VINO源码并编译重装(看起来很复杂,就是你了+_+)
于是我们开始第二个解决方案,也可以看老外原文。
首先,我们在home路径打开terminal,先卸载掉已经安装的vino
sudo apt remove vino
然后安装一些必要的开发库
sudo apt install libsoup2.4-dev libglib2.0-dev autoconf libgcrypt20-dev gnome-common libnotify-dev libgtk-3-dev shtool
git一下vino的源码
git clone https://gitlab.gnome.org/GNOME/vino.git
进入源码目录
cd vino
然后下载老外写的一个patch补丁文件,在这里下载
下载后将这个文件放入源码目录,然后运行
patch -p1 < 0001-Fixed-scale-issues.patch
此时会自动将vino源码打上补丁,解决问题
补丁打完后,使用make进行编译
make
然后安装编译后的程序
sudo make install
就完成啦,问题解决~ _~