当前位置: 首页 > 工具软件 > x11vnc > 使用案例 >

x11vnc 启动失败 XOpenDisplay failed.

宇文修文
2023-12-01

尝试开启VNC:

x11vnc -rfbport 5900 -rfbauth ~/.vnc/passwd  -display :0 -forever -bg -repeat -nowf

报错:

13/08/2021 17:18:58 passing arg to libvncserver: -rfbport
13/08/2021 17:18:58 passing arg to libvncserver: 5900
13/08/2021 17:18:58 passing arg to libvncserver: -rfbauth
13/08/2021 17:18:58 passing arg to libvncserver: /home/deep/.vnc/passwd
13/08/2021 17:18:58 x11vnc version: 0.9.13 lastmod: 2011-08-10  pid: 60344
13/08/2021 17:18:58 XOpenDisplay(":0") failed.
13/08/2021 17:18:58 Trying again with XAUTHLOCALHOSTNAME=localhost ...

13/08/2021 17:18:58 ***************************************
13/08/2021 17:18:58 *** XOpenDisplay failed (:0)

*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.

Some tips and guidelines:

** An X server (the one you wish to view) must be running before x11vnc is
   started: x11vnc does not start the X server.  (however, see the -create
   option if that is what you really want).

** You must use -display <disp>, -OR- set and export your $DISPLAY
   environment variable to refer to the display of the desired X server.
 - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
   to specify it), but in some multi-user situations it could be ":1", ":2",
   or even ":137".  Ask your administrator or a guru if you are having
   difficulty determining what your X DISPLAY is.

** Next, you need to have sufficient permissions (Xauthority)
   to connect to the X DISPLAY.   Here are some Tips:

 - Often, you just need to run x11vnc as the user logged into the X session.
   So make sure to be that user when you type x11vnc.
 - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
   file may be accessed.  The cookie file contains the secret key that
   allows x11vnc to connect to the desired X DISPLAY.
 - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
   by the -auth option, e.g.:
       x11vnc -auth /home/someuser/.Xauthority -display :0
       x11vnc -auth /tmp/.gdmzndVlR -display :0
   you must have read permission for the auth file.
   See also '-auth guess' and '-findauth' discussed below.

** If NO ONE is logged into an X session yet, but there is a greeter login
   program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
   to find and use the raw display manager MIT-MAGIC-COOKIE file.
   Some examples for various display managers:

     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

   Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.

   Starting with x11vnc 0.9.9 you can have it try to guess by using:

              -auth guess

   (see also the x11vnc -findauth option.)

   Only root will have read permission for the file, and so x11vnc must be run
   as root (or copy it).  The random characters in the filenames will of course
   change and the directory the cookie file resides in is system dependent.

See also: http://www.karlrunge.com/x11vnc/faq.html

应该是我服务器没插显示器,导致display :0没有启动
启动一个display:

sudo startx

ctrl+z放在后台运行

X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-140-generic x86_64 Ubuntu
Current Operating System: Linux <name> 5.4.0-74-generic #83~18.04.1-Ubuntu SMP Tue May 11 16:01:00 UTC 2021 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-74-generic root=UUID=7cf58114-94d6-4d2b-bf82-cfafe3a43d23 ro quiet splash vt.handoff=1
Build Date: 08 April 2021  01:40:27PM
xorg-server-hwe-18.04 2:1.20.8-2ubuntu2.2~18.04.5 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Fri Aug 13 17:19:29 2021
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
^Z
[1]+  已停止               sudo startx

再次启动vnc(-display :1):

x11vnc -rfbport 5900 -rfbauth ~/.vnc/passwd  -display :1 -forever -bg -repeat -nowf

启动成功:

The VNC desktop is:      <name>:0
PORT=5900

检查:

ps -aux|grep vnc
 类似资料: