framebuffer VNC客户端 fbvnc-v1.0.2

本文同步自(最佳显示效果请点击):https://zohead.com/archives/fbvnc-v1-0-2/

由于在 Raspberry Pi 上习惯使用 framebuffer 进行普通使用的关系,在需要用 VNC 连接其它机器上,一下想到还是用 framebuffer 下的程序来实现。网上也有别人写的 framebuffer VNC 客户端程序,但普遍有些问题,有些则没有考虑在类似 Raspberry Pi 这种 ARM linux 环境下使用的情况,为此我基于已有的 fbvnc 项目重新弄了个 framebuffer 下 VNC 客户端的程序。

原有 fbvnc 项目地址:http://repo.or.cz/w/fbvnc.git

我的 fbvnc 新项目的 github 地址:https://github.com/zohead/fbvnc

现在已经更新到 1.0.2 版本,相对原始的 fbvnc 的主要改进为:

  • 解决在 16 位及 32 位 framebuffer 下显示不正确的问题;
  • 增加帮助信息和参数选项(fbvnc -h 查看帮助信息);
  • 支持简单的 VNC 用户名密码验证(基于 RFB 协议的 3.3 版本);
  • 支持将 VNC 密码加密保存到密码文件;
  • 支持以命令行参数的形式从密码文件中读取密码,方便自动运行方式;
  • 连接远程 VNC 主机时增加远程 VNC 服务器信息输出,方便调试;
  • 从 VNC 服务器获取版本信息前先发送客户端版本号(3.3 版本),解决某些非常严格的 VNC 服务器(例如:droid VNC server)出现拒绝访问的问题;
  • 连接远程 VNC 主机时检查 VNC 版本是否确定以 “RFB ” 开头,如果版本不符合要求则出错退出;
  • 解决在 ARM linux 系统(例如:Raspberry Pi)中鼠标无法正确移动的问题;
  • 连接和断开 VNC 服务器时增加清屏和显示/隐藏光标的处理,防止终端界面紊乱。

此程序已在 Windows/Linux/Android 等不同系统的 VNC 服务器环境下测试过,需要注意的是此 fbvnc 客户端只支持 RFB 3.3 版本的 VNC 服务器,如果使用的是比较新的 RealVNC 服务器(我测试的是最新的 RealVNC 4.6.3 版本),请在服务器设置中修改 VNC 协议版本为 3.3。

请自行到上面的 github 项目地址中检出代码进行编译安装,Raspberry Pi 系统则提供了已经编译好的版本 ^_^。

使用方式很简单,运行:

fbvnc 192.168.1.xxx

如果需要密码会提示你输入,完成后就可以看到远程 VNC 主机的画面,其中 192.168.1.xxx 为 VNC 服务器的主机地址,另外也可以增加参数指定 VNC 服务器的端口号(如果不是默认的 5900 端口),运行 fbvnc -h 可以查看帮助信息。

连接上 VNC 服务器之后的操作:

快捷键 操作
Ctrl + 空格 暂停/恢复 图像更新绘制
Ctrl + Alt + C 断开连接并退出

适用于 Raspberry Pi Debian Whezzy 系统的 fbvnc 程序下载链接:

http://github.com/downloads/zohead/fbvnc/fbvnc-raspberry-pi-v1.0.2.7z

此程序纯粹为我基于其它项目做个人修改使用的,其中有任何问题请提出指正哦 ^_^