你能帮我找到一个支持 UNIX 域套接字或任何其他调整的 vncserver
tightvnc 在 /tmp/.X11-unix/X${display_number} 下创建一个套接字文件,但我不确定这是否可行
提前致谢
你能帮我找到一个支持 UNIX 域套接字或任何其他调整的 vncserver
tightvnc 在 /tmp/.X11-unix/X${display_number} 下创建一个套接字文件,但我不确定这是否可行
提前致谢
你可以用 Tigervnc 或 X2go 来做:
Tigervnc 添加了带有-rfbunixpath
.
您可以通过两种方式获得 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 (buster) 的 Tigervnc 与官方版本不同,并且他们的 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 也使用 Unix 域套接字,并且不需要在服务器中打开任何端口。我一直使用官方网站来安装它,但现在我看到它也被添加到了 Debian 存储库。它也可以正常工作,这对于低资源服务器来说更好,因为它在您的客户端 PC 中使用 X 服务器(VNC 使用服务器的 X,因此消耗更多资源)