你能帮我找到一个支持UNIX域套接字或任何其他调整的vncserver
tightvnc在/tmp/.X11-unix/X$ {display_number}下创建一个套接字文件,但我不确定这是否可行
提前致谢
答案 0 :(得分:0)
您可以使用Tigervnc或X2go:
Tigervnc用-rfbunixpath
添加了Unix域套接字。
您可以使用官方构建或您的OS软件包系统以两种方式以更少的方式获得Tigervnc,它们之间也有所不同(对于Debian而言,可能更少,也可能是其他OS):
您可以从源代码构建它,也可以使用here中的二进制文件:
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的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域套接字,并且不需要服务器中的任何开放端口。 我一直使用官方的site来安装它,但是现在我看到它也被添加到了Debian仓库中。它也可以正常工作,这对于低资源服务器来说更好,因为它在客户端PC中使用X服务器(VNC使用服务器的X,因此会消耗更多资源)