vncserver支持unix域套接字

时间:2012-07-03 16:04:23

标签: vnc vnc-server

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

tightvnc在/tmp/.X11-unix/X$ {display_number}下创建一个套接字文件,但我不确定这是否可行

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用Tigervnc或X2go:


Tigervnc

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 apt)

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

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