是否有VNC服务器侦听Unix域套接字而不是标准端口(5900)?

问题描述 投票:1回答:2

我正在尝试使用vncserver(有很多变体。我可以接受任何东西。)它侦听Unix域套接字而不是标准端口(5900)(即Internet域套接字)。我没有找到任何支持它的版本。 (我确实知道什么是域套接字,并且想在同一盒子上使用服务器和客户端。很奇怪的要求。)我已经有了它的客户端。我有点修改以支持我的要求。是否有人知道任何支持此要求的vnc服务器?

linux vnc
2个回答
0
投票

我怀疑https://stackoverflow.com/a/2150188/20146可以工作。

这里有一些额外的字符可以减轻StackOverflow的负担,该字符至少要30个:-|


0
投票

至少有两种方法,Tigervnc和X2go:


Tigervnc

Tigervnc用-rfbunixpath添加了Unix域套接字。

您可以使用官方构建或您的OS软件包系统以两种方式以更少的方式获得Tigervnc,它们之间有一些差异(对于Debian而言,可能也有所不同,也许其他操作系统也是如此:]]

  • 官方版本(首选):

  • 您可以从源代码构建它,也可以使用-rfbunixpath中的二进制文件:

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 或您喜欢的任何位置。

使用以下命令创建密码以保护vnc服务器:/usr/local

运行服务器:

vncpasswd

例如,您现在可以使用以下方法远程连接ssh:

vncserver :1 -geometry 1600x1000 -rfbunixpath /tmp/vnc_myunixSocket -nolisten tcp
  • 使用软件包管理器(Debian apt)

  • Debian的Tigervnc(破坏程序)与官方版本不同,并且其vncserver(perl脚本)有问题,您不能使用Unix套接字,因为它们会检查开放端口,如果找不到,则脚本认为该vncserver遇到问题并关闭它。为了解决这个问题,您可以从该脚本中删除支票或直接使用xtigervnc,而无需使用vncserver脚本,如下所示:

ssh -fx -e none -o ExitOnForwardFailure=yes -L 4321:/tmp/vnc_myunixSocket user@IP & 
vncviewer localhost:4321

如您所见,它不太好但是可以用,所以我更喜欢正式版本。


x2go

x2go也使用Unix域套接字,并且不需要服务器中的任何开放端口。我一直使用官方的Xtigervnc :1 -auth ~/.Xauthority -geometry 1600x1000 -depth 24 -rfbwait 30000 -rfbauth ~/.vnc/passwd -pn -localhost -SecurityTypes VncAuth -nolisten tcp -rfbunixpath /tmp/vnc_myunixSocket 来安装它,但是现在我看到它也被添加到了Debian仓库中。它也可以正常工作,这对于低资源服务器来说更好,因为它在客户端PC中使用X服务器(VNC使用服务器的X,因此会消耗更多资源)

© www.soinside.com 2019 - 2024. All rights reserved.