如何在 NoVNC 中使用 8 位模式

如何在 NoVNC 中使用 8 位模式

我在 Centos 6 上运行 NoVNC,我可以从 Web 浏览器毫无问题地连接到它。在某些地方,连接速度有点慢,我希望能够从全彩色模式恢复到 8 位彩色模式。但是当我从 NoVNC 选项菜单中取消选择真彩色时,我收到一条消息,提示:

Tight protocol handler only implements true color mode

我通过从 rfb.js 中的编码数组中注释掉 TIGHT 来解决这个问题,如下所示:

encodings      = [
    ['COPYRECT',         0x01 ],
    //['TIGHT',            0x07 ],
    ['TIGHT_PNG',        -260 ],
    ['HEXTILE',          0x05 ],
    ['RRE',              0x02 ],
    ['RAW',              0x00 ],
    ['DesktopSize',      -223 ],
    ['Cursor',           -239 ],

这将使 NoVNC 客户端回退到 HEXTILE,从而允许非真彩色模式。但是有没有一些不那么复杂的方法可以让 NoVNC 回退到 8 位彩色模式?

答案1

我刚刚推出了一个修复程序,如果禁用真彩色,它将恢复为六边形:https://github.com/kanaka/noVNC/commit/c95456c0e136109447017a43c1cfc5f9ca363b6b

但是,请注意,这可能不是您想要的。8 位六边形比 24 位真彩色紧密编码占用更多带宽,而且我猜测它通常也会渲染得更慢。

最不具黑客性的方法是让某人在 noVNC 中为紧密编码实现 8 位颜色映射模式。不幸的是,我没有时间解决这个问题。有什么办法吗?

相关内容