用于 Linux docker 的 novnc - x11vnc 返回:XOpenDisplay 失败 (:0) *** x11vnc 无法打开 X DISPLAY:“:0”

用于 Linux docker 的 novnc - x11vnc 返回:XOpenDisplay 失败 (:0) *** x11vnc 无法打开 X DISPLAY:“:0”

我正在按照此链接中的步骤操作-浏览器中的 Kali (noVNC)

我已经在 docker 上安装了 kalilinux/kali-rolling 并运行命令。当我执行命令时

x11vnc -display :0 -autoport -localhost -nopw -bg -xkb -ncache -ncache_cr -quiet -forever

我收到以下错误。

2022 年 3 月 22 日 11:10:08 ****************************************** 22 /03/2022 11:10:08 *** XOpenDisplay 失败 (:0)
*** x11vnc 无法打开 X DISPLAY:“:0”,无法继续。
*** 上面可能有“Xlib:”错误消息,其中包含有关失败的详细信息。

一些提示和准则:
** X 服务器(您希望查看的服务器)必须在 x11vnc 启动之前运行:x11vnc 不会启动 X 服务器。 (但是,如果您真正想要的话,请参阅 -create 选项)。
** 您必须使用 -display 、 -OR- 设置并导出 $DISPLAY 环境变量以引用所需 X 服务器的显示。
- 通常显示只是“:0”(事实上,如果您忘记指定它,x11vnc会使用它),但在某些多用户情况下,它可能是“:1”,“:2”,甚至“:137” 。如果您无法确定您的 X DISPLAY 是什么,请询问您的管理员或专家。

** 接下来,您需要有足够的权限(Xauthority)才能连接到 X DISPLAY。以下是一些提示:
- 通常,您只需要在用户登录到 X 会话时运行 x11vnc。
因此,当您键入 x11vnc 时,请确保是该用户。
- 作为 root 通常是不够的,因为可能会访问不正确的 MIT-MAGIC-COOKIE 文件。 cookie 文件包含允许 x11vnc 连接到所需 X DISPLAY 的密钥。
- 您可以通过 -auth 选项明确指示应使用哪个 MIT-MAGIC-COOKIE 文件,例如: x11vnc -auth /home/someuser/.Xauthority -display :0 x11vnc -auth /tmp/.gdmzndVlR -display :0you 必须具有 auth 文件的读取权限。另请参见下面讨论的“-authguess”和“-findauth”。

** 如果还没有人登录到 X 会话,但有一个欢迎登录程序(如“gdm”、“kdm”、“xdm”或“dtlogin”正在运行),您将需要找到并使用原始显示管理器麻省理工学院魔法饼干文件。各种显示管理器的一些示例:

 gdm:     -auth /var/gdm/:0.Xauth
          -auth /var/lib/gdm/:0.Xauth
 kdm:     -auth /var/lib/kdm/A:0-crWk72
          -auth /var/run/xauth/A:0-crWk72
 xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
 dtlogin: -auth /var/dt/A:0-UgaaXa

有时命令“ps wwwwaux | grep auth”可以显示文件位置。首先,x11vnc 0.9.9您可以尝试使用以下命令进行猜测:(-auth guess另请参阅 x11vnc -findauth 选项。)
只有 root 才具有该文件的读取权限,因此x11vnc必须以 root 身份运行(或复制它)。文件名中的随机字符当然会改变,并且 cookie 文件所在的目录取决于系统。

也可以看看:http://www.karlrunge.com/x11vnc/faq.html

图像

在此输入图像描述

由此,我将得到答案——https://www.linuxquestions.org/questions/linux-software-2/x11vnc-at-startup-4175414461/。但我听不懂他们在说什么

答案1

您的 x-server 未运行或可能未安装

安装它

apt-get install xorg

您还必须安装 gdm3

apt-get install gdm3

然后,您必须通过编辑该文件来禁用 wayland /etc/gdm3/daemon.conf。您可以使用文件资源管理器或使用以下命令手动执行此操作,具体取决于您安装的文本编辑器。例如,使用 leafpad 或 gedit。 (尝试以下两个中的任何一个)

leafpad /etc/gdm3/daemon.conf
gedit /etc/gdm3/daemon.conf

WaylandEnable=false然后通过删除前面的行来取消注释该行#。保存文件。

跑步

dpkg-reconfigure gdm3

该命令dpkg-reconfigure gdm3将使 gdm 在下次注销或重新启动时重新加载其配置。

然后重新启动并再次尝试 docker 命令。

相关内容