我正在按照此链接中的步骤操作-浏览器中的 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 命令。