Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm trying to start x11vnc in a Ubuntu 10.10 (my server is in Amazon EC2), but I have the next error

$ sudo x11vnc -forever -usepw -httpdir /usr/share/vnc-java/ -httpport 5900 -auth /usr/sbin/gdm

25/11/2010 13:29:51 passing arg to libvncserver: -httpport
25/11/2010 13:29:51 passing arg to libvncserver: 5900
25/11/2010 13:29:51 -usepw: found /home/ubuntu/.vnc/passwd
25/11/2010 13:29:51 x11vnc version: 0.9.10 lastmod: 2010-04-28  pid: 3504
25/11/2010 13:29:51 XOpenDisplay(":0.0") failed.
25/11/2010 13:29:51 Trying again with XAUTHLOCALHOSTNAME=localhost ...

25/11/2010 13:29:51 ***************************************
25/11/2010 13:29:51 *** XOpenDisplay failed (:0.0)

*** x11vnc was unable to open the X DISPLAY: ":0.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

I've already tried with some -auth options but the error persist. I have gdm running.

Thank you in advance

share|improve this question
    
What are you trying to do here - do you really want to share the primary display or provide remote access to a new display? –  symcbean Nov 25 '10 at 16:31
    
You tried it with the example -auth options given for gdm there, because your the command you gave is trying to use the gdm executable file as the MIT-MAGIC-COOKIE file. If the examples didn't work, then you're going to have to look at your gdm configuration to see where it put the magic cookie file and what display it's running on if it's not :0 –  DerfK Nov 25 '10 at 18:13

1 Answer 1

You don't have an X display to export. Look for X*.log in /var/logs. This should show why x is not starting.

Do you have a gmd configured to listen on TCP? If not it won't spawn a server for you. I found vnc4server worked best for me. I start it out of xinetd using differnt ports for different resulutions using configuration like. This gives me a login to gnome on my system.

service Xvnc-3
{
        disable = no
        port = 5903
        socket_type = stream
        log_type = syslog daemon
        log_on_success = PID HOST EXIT DURATION
        log_on_failure = HOST ATTEMPT
        protocol = tcp
        wait = no
        user = nobody
        server = /usr/bin/Xvnc
        server_args = -inetd -geometry 1280x800 -depth 16 -query localhost -once -SecurityTypes none -extension XFIXES -desktop X-1280x800
}

In /etc/gdm/custom.conf I have a few changes including

[xdmcp]
DisplaysPerHost=10
Enable=true
HonorIndirect=false
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.