如何允许其他用户使用 X11vnc 连接到我的会话?

如何允许其他用户使用 X11vnc 连接到我的会话?

我正在尝试使用 x11vnc 来允许用户远程控制某些计算机。一般来说,这工作得很好,但有一个方面我在实施时遇到了困难。我想限制对特定用户帐户的访问,但 X11 会话所属的用户是不同的用户。

所以情况是:

  • 用户A已登录计算机
  • 用户 B 从 shell 手动启动 x11vnc
  • VNC-client V 从某处连接到它

问题是我只能以 root 或当前登录的用户身份启动 x11vnc,它不能像任何其他用户一样工作。有什么方法可以允许特定用户访问我的 X11 会话吗?

答案1

X 显示器受“密钥”保护,您需要提供该“密钥”才能连接。该密钥通常存储在用户的~/.Xauthority文件中。

为了允许其他人的应用程序(如 x11vnc)连接到他的 DISPLAY,用户必须向他提供该密钥或授予他访问其~/.Xauthority文件的权限。您可以通过执行以下操作来检索显示器的密钥。

xauth list "$DISPLAY"

~/.Xauthority您可以通过更改权限(组所有权或 ACL)来授予您的访问权限。

其他用户可以指定哪个权威文件通过环境变量使用XAUTHORITY,或者将特定显示的键添加到他自己的~/.Xauthority使用中xauth add

答案2

如果您的问题是x11vnc由于无权访问 X 会话而无法启动,则您需要在以其他用户身份xhost +SI:localuser:other_username启动之前向其他用户授予访问权限x11vnc

不过,问题的标题听起来像是您想要限制对 VNC 服务器的访问。

相关内容