VNCserver 支持 UNIX 域套接字



你能帮我找到一个支持 UNIX 域套接字或任何其他调整的 vncserver

TightVNC 在/tmp/下创建一个套接字文件。X11-unix/X${display_number} 但我不确定这是否有效

提前致谢

你可以

用Tigervnc或X2go来做到这一点:


泰格

Tigervnc 添加了带有 -rfbunixpath 的 Unix 域套接字。

你可以用两种方式获得 Tigervnc,使用官方版本或你的操作系统包系统,它们有点不同(对于 Debian 来说,可能其他操作系统也是如此):

  • 官方版本(首选):

您可以从源代码构建它,也可以像这样使用此处的二进制文件:

curl -sSfL -o tigervnc-1.10.0.x86_64.tar.gz https://bintray.com/tigervnc/stable/download_file?file_path=tigervnc-1.10.0.x86_64.tar.gz
tar xz -f tigervnc-1.10.0.x86_64.tar.gz

然后将其复制到/usr/local或您喜欢的任何位置。

创建密码以保护VNC服务器: vncpasswd

运行服务器:

vncserver :1 -geometry 1600x1000 -rfbunixpath /tmp/vnc_myunixSocket -nolisten tcp

例如,您现在可以通过以下方式远程连接SSH:

ssh -fx -e none -o ExitOnForwardFailure=yes -L 4321:/tmp/vnc_myunixSocket user@IP & 
vncviewer localhost:4321
  • 使用软件包管理器(Debian apt)

Debian 的 Tigervnc(buster)与官方版本不同,并且他们的 vncserver(一个 perl 脚本)有问题,你不能使用 Unix 套接字,因为他们检查一个开放的端口,如果没有找到,那么脚本认为 vncserver 有问题并关闭它。 要解决此问题,您可以从该脚本中删除检查或直接使用 xtigervnc,而无需像这样使用 VNCserver 脚本:

Xtigervnc :1 -auth ~/.Xauthority -geometry 1600x1000 -depth 24 -rfbwait 30000 -rfbauth ~/.vnc/passwd -pn -localhost -SecurityTypes VncAuth -nolisten tcp -rfbunixpath /tmp/vnc_myunixSocket

如您所见,它并不好,但它有效,这就是为什么我更喜欢官方构建。


x2go

x2go也使用Unix域套接字,并且不需要服务器中的任何开放端口。我一直使用官方网站来安装它,但现在我看到它也被添加到 Debian 存储库中。它也可以正常工作,这对于资源不足的服务器更好,因为它在您的客户端PC中使用X服务器(VNC使用服务器的X,因此消耗更多资源)

最新更新