RaspKaliPi魔改之路(一)让我康康!——X11VNC配置

写在最前:
这个系列将会记录我个人改造树莓派的一些采坑记录。为了方便阅读,以专题为单位拆分文章,不过文章之间仍有较强的联系,感兴趣的可以从头读到尾。
这个系列只适合那些有较强动手能力喜欢瞎折腾并且 能对自己的每一次操作负全部责任 的树莓派用户。

引用的文章

一:kali linux树莓派配置踩坑之旅③ x11vnc 真·窗口可视化
二:x11vnc官方文档

自创概念

x11vnc-port:x11vnc的访问端口


首先来讲讲为什么我很讨厌xrdp。
“诶xrdp不挺好的吗windows一键输密码连接还带加密”
其一,我实在不想花半天给自己装一个Windows2000时代的登录窗口;
(很丑,对吧)

其二,rdp协议那个垃圾的56位加密顶多就是自我安慰。至于TLS?我配置了一整个晚上都找不出那个让我一登录就闪退的bug。
不如假装加密了吧
既然x11vnc能让自己看见漂亮的原生登录窗口,为什么不呢?


SSH,换镜像源,软件更新,etc. 在此不再赘述。
关键在于,怎么配置这个令人摸不着头脑的vnc服务端。我在官方文档里翻来翻去也没找到几个能用的命令行参数,最后脑袋一抽在shell里打了个 --help,好家伙,一整个缓冲区全是作者写的参数详解。作者是不会用github么。。。

下面是我花了十根头发凑出来的优化后命令:

sudo vim /lib/systemd/system/x11vnc.service

x11vnc -forever -loop -nap -ncache 10 -shared -auth guess -repeat -rfbauth /path/to/passwd -rfbport x11vnc-port -wcr -scr -wmdt (wm) -display :0

可以看到,我只是在引用文章的基础上加了几个 不痛不痒的小参数 。解释一下什么意思:

命令 解释
-wcr 检测发生变化的像素点,且只更新这部分像素点
-scr 检测滚轮滑动,通过滑动缓存的像素点来减少更新
-wmdt 在某些情况下会检测不到窗口管理器然后exit,这里手动指定
-display 默认情况下程序会猜测Xserver的位置,如果猜不到就等待4秒然后用:0。不知为何我这边永远猜不到,索性手动指定

前两个命令最大的用处在于减少系统和网络开销。在不开启这些选项之前vnc是一整面屏幕更新像素点,那些没变动的像素点完全是在浪费带宽,加上SakuraFrp的免费穿透节点本来就爆满,刷新率令人绝望。

顺带一提,-ncache 10确实多出来几个窗口,不过在使用noVNC做客户端时它们是无缝拼接在主窗口下面的,而不是真的弹了十几个窗口在桌面上。可以通过本地缩放忽略这些影响。

好了,这篇文章略水,但我确实是踩了好多次坑才走到这一步。。。

Karl J. Runge(x11vnc作者)你赔我头发

posted @ 2022-04-01 17:40  ZZBBYY  阅读(468)  评论(1编辑  收藏  举报