Operation systems, Websites solutions and security for you

Centos update libc6

Make sure vncviewer’s “-encodings raw” is in effect for local viewing (compression seems to slow things down locally. ) For local viewing you set up a “bare” window manager that just starts up vncviewer and nothing else (See how below. In either case, one can view this desktop both remotely and also locally using vncviewer.

The X11 selections can be confusing, especially to those coming from Windows or MacOSX where there is just a single ‘Clipboard’. Highlighted text is sent to the clipboard when the user activates “Edit -> Copy” or presses “Control+C” (and pasting it via “Edit -> Paste” or “Control+V”. As soon as text is highlighted it is set to the PRIMARY selection and so it is immediately ready for pasting, usually via the Middle Mouse Button or “Shift+Insert”. See this jwz link for more information. The X11 CLIPBOARD selection is a lot like that of Windows and MacOSX, e. ) The X11 PRIMARY selection has been described as ‘for power users’ or ‘an Easter Egg’.

But when I ran the program, it says it needs glibc 2. 5 only has Glibc 2. 14 to be able to run. I want to install Android NDK on my CentOS 6.

As an example, consider a laptop where the VNC viewer is run that has a touchpad with only two buttons. This remapping: -remap Super_R-Button2 maps the Super_R “flag” key press to the Button2 click, thereby making X pasting a bit easier. It is difficult to do a middle button “paste” because (using XFree86/Xorg Emulate3Buttons) you have to click both buttons on the touch pad at the same time.

The VNC display for the X session always accessible (but hopefully password protected. (the above might not work on more recent Xorg versions. ) Note that on a Debian based system you will need to install the package stunnel4 not stunnel. /bin/sh xmodmap -e “keycode any = Shift_R” xmodmap -e “add Shift = Shift_L Shift_R” xmodmap -e “keycode any = Control_R” xmodmap -e “add Control = Control_L Control_R” xmodmap -e “keycode any = Alt_L” xmodmap -e “keycode any = Alt_R” xmodmap -e “keycode any = Meta_L” xmodmap -e “add Mod1 = Alt_L Alt_R Meta_L” (note: these are applied automatically in the FINDCREATEDISPLAY mode of x11vnc.
In any event, the line you will add to the display manager script (Xsetup, Default, or whatever) will look something like: /usr/local/bin/x11vnc -rfbauth /path/to/the/vnc/passwd -o /var/log/x11vnc. In brief, the steps look like this: cd x11vnc-x. So reading the fb is still painfully slow (e. It is not currently very efficient since it simply does its normal framebuffer polling scheme on the libvncclient framebuffer (which it then re-exports via VNC to its clients C. ) The fourth one is for VNC Viewer authentication, it uses. ),
Automation via Reverse Connections: Instead of having the R’s connect directly to S and then the C’s connect directly to the R they should use, some convenience can be achieved by using reverse connections (the x11vnc “”-connect host1,host2. One could do this in a shell script, but now there is an option -loop that makes it easier. ) For these viewers you can try the -padgeom option to make the region big enough to hold all resizes and rotations. This can lead to much network bandwidth consumption for the VNC traffic and also local CPU and I/O resource usage. /bin/sh x11vnc -create -rfbport 5905 -env WAITBG=1 vncviewer -FullScreen -PreferredEncoding raw -passwd $HOME/. TurboJPEG is an interface library, libturbojpeg, provided by the project that achieves this. Cannot drag or click on windows. So you have to wait a bit for the cleanup update to finish. Are you using x11vnc to log in to an X session via display manager. You may need to watch out for desktop utilities such as KDE’s “Klipper” that do odd things with the selection, clipboard, and cutbuffers. The width, height and bpp of the framebuffer can be set via, e. Update: in “-rawfb console” mode x11vnc will use the linuxfb API to try to guess (it is still not always accurate. This may be a bug in kdesktop_lock. Strangely, typing “>” works OK. ) If you specify the -debug_keyboard (aka -dk) option twice you will get a huge amount of keystroke debugging output (send it along with any problems you report. X11vnc has also been extended to use the Video4Linux API over v4l-info if it is available at build time. ) The fact that there aren’t long delays or lurches during scrolling is the primary improvement. “us”) or Windows with any keyboard, I can’t type some keys like: “@”, “$”, “”, etc. -macwheel n For the native Mac OS X server, set the mouse wheel speed to n (default 5. If the graphics card’s framebuffer read rate is faster than normal then the video window size and frame rate can be much higher. In the libvncserver CVS a simple example program x11vnc/misc/slide. For input channels with tuners (e. These catch a lot of scrolls, e. ) Yes, it should generally work because it simply polls the big effective screen. Xauth disable = no } (or one can replace the -q with say “-o /var/log/x11vnc. Q-80: Can x11vnc do client-side caching of pixel data. To force the specification of which modes are supported. 047 3 numbersign numbersign numbersign and similar triple mappings (with two in the AltGr/Mode_switch group) of a keysum to a single keycode. ) So to map the right button to type my name ‘Karl Runge’ I could use this: -buttonmap 3-:Shift_L+k+Shift_L+a+r+l+space+Shift_L+r+Shift_L+u+n+g+e: (yes, this is getting a little silly. Xdmcp instead of Xvfb, etc in the above list. It requires the screens on both sides to be depth 24 at 32bpp (it uses the extra 8 bits to secretly hide the cursor alpha channel data. One to the side of your desk) via x2vnc or Win2VNC. You will still have autorepeating because that is taken care of on your VNC viewer side. Simply use “-svc” instead of the cumbersome “-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb -unixpw -users unixpw= -ssl SAVE”) The -display WAIT option makes x11vnc wait until a VNC viewer is connected before attaching to the X display. To export it via VNC use x11vnc -display :1. One can imagine a single server machine crammed with as many video cards as it can hold to provide multiple simultaneous access or testing on different kinds of video hardware. ) This option can be unstable and so as of Feb/2008 it is disabled by default. A workaround for this Xorg bug is to call x11vnc with the -xwarppointer option. In fact, during the test period it was on by default with n set to 10. 9 and later automatically avoids being killed. It is difficult to do a middle button “paste” because (using XFree86/Xorg Emulate3Buttons) you have to click both buttons on the touch pad at the same time. In general, one can use these sorts of schemes to use x11vnc to export other virtual X sessions, say Xnest or even Xvnc itself (useful for testing x11vnc. This sometimes happens where the local machine is GNOME or Mac OS X and the remote machine is GNOME. Vnc) Proxies that limit CONNECT to ports 443 and 563: Things become trickier if the Web proxy restricts which CONNECT ports can be redirected to. To 16bpp or even 8bpp) will further decrease memory I/O and network I/O. We use that example here. To access the active Linux console via the computer’s framebuffer try something like: x11vnc -rawfb console x11vnc -rawfb console2 These will try to access the framebuffer through /dev/fb (or /dev/fb0, etc. ) For TV/rf tuner cards one can set the tuning mode via tun=XXX where XXX can be one of PAL, NTSC, SECAM, or AUTO. ) Q-73: How can I make x11vnc use MORE system resources. An advantage of Xdummy over Xvfb is that Xdummy supports RANDR dynamic screen resizing. Also if the env. ” after the string they are used verbatim: the device is not queried for the current values. If the viewer is not notified it cannot know it needs to release the modifiers.
[Resource Usage and Performance]
Q-71: I have lots of memory, but why does x11vnc fail with shmget: No space left on device or Minor opcode of failed request: 1 (X_ShmAttach). : “-scale 1/3:nb” Fonts will be difficult to read, but the larger features will be recognizable. To disable the heuristics and delaying set X11VNC_AVOID_WINDOWS=never; to set the delay time explicitly use, e. Scrolling inside shells in terminal windows (gnome-terminal, xterm), can lead to odd painting errors. This hack is outside of the VNC protocol. Up arrow) should be discarded to preserve a scroll. The -debug_keyboard option comes in handy in finding keysym names (so does xev(1). Unfortunately the toolkits KDE applications use make scroll detection less effective (only rarely are they detected: i. One user had an X server with only one mouse button(. We have fixed this problem for the TightVNC Viewer on Unix: SSVNC If you specify “-xrandr newfbsize” then vnc viewers that do not support NewFBSize will be disconnected before the resize. East:0 4) ss_vncviewer -mycert. The v4l API must be available for this to work. It has no concept of Virtual Terminals WRT what there is to view, it always shows the active virtual terminal. ) The X11 PRIMARY selection has been described as ‘for power users’ or ‘an Easter Egg’. You should be able to connect via a VNC viewer and continue with the install. He uses this to create a persistent and resizable desktop accessible from anywhere. ) The SSVNC Unix VNC viewer supports UltraVNC file transfer by use of a Java helper program. This happens for VNC in general by the following mechanism. GET=1&PORT=443 All of the x11vnc Java Viewer applet parameters are described in the file classes/ssl/README Here is an example of Java Console and x11vnc output for the Web proxy case. Conf and do not redirect stderr to a file, then you must specify the -q (aka -quiet) option: “/usr/local/bin/x11vnc -q -inetd. -macnowait For the native Mac OS X server, do not wait for the user to switch back to his display. (XFree86/Xorg disables it by default for some reason, add Option “backingstore” to XF86Config on the vncviewer side. We have found a convenient workaround: in the directory where VncViewer. There are many resource savings in doing something like the above. See the next FAQ for a possible explanation. Note that SSL is required for this mode because otherwise the Unix password would be passed in clear text over the network.
[Misc: Clipboard, File Transfer/Sharing, Printing, Sound, Beeps, Thanks, etc. All in all, the Linux framebuffer input mechanism for Qt-embedded framebuffer apps is not perfect, but it is usable. Q-104: Can x11vnc show only a portion of the display. ) built in and so you might want to use that instead. It is also on by default. One can also use the -loopbg to emulate inetd(8) to some degree, where each connected process runs in the background. Another workaround is to type 4 Super_L (Left Super/Windows-Flag key) in a row to reset RECORD.
If you do not want to deal with any display manager startup scripts, here is a kludgey script that can be run manually or out of a boot file like rc. In the second one x11vnc is run as root and switches to the user that logs in due to the “-users unixpw=” option. ) Reducing the X server bits per pixel depth (e. /dev/tty0 refers to the active VT, to indicate one explicitly, use “console2”, etc. When you move the mouse to the edge of the screen where the popups happen, the taskbars interfere with each other in strange ways. The next bottleneck is compressing all of these changes and sending them out to connected viewers, however the VNC protocol is pretty much self-adapting with respect to that (updates are only packaged and sent when viewers ask for them. This can be used to specify a different framebuffer device, e. ) Feel free to file a bug against kdesktop_lock with KDE. ) Happy, happy, joy, joy: Note that we do not need to specify -display or -auth because happily they are already set for us in the DISPLAY and XAUTHORITY environment variables for the Xsetup script. See this page for more information on how Web proxies come into play. Additionally it can be used to run an external command that returns the DISPLAY and XAUTHORITY data. ) Avoid small scrolls of large windows using the Arrow keys or scrollbar. You can also access these parameters inside the gui under “Tuning”. The service was tested with Chicken of the VNC (“Use Bonjour” selected) on a Mac on the same network and the service was noted and listed in the servers list. The object will be the numerical shared memory id for the case of shm. By default it uses a separate VNC port for each user desktop (either by autoprobing in a range of ports or using a port based on the userid number. To use the LD_PRELOAD wrapper script: startx — /path/to/Xdummy :1 An xdm(1) example is also provided. Use the option -avahi (same as -mdns or -zeroconf) to enable it. Fedora/gdm: Here is an example of what we did on a vanilla install of Fedora-C3 (seems to use gdm by default. For a recent (2009) Debian install we booted with “expert vga=0x301” and “expert vga=0x311” to get console text based installs at 640x480x8 and 640x480x16, respectively (replace “expert” with “install” if you like. ) As a workaround x11vnc attempts to reset the RECORD connection every 60 seconds or so. ) The X11 selections can be confusing, especially to those coming from Windows or MacOSX where there is just a single ‘Clipboard’. (Option “ShadowFB” “true” in the Device section of /etc/X11/XF86Config) This disables 2D acceleration on the physical display and so may not be worth it (if you play games, etc), but could be of use in some situations. The latter (-remap less-comma) is an immediate remapping of the keysym less to the keysym comma when it comes in from a client (so when Shift is down the comma press will yield ” x11vnc -display :0 -connect repeater1,repeater2. As of Jan/2004 x11vnc supports the “CutText” part of the RFB (aka VNC) protocol. Set timeout parameters for mouse pointer induced scrolls. H>, or use xev(1), or -debug_keyboard to find the keysym names. So to view and interact with VT #2 (assuming it is the active VT) one can run something like: x11vnc -rawfb map:/dev/[email protected] -pipeinput ‘. Jar resides there is a digitally signed version of the same applet called SignedVncViewer. The ipcs command will list current shared memory segments on the system. ) x11vnc will try to run chvt automatically if it can determine which VT should be switched to. Com:5900/ that gives the default index. Is there a way to temporarily disable one or both of these magic desktop taskbars. VNC viewers then connect to the x11vnc(s) running -reflect. -modtweak is now the default) but it is useful reference for various tricks and so is kept. ) The way these characters are typically entered on international keyboards is by “dead” (aka “mute”) keys. If the Linux uinput driver is available then full keystroke and mouse input into the Linux console can be performed. However, this data will only be used for VNC clients that do not support the CursorShapeUpdates VNC extension (or have disabled it. ) Currently (Jul/2006) this can lower the size of the x11vnc from 1. As a workaround apply the -noxdamage option. So x11vnc doesn’t have to guess where the changes are (by polling every pixel of the entire screen every 2-4 seconds. ) For these virtual sessions you will need to install the Xvfb program (e. A raw framebuffer) be viewed (and even controlled) via VNC with x11vnc. ) Also, if the string is of the form “setup:cmd” then cmd is run and the first line of its output retrieved and used as the rawfb string. It is somewhat difficult to do all of this with x11vnc listening on a single port, however there is also a ‘fixed port’ scheme described in the script based on -loopbg that works fairly well (but more experience is needed to see what problems contention for the same port causes; however at worst one user may need to re-login. An interesting application of x11vnc is to let it export displays of “headless” machines. Also, to add the Shift_R and Control_R modifiers something like this is needed: #. Update: as of May/2010 NVIDIA may have fixed this problem in their proprietary drivers. Watch out for the display being :1, etc. ) The “:port” is optional (default is VNC listening port is 5500. ) To do both at the same time: “-remap Super_R-Mode_switch,Menu-Multi_key” or use “-remap filename” to specify remappings from a file. I’m sure I only typed them once, what can I do. Xinitrc, etc) you could save the above commands to a shell script, say “vnclocal”, and the log in via the normal KDM or GDM greeter program using the “Failsafe” option. Xmodmap -pk output) that looked like:. ) The “snap:” setting applies the -snapfb option with “file:” type reading (this is useful for exporting webcams or TV tuner video; see the next FAQ for more info. ) Since xmodmap(1) modifies the X server mappings you may not want to do this (because it affects local work on that machine. ) Note that if fraction is greater than one the display is magnified. For a Debian console-text based install after the network is configured press Ctrl-Alt-F2 to get a shell. It is probably also a good idea to run with the -onetile option in this case (to limit each x11vnc to 3 shm segments), or even -noshm to use no shm segments. Xsession script is or how to use one, perhaps your desktop has a “session startup commands” configuration option. 6 -permitfiletransfer” options (UltraVNC incorrectly uses the RFB protocol version to determine if its features are available, so x11vnc has to pretend to be version 3. Q-114: Can I export the Linux Console (Virtual Terminals) via VNC using x11vnc. 5MB/sec), and so even using X DAMAGE when large changes occur on the screen the bulk of the time is still spent retrieving them. So Clipboard exchange won’t work for our standard “ssh in” startup scheme. The default is 240. Allow: x11vnc_sh : 123. It will turn on automatically if the framebuffer appears to be very tall (height more than twice the width), or you can supply the actual value for the height. A potential issue is the RECORD stream is delayed from actual view on the X server display: if one falls too far behind it could become a mess. Vnc and, for example, VncViewer. If this happens try using the -xwarppointer option. For now the only workaround is to disable the screensaver. These parameters can be tweaked: Color/Shade of the wireframe. ) One user was confused why x11vnc was “forgetting” his CLIPBOARD selection and the reason was he also changed PRIMARY some time after he copied text to the clipboard. If the connected vnc viewers support the NewFBSize VNC extension (Windows TightVNC viewer and RealVNC 4. Q-90: Extra Character Inserted, E. And when CutText is received from a VNC viewer then x11vnc will set the X11 selections PRIMARY, CLIPBOARD, and CUTBUFFER0 to it. ) Another issue is with things like more(1): scroll detection for 5-6 lines happens nicely, but then it can’t keep up and so there is a long pause for the standard polling method to deliver the remaining updates. You may disable it with the -nocursor option to x11vnc if your viewer does not have this extension. Otherwise they all share the same X property channels: VNC_CONNECT and X11VNC_REMOTE. However for one Qt-embedded system we needed to do: x11vnc -rawfb console -pipeinput UINPUT:accel=4. Conf and then type startx (or similar, e. Keystrokes will be injected via the device /dev/tty0 (to force an explicit virtual terminal append a number, e. On your system it might not be $HOME/. Note that VMWare has several viewing modes: Normal X application window (with window manager frame) Quick-Switch mode (with no window manager frame) Fullscreen mode The way VMWare does Fullscreen mode on Linux is to display the Guest desktop in a separate Virtual Terminal (e. TightVNC file transfer is off by default, if you want to enable it use the -tightfilexfer option. X11vnc’s default behavior is to watch both CLIPBOARD and PRIMARY and whenever one of them changes, it sends the new text to connected viewers. Yes, see this page for how to do this and the utility commands x11vnc provides to create and manage many types of certificates and private keys. His solution was to disable all of the above and use -nomodtweak. Here are some aliases for interesting device files that can be polled via -rawfb: -rawfb console /dev/fb0 Linux Console -rawfb vt2 /dev/vcsa2 Linux Console (e. For rapid scrolling (i. Xawtv, spcaview, and hope they persist when x11vnc re-opens the device. ) This is the only time x11vnc actually tries to start up an X server (normally it just attaches to an existing one. ) As of Aug/2004 -cursorpos is the default. Note: DtLogin: The above (in ‘One time only’) Dtlogin*grabServer:False step for Solaris will be needed for dtlogin here as well. Even with the correct acceleration setting there is still some drift (probably because of the mouse threshold where the acceleration kicks in) and so x11vnc needs to reposition the cursor from 0,0 about 5 times a second. For a sequence of keysyms separate them with “+” signs. :0 which is port 5900. However, either of the following button maps could possibly be of use emulating the mouse wheel events in this case: -buttonmap 12345-123:Prior::Next: -buttonmap 12345-123:Up+Up+Up::Down+Down+Down: Exactly what keystroke “scrolling” events they should be bound to depends on one’s taste. See this FAQ for more info. Jar VncViewer HOST far-away. 1, the above VT injection is built in, as well as WxHxB determination. Tip: Note that the -create option is an alias for “-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb”. This can give a very nice effect (note: on Unix the realvnc viewer seems to be smoother than the tightvnc viewer), but can lead to some painting problems, and can be jerky in some circumstances. At some point LibVNCServer may implement a “rfbFBCrop” pseudoencoding that viewers can use to learn which portion of the framebuffer to actually show to the users (with the hidden part used for caching, or perhaps something else, maybe double buffering or other offscreen rendering. See the -scr_skip option for ways to tweak this on a per-application basis. Here is an a example for the xorg. Update: see this FAQ too. ) By default it will only try to start up virtual (non-hardware) X servers: first Xvfb and if that is not available then Xdummy (included in the x11vnc source code. It is based on the vncterm/LinuxVNC. One typically wants to cycle between 5-10 large active windows. The colors are poor, but it is usually noticeably faster than bgr233 (256 colors. Update: As of Mar/2005 x11vnc now scales the mouse cursor with the same scale factor as the screen. Using the -onetile option will use less memory and use fewer shared memory slots (add -fs 1. Handheld), currently the only option is to run two (or more) x11vnc processes with different scalings listening on separate ports (-rfbport option, etc. ) If the number of Bytes Per Line is not WxHxB/8 (i. 9 it will try to apply heuristics to detect if a window manager is not running (i. Running VMWare on a very powerful server machine in a server room that happens to have a video card, (but need not have a monitor, Keyboard or mouse). Q-97: Running x11vnc on HP-UX I cannot type “#” I just get a “3” instead. It is tricky to get Java applets to work in this case: a signed applet must be used so it can connect to the proxy and ask for the redirection to the VNC server. A CGI script) is retrieved via the GET method. /etc/pointercal contains TSLIB’s calibration parameters and are necessary to achieve accurate pointing. The ones after the “-“) As an example, consider a laptop where the VNC viewer is run that has a touchpad with only two buttons. So we simply use: service x11vnc { type = UNLISTED port = 5900 socket_type = stream protocol = tcp wait = no user = root server = /usr/local/bin/x11vnc server_args = -inetd -o /var/log/x11vnc. Suppose on the Viewer side desktop there is some hot-key to switch desktops/rooms/spaces, etc. A really nice thing would be some sort of auto-discovery of your repeater, etc. Gotcha for KDE krdc VNC Viewer: One user found that KDE’s krdc viewer has some sort of hardwired limit on the maximum size of the framebuffer (64MB. XDM/GDM/KDM Login Greeter Panel: If you want to present the user with a xdm/gdm/kdm display manager “greeter” login you can use Xvfb. ) Since this can cause problems with VNC viewers, etc, the -24to32 option will be automatically imposed when in 24bpp. The Video4Linux Capture device, /dev/video0, etc is either a Webcam or a TV capture device and needs to have its driver enabled in the kernel. This often occurs on a public Solaris machine using the default of only 100 slots. You have grabbed the title bar or a resizer edge (this requirement can be disabled and it also not applied if a modifier key, e. ) there appears to be a bug in the Xorg X server where the XTestFakeMotionEvent() interface ignores the screen argument passed to it. You can adjust the number of resets via “-norepeat N”, or use “-norepeat -1″ to have it keep resetting it whenever autorepeat gets turned back on when clients are connected. These options may help avoid the problem: ” (i. ) Update: -xinerama is now on by default. Then Select “Window Behavior”. Perhaps /var/log is a better place. SSVNC (see below) can do this automatically. ” The workaround for his 1280×1024 x11vnc-side display was to run with “-ncache 10”, i. ) However in this case x11vnc will only work reasonably in single window -id windowid mode (and the window may need to have mouse focus. Multiple monitors joined together to form one big, single screen. See shmat(2) and ipcs(8) for more info. The framebuffer lines are padded) you can specify this information after WxHxB via “-BPL”, e. One will need to try to adjust the size of his VNC Viewer window so the cache area cannot be seen. Notes: X11: x11vnc will also work (as it has for years) with a X11 server (XDarwin) running on Mac OS X (people often install this software to display remote X11 apps on their Mac OS X system, or use some old favorites locally such as xterm. This seems to be a bug in the X DAMAGE implementation of that driver. To terminate them use the normal way to Exit/LogOut from inside your X session. Q-109: I am using x11vnc where my local machine has “popup/hidden taskbars” and the remote display where x11vnc runs also has “popup/hidden taskbars” and they interfere and fight with each other. A drawback of the “-ncache n” method is that in the VNC Viewer you can scroll down and actually see the cached pixel data. ) Something like the -remap Alt_L-Meta_L to x11vnc may be sufficient for ones needs, and does not modify the X server environment. The first obvious one is network bandwidth savings. Static Find the name of the auth file as in this FAQ. ) Most systems these days have firewalls turned on by default, so you will actively have to do something to poke a hole in the firewall at the desired port number. Using the VT number. Yes, as of Mar/2005 x11vnc will use the X DAMAGE extension by default if it is available on the display. ) See also the FAQ about the -xkb option as a possible workaround using the XKEYBOARD extension. ) Use “-xd_area 0” to disable the cutoff and trust all DAMAGE rectangles. Vnc and set disableSSL=yes (note that this has no encryption; please use SSL or SSH as discuss elsewhere on this page) in the URL or the file. Can also cause problems, and should be avoided when using VNC. Com) specify the -vncconnect option to x11vnc (Note: as of Dec/2004 -vncconnect is now the default. As above, if you specify a “@WxHxB. One such popular tool is pyvnc2swf. These will repair themselves after the scroll is over, but when they are severe it can be distracting. D/avahi-daemon start” and “/etc/init. ) and if it succeeds it will show any text or graphics that is currently displayed. As of Apr/2005 two new options (see the wireframe FAQ and scrollcopyrect FAQ below) provide schemes to sweep this problem under the rug for window moves or resizes and for some (but not all) window scrolls. Also see the Update Oct/2009 above where x11vnc 0. Update: as of Dec/2004 -norepeat is now the default. Log -http -prog /usr/local/bin/x11vnc -svc Tip: In addition to the usual unixpw parameters, inside the VNC viewer the user can specify after his username (following a “:” see -display WAIT for details) for FINDCREATEDISPLAY they can add “geom=WxH” or “geom=WxHxD” to specify the width, height, and optionally the color depth. ) To do this x11vnc uses the RECORD X extension to snoop the X11 protocol between the X client with the focus window and the X server. Var X11VNC_SKIP_DISPLAY to a comma separated list of displays to ignore in the FINDDISPLAY process (to force creation of new displays in some cases. One way to achieve this is to have a Xvfb(1) virtual framebuffer X server running in the background and have x11vnc attached to it. The basic ideas of doing this were discussed for external tunnel utilities here. Little picture: an arrow, X, I-beam, resizer, etc) is one of the few WRITE-only objects in X11. ) You may not like these defaults. Vncconnect command: To use the vncconnect(1) program (from the core VNC package at www. So this is a bug in compiz/beryl or XDAMAGE/Xorg or the (possibly 3rd party) video card driver. “fred:geom=800×600” at the login: prompt. AA fonts do not compress as well as traditional fonts (sometimes 10X less. Plist # ignore any ‘Delete: Entry, “:LimitLoadToSessionType”, Does Not Exist’ message and then restarting (yes, you must restart not just log off). You can try -threads (note this mode can be unstable and/or crash; and as of May/2008 is strongly discouraged, see the option description) or dial down the wait time (e. If the Linux version seems to be 2. Another way to achieve the same thing is to use the applet PORT parameter: https://yourmachine. Another is less CPU load on “S” since it handles many fewer simultaneous connections. ) Q-116: Can I connect via VNC to a Qt-embedded/Qt-enhanced/Qtopia application running on my handheld, cell phone, or PC using the Linux console framebuffer (i. Sometimes it is more distracting that a speedup occasionally doesn’t work as opposed to being consistently slow. G it will crash rather than mysteriously interacting with the X display. ) Also, note that xmodmap(1) lets you directly adjust the X server’s button mappings, but in some circumstances it might be more desirable to have x11vnc do it. Details:
suppose you press a key DOWN and it generates changes in large regions of the screen. Be careful applying such an option via remote control. For an embedded system one may also want to add –without-x if the embedded system does not use X11 and the -rawfb mechanism must be used. Finally, there is an option -alpharemove that is useful for themes where many cursors are light colored (e. Use -noadd_keysyms to disable. Details can be found here. ) KDM: One user running the kdm display manager reports putting this line: x11vnc -forever -rfbauth /home/xyz/. Update: Use the -find, -create, -svc, and -xdmsvc options that are shorthand for common FINDCREATEDISPLAY usage modes (e. If such a change is detected framebuffer polling and updates will be suspended and only an animated “wireframe” (a rectangle outline drawn where the moved/resized window would be) is shown. This can be done via the -remap option using the fake “keysyms” Button1, Button2, etc. ) You will see output something like this: 14/05/2004 11:13:56 Autoprobing selected port 5900 14/05/2004 11:13:56 Listening for HTTP connections on TCP port 5800 14/05/2004 11:13:56 URL http://walnut:5800 14/05/2004 11:13:56 screen setup finished. Cgi that allows redirection to other machines inside the firewall already running SSL enabled VNC servers. To change the preference of Xservers and which to try list them, e. Does your keyboard have a single key with both “” on it. 0x317 gives 1024x768x16, etc. Since Jul/2004 -modtweak is now the default. This speedup is the VNC CopyRect encoding: the framebuffer update doesn’t need to send the actual new image data. 5900 (default VNC port) or 22 (default SSH port for tunnelling VNC. Other display managers (kdm, etc) may also have a similar problem. Otherwise the device will be queried. Uinput allows insertion of BOTH keystrokes and mouse input and so it preferred when accessing graphical (e. Some of the drivers are video card specific and accelerated. TurboVNC compresses that to JPEG in a much shorter time. For traditional bitmap cursors the alpha value will be 0 for completely transparent pixels and 255 for completely opaque pixels; whereas for modern, eye-candy cursors an alpha value between 0 and 255 means to blend in the background colors to that degree with the cursor colors. ) Sometimes x11vnc will notice the problem with shm segments and tries to get by with fewer, only giving a warning like this: 19/03/2004 10:10:58 shmat(tile_row) failed. Here are some ideas: Use the description under “Continuously” in the FAQ on x11vnc and Display Managers Use the description in the FAQ on x11vnc and inetd(8) Use the description in the FAQ on Unix user logins and inetd(8) Start x11vnc from your $HOME/. See the next FAQ for a possible workaround for touchscreens. ) Many video4linux drivers tend to set the framebuffer to be 24bpp (as opposed to 32bpp. That will be used in the field. Log -http -prog /usr/local/bin/x11vnc -svc disable = no } To print out the script in this case use “-display WAIT:cmd=FINDCREATEDISPLAY-print”. Q-106: Independent of any XRANDR, can I have x11vnc rotate and/or reflect the screen that the VNC viewers see. /bin/sh # toolchain from: qtmoko-debian-toolchain-armv4t-eabi. 14/05/2004 11:13:56 The VNC desktop is walnut:0 PORT=5900 then you can connect to that URL with any Java enabled browser. You will also need to download the TurboJPEG software. You should change the line in proxy. See the -pipeinput description for tunable parameters, etc. Disable window animations, etc. Sometimes this is called “Personal Settings”. D/dtlogin stop /etc/init. The X server believes the key has been held down all this time, and applies its autorepeat rules. As an example, suppose the VNC viewer machine has a mouse wheel (these generate button 4 and 5 events), but the machine that x11vnc is run on only has the 3 regular buttons. An experimental mode is “-proxy http://host:port/. However if -wireframe is active (on by default in x11vnc 0. In mozilla/firefox and in terminal windows like gnome-terminal and xterm. Something like “-remap Super_R-Mode_switch” x11vnc option may work. ) inetd(8) is not required for this, but it makes some aspects more general. X11vnc is able to hold the PRIMARY and CLIPBOARD selections (Xvnc does not seem to do this. A VNC viewer must support the Cursor Positions Updates for the user to see the mouse motions (the TightVNC viewers support this. Control or Alt is “stuck” in a pressed down state. There are some annoyances WRT Xvfb however. Which keystrokes should trigger scroll detection. The -unixpw option allows UNIX password logins. You may also need to set VideoRam NNN to be large enough to hold the framebuffer. If the Solaris install is an older X-based one, there will be a menu for you to get a terminal window. Sometimes you can snoop on a program’s framebuffer it did not expect you would be polling. ) Update Aug/2010: A user reports the following useful information: This is not a problem on Mac OS X 10. This is especially true for cameras where slight wavering in brightness is always happening. ) For this to work, you will need to enable localhost XDMCP (udp port 177) for the display manager. The option “-xd_mem f” may also be of use in tuning the algorithm. For xinetd(8), one user reports he created the file /etc/xinetd. To enable it use the “-scale fraction” option. Also, in some circumstances the -threads option can improve response considerably. It should be possible to use a driver for the card instead of the vesa driver and this will enable larger resolutions and could be faster too. Related to the bpp above, the pixel format can be set via the fmt=XXX, where XXX can be one of: GREY, HI240, RGB555, RGB565, RGB24, and RGB32 (with bpp 8, 8, 16, 16, 24, and 32 respectively. Workarounds can possibly be created using the -remap x11vnc option: -remap asciitilde-dead_tilde,asciicircum-dead_circumflex etc. One way a slow client affects things is if there are some large framebuffer writes (e. Q-124: Can I use x11vnc to record a Shock Wave Flash (or other format) video of my desktop, e. You can replace “host:N” with “listen” or “listen:port” for reverse connections. There are some situations where the cursor transparency can also handled exactly: when the VNC Viewer requires the cursor shape be drawn into the VNC framebuffer or if you apply a patch to your VNC Viewer to extract hidden alpha channel data under 32bpp. ) As of Mar/2005 x11vnc has the “-clip WxH+X+Y” option to select a rectangle of width W, height H and offset (X, Y). /bin/sh COLUMNS=256 export COLUMNS authfile=`ps wwaux | grep ‘/X. On Linux if the virtual terminal is known the program appends “,VT=n” to the DISPLAY line; a chvt n will be attempted automatically. 02 seconds to read the entire screen in. The caveats are the X session VMWare is in must be in the active VT and the window must be fully visible, so this mode is not terribly convenient, but could be useful in some circumstances (e. ) Otherwise it cannot connect to the PasteBoard server. The name of the display manager startup script file depends on desktop used and seem to be: GDM (GNOME) /etc/X11/gdm/Init/Default /etc/gdm/Init/Default KDM (KDE) /etc/kde*/kdm/Xsetup XDM /etc/X11/xdm/Xsetup (or sometimes xdm/Xsetup_0) CDE /etc/dt/config/Xsetup although the exact location can be operating system, distribution, and time dependent. It may be possible to retrieve it via scp(1) too. 6 or later and the “uinput” module appears to be present, then the uinput method will be used instead of /dev/ttyN. The above inetd example then simplifies to: 5900 stream tcp nowait root /usr/sbin/tcpd /usr/local/bin/x11vnc -inetd -o /var/log/x11vnc. If XXX is greater than 500, then it is interpreted as a raw frequency in KHz. Static -forever -nopw -display :0 -auth /tmp/wherever/the/authfile then press Alt-F7 to go back to the X install. We also stripped the binary to make it smaller. For the case of the Linux framebuffer device, /dev/fb0, the fbset(8) may be of use (but may not always be accurate for what is currently viewable. The object will be the path to the regular or character special file for the cases of map and file. So x11vnc cannot access it (however, see this discussion of -rawfb for a possible workaround. In both cases no AltGr is sent to the VNC server, but we know AltGr is needed on the physical international keyboard to type a “@”. Since it starts with the string “/tmp/” x11vnc will use that to know if it should ignore it. Yes, perhaps a line something like this in /etc/inetd. Note that by its very nature, video capture involves rapid change in the framebuffer. If you find the -scrollcopyrect behavior too approximate or distracting you can go back to the standard polling-only update method with the -noscrollcopyrect (or -noscr for short. ) The “snap:” enforces -snapfb mode which appears to be necessary. ) That is, they should not read from the keyboard or mouse or manage the video display unless they have the active VT. And, on Mac OS X 10. Q-92: When typing I sometimes get double, triple, or more of my keystrokes repeated. Q-69: Can I use x11vnc as a replacement for Xvnc. In fullscreen mode you cannot scroll past the end of the actual screen, and in non-fullscreen mode the window manager frame is adjusted to fit the actual display (so you don’t see the pixel cache region) and the scrollbars are very thin to avoid distraction and trouble fitting inside your display. PORT=443 this is cleaner because it avoids editing the file, but requires more parameters in the URL. Some users have reported that the mouse does not behave properly for their Xinerama display: i. ) Also try “-rawfb vtN” (on x11vnc 0. You should modify /etc/system as mentioned in another FAQ to increase the limit. ) Most systems these days have firewalls turned on by default, so you will actively have to do something to poke a hole in the firewall at the desired port number. The “X” one means to try to start up a real, hardware X server, e. (This may be due to a bug in the X server for XTEST when Xinerama is enabled. Update Dec/2010: There is experimental built-in UINPUT support in the x11vnc development tarball for qtmoko with touchpad managed by tslib. DirectFB or SVGAlib apps, VMWare non-X fullscreen, or Qt-embedded apps (PDAs/Handhelds. Ko and then run insmod on it, but the module must match the installation kernel. See this jwz link for more information. For quick scrolling, also make sure Backing Store is enabled on the machine vncviewer is run on. Variable set, x11vnc will assume native Aqua/Quartz on Mac OS X, however if DISPLAY is set it will assume an X11 connection. Another mode is specific to the Linux text Virtual Terminals, it shows their text and colors (but no graphics) regardless of whether it is the active VT or not. A smaller value to be under the krdc threshold. Org for more info (V4L api. The discussion below is a bit outdated (e. ) If you do not have or do not want to get the vncconnect(1) program, the following script (named “Vncconnect”) may work if your xprop(1) supports the -set option: #. ) For a classroom broadcasting setup one might have the first two sets of commands start automatically at bootup or when someone logs in, and then start everything up with the S server. Pc105 in the XF86Config file when it should be something else, say pc104. Also note that scaling may actually slow down the transfer of text regions because after being scaled they do not compress as well. For a special purpose application or a very large screen. Goes up) no events are generated. We provide some useful builtin ones (FINDDISPLAY and FINDCREATEDISPLAY below), but in principle one could supply his own script: “-display WAIT:cmd=/path/to/find_display” where the script find_display might look something like this. ) This scheme is nice because it does all of this within the existing VNC protocol, and so it works with all VNC viewers. The mouse cannot be moved to all regions of the large display. The device filename can be set too if needed (if it does not start with “video”), e. This is probably because no pixel data (only CopyRect instructions) are sent when dragging a window. Q-105: Does x11vnc support the XRANDR (X Resize, Rotate and Reflection) extension. Without Video4Linux you will need to initialize the settings of the video device using something like xawtv or spcaview (and then hope the settings persist until x11vnc reopens the device. D/x11vncservice containing the following: # default: off # description: service x11vncservice { flags = REUSE NAMEINARGS port = 5900 type = UNLISTED socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/tcpd server_args = /usr/local/bin/x11vnc_sh disable = no } With the contents of /usr/local/bin/x11vnc_sh similar to the example given above. There may also be scaling viewers out there (e. Surprisingly, for very slow connections, e. Static via wget, scp, or ftp. Enforce a solid background when VNC viewers are connected via -solid Try x11vnc’s client-side caching client-side caching scheme: -ncache Specify -speeds modem to force the wireframe and scrollcopyrect heuristic parameters (and any future ones) to those of a dialup modem connection (or supply the rd,bw,lat numerical values that characterize your link. (reduces amount of data needed to be polled, compressed, and sent) Use a smaller desktop size (e. To make the desktop smaller. If it works out well enough TurboVNC support will be integrated into x11vnc and more of its tuning features will be implemented. For reasons not yet understood the RECORD extension can stop responding (and hence scrolls are missed. A rate of 10 MB/sec means a 1280x1024x24 screen takes 0. ) Next it will only consider a window for wireframing if the mouse pointer is initially “close enough” to the edges of the window frame, e. The -blackout x11vnc option allows you to blacken-out rectangles by manually specifying their WxH+X+Y geometries. On slow links x11vnc may automatically decide to not detect scrolls when -scale is in effect. Q-87: Is it possible to swap the mouse buttons (e. Yes, this is possible to some degree with the -rawfb option. ) Then once you are connected via VNC, iconify the Terminal windows (you can’t delete them since that will kill x11vnc. Note that running as RFB version 3. Experiment to see if -nojpeg vncviewer option improves the readability of text when using -scale to shrink the display size. See -pipeinput UINPUT for more info. Alternatively, as with -wireframe, there are many tuning parameters to try to improve the situation. X11vnc polls the area for changes. 2 or you have disabled it via -nowireframe) then Disable Opaque Moves and Resizes in the window manager/desktop.
[Mouse Cursor Shapes]
Q-82: Why isn’t the mouse cursor shape (the little icon shape where the mouse pointer is) correct as I move from window to window. Note: On Solaris you cannot have the bare number 5900 in /etc/inetd. ) The Enhanced TightVNC Viewer (SSVNC) Unix viewer has a nice -ycrop option to help hide the pixel cache area from view. ) Another issue is that it appears VNC viewers require the screen width to be a multiple of 4. ” to remove rarely used features and large texts (use 2 or 3 instead of 1 to remove more. The -find, -create, -svc, and -xdmsvc aliases can also come in handy here. Please help us debug this problem by trying x11vnc on your device and letting us know what does and does not work. This provides a “desktop service” for the machine. In general you can manually turn autorepeating off by typing “xset r off”, or a using desktop utility/menu, or “x11vnc -R norepeat”. See -pipeinput UINPUT below for more information on this mode (you may want to also use the -nodragging and -cursor none options. You may also need to iconify and then deiconify any damaged windows to correct their cache data as well. Enable this mode like this: x11vnc -rawfb vt x11vnc -rawfb vt2 The former will select the active one, the latter the 2nd VT. Q-101: Does x11vnc support server-side framebuffer scaling. Another useful option that turns off any Lock keys on the remote side at startup and end is the -clear_all option. A fast proprietary JPEG implemention is used (Intel IPP on x86) instead of the usual libjpeg implementation. If you do not want to use -xkb, try the option -sloppy_keys to attempt a similar type of algorithm. ) On Linux, examine /proc/sys/kernel/shmmni; you can modify the value by writing to that file. /start_x11vnc” (or have ssh run the command for you. This mode could be useful if the X server restarts often. The former (-modtweak) is a mode that monitors the state of the Shift and AltGr modifiers and tries to deduce the correct keycode sequence to send. See also the -httpsredir x11vnc option that will try to automate this for you. That said, it is possible to “stream” video via x11vnc if the video window is small enough. To have x11vnc serve up a Java VNC viewer applet to any web browsers that connect to it, run x11vnc with this option: -httpdir /path/to/the/java/classes/dir (this directory will contain the files index. To make a long story short, on these newer XFree86 setups the traditional X keymap lookup x11vnc uses is no longer accurate. Also, note the “-rfbport 0” option disables TCP listening for connections (potentially useful for reverse connection mode, assuming you do not want any “forward” connections. The problem with Windows is it does not seem to handle AltGr well. ) For X11 and Qt-embedded the acceleration is usually 2 (i. 1024×768 instead of 1280×1024) Make sure the desktop background is a solid color (the background is resent every time it is re-exposed. It redraws the entire, unseen, frame window underneath the application window when it gains focus), or the application itself (e. When text is selected/copied in the X session that x11vnc is polling it will be sent to connected VNC viewers. ) The web server’s firewall must allow incoming connections to these ports. Tip: Note that -xdmsvc is a short hand alias for the long “-ssl SAVE -unixpw -users unixpw= -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb. The user does not have to memorize which VNC display number is his. The problem was traced to a strange keyboard mapping for the machine (e. ) Something would need to be done at a lower level, say in the XFree86/Xorg X server. ) Update: As of May/2006 x11vnc also supports the UltraVNC server-side scaling. Also note that if you wanted to, you could also start the Java viewer entirely from the viewer-side by having the jar file there and using either the java or appletviewer commands to run the program. D/x11vnc: service x11vnc { type = UNLISTED port = 5900 socket_type = stream protocol = tcp wait = no user = root server = /usr/local/bin/x11vnc server_args = -inetd -o /var/log/x11vnc. The above mode will allow direct SSL (e. Compressed and/or shared) client-side caching is that one needs to extend the VNC protocol, modify a viewer and then also convince users to adopt your modified VNC Viewer (or get the new features to be folded into the main VNC viewers, patches accepted, etc. ) Make sure the tight (or zrle) encoding is being used (look at vncviewer and x11vnc outputs) Request 8 bits per pixel using -bgr233 (up to 4X speedup over depth 24 TrueColor (32bpp), but colors will be off) RealVNC 4. Normally it is a good thing that the monitor powers down (since x11vnc can still poll the framebuffer in this state), but if you experience the kdesktop_lock problem you can specify the “-nodpms” option to keep the Monitor out of low power state while VNC clients are connected. X11vnc will try to detect the format change and clear (make completely black) the cache region. ) How come the view in a VNC viewer connecting to x11vnc is either completely black, doesn’t update, or pixels messed up unless the X session x11vnc is attached to is in the active VT. The created X server sessions (virtual or real hardware) will remain running after you disconnect the VNC viewer and will be found again on reconnecting via VNC and logging in. ) They just connect to the various test machines over the network via VNC. “-wait 10 -defer 10″. Q-89: When I try to type a ” Preferences -> Advanced -> Use Smooth Scrolling (deselect it. Q-107: Why is the view in my VNC viewer completely black. Its Sun keyboard has just one Alt key labelled “Alt” and two Meta keys labelled with little diamonds. /bin/sh # # start_x11vnc: start x11vnc in a Terminal window # (this will allow Clipboard/Pasteboard exchange to work) tmp=/tmp/start_x11vnc. Depending on which remote desktop (x11vnc side) is used, it can act very strangely. Nobody is logged into an X session yet. Does large, unnecessary repaints. Note that Super_R is the “Right Windoze(tm) Flaggie” key; you may want to choose another. CopyRect; a fast, essentially local viewer-side VNC encoding; is used to swap the pixel data in and out of the actual display area. Since you are inside the viewer the Alt_L key press is sent to the other side (x11vnc) and so it is pressed down in the remote desktop as well. If the name is something nonstandard, use “console:/dev/foofb” If you do not want x11vnc to guess the framebuffer’s WxHxB and masks automatically (sometimes the kernel gives inaccurate information), specify them with a @WxHxB at the end of the string. Linewidth of the outline frame. Sh that has all of the options. /dev/fb0) it is the kernel that is “updating” the framebuffer data. See the documentation for your display manager: gdm(1), kdm(1), xdm(1), dtlogin(1) for additional details. “ã” by typing “a” instead of space. The option -modtweak should help here. BTW, since XWD is not strictly RGB the view will only be approximate, but usable. When using it with x11vnc in such a situation you may want to dial down the delays, e. ) proxies only allow port 443 (HTTPS) and 563 (SNEWS) by default. You can set the environment variables STUNNEL and VNCVIEWERCMD to point to the correct programs if you want to override the defaults. See your system administration tool for Firewall settings (Yast, Firestarter, etc. Betty is on Ctrl-Alt-F7, Bobby is on Ctrl-Alt-F8, and Sid is on Ctrl-Alt-F1: they use those keystrokes to switch between their sessions. : x11vnc -display :0 -R connect:hostname. This may be resolved if the install had the Linux kernel module uinput, but it doesn’t; one can wget uinput. The primary thing you need to decide is whether you want x11vnc to connect to the X session on the machine 1) regardless of who (or if anyone) has the X session, or 2) only if a certain user has the X session. Selecting text while dragging the mouse may be slower, especially if the Button-down event happens near the window’s edge. This extension is usually present on most X servers (but SuSE disables it for some reason. ) Turn off Anti-aliased fonts on your system, web browser, terminal windows, etc. Use the -noalphablend option to disable this behavior (always approximate transparent cursors with opaque RGB values. This can be done directly in some X servers using AccessX and Pointer_EnableKeys, but is a bit awkward. ) In either case, one can view this desktop both remotely and also locally using vncviewer. Since x11vnc is merely guessing when windows are being moved/resized, it may guess poorly for your window-manager or desktop, or even for the way you move the pointer. 64-128) viewer classroom broadcast case would be to run R’s on areas isolated by network switches, e. This usually requires about 50-100MB of additional RAM on both the client and server sides. The first is called ‘One time only’ meaning you just need to do it quickly once and don’t want to repeat; and the second is called ‘Continuously’ meaning you want the access to be available after every reboot and after every desktop logout. The permissions of the log files and certs directory will need to be set up to allow “nobody” to use them. Likely takes many years before they might be deployed in the field. : xmodmap -e “keycode 47 = 3 numbersign” Also, as of Feb/2007, set the environment variable MODTWEAK_LOWEST=1 (either in your shell or via “-env MODTWEAK_LOWEST=1″ option) to handle these mappings better. Or why is everything flashing around randomly. The only XFIXES issue is the handling of alpha channel transparency in cursors. )
[Screen Related Issues and Features]
Q-100: The remote display is larger (in number of pixels) than the local display I am running the vncviewer on. ) Without -modtweak there was then an ambiguity in the reverse map keysym => keycode, making it so the ” Copy” or presses “Control+C” (and pasting it via “Edit -> Paste” or “Control+V”. Konqueror and Konsole don’t work. ) In addition to the text console other graphical ones may be viewed and interacted with as well, e. Also note that with a little bit of playing with “xwininfo -all -children” output one can extract the (non-toplevel) window-id of the of the Guest desktop only when VMWare is running as a normal X application. The VNC password (-rfbauth) as opposed to Unix password (-unixpw) is used to authenticate the VNC client. Note that you cannot send Alt_L in this case, maybe -remap Super_L-Meta_L would be a better choice if the Super_L key is typically unused in Unix. @800x600x16-2048 Based on the bpp x11vnc will try to guess the red, green, and blue masks (these indicate which bits correspond to each color. : “-proxy http://host1:port1,socks5://host2:port2” in case one needs to ricochet off of several machines to ultimately reach the listening viewer. Then in the lone xterm that comes up type “vnclocal” to connect to your virtual X display via x11vnc and vncviewer. Yes, you may need to be root to access the devices that make up the linux console. The standard way to start the “dummy” driver would be: startx — :1 -config /etc/X11/xorg. Also in Firefox disable eye-candy, e. As of Mar/2004 x11vnc supports reverse connections. ) A web proxy may also be specified via “-proxy http://host:port” For SOCKS4 and SOCKS4a proxies use this format “-proxy socks://host:port”. )
Q-61: Can I run x11vnc out of inetd(8). ) Is there anything to do to improve things. If there is a firewall blocking incoming connections during the install, use the “-connect hostname” option option for a reverse connection to the hostname running the VNC viewer in listen mode. (this can often be a significant slowdown, e. RGBA data) for Rich Cursors. On your system it might not be $HOME/. Building: If you don’t have the X11 build and runtime packages installed you will need to build it like this: (cd to the e. Q-83: When using XFIXES cursorshape mode, some of the cursors look really bad with extra black borders around the cursor and other cruft. From that window you might be able to retrieve x11vnc. We ran this script to set PATH, configure, and build: #. Q-98: Can I map a keystroke to a mouse button click on the remote machine. ) Then restart dtlogin, e. Depending on your setup you may need to install Avahi (including the development/build packages), enable the server: avahi-daemon and avahi-dnsconfd, and possibly open up UDP port 5353 on your firewall. By specifying it, x11vnc will try to do smooth opaque window moves instead of its wireframe. The X server will return “garbage” image data for these areas and so they may be distracting to the viewer. X11vnc may not get to processing the key UP event until after the screen work is completed. 5-27) but not the development package (you can use the OpenSuSE avahi-devel rpm. ) The “-cc 4″ Xvfb option is to force it to use a TrueColor visual instead of DirectColor (this works around a recent bug in the Xorg Xvfb server. Once it traps the screen change it will create a new framebuffer using the new screen. The problem here is that on the Xserver where x11vnc is run there are two keycodes that correspond to the ” $tmp x11vnc -reflect listen -connect client9,client10. The VNC server connecting to the VNC viewer) using “vncviewer -listen” and vncconnect(1) supported. , “@” the Windows VNC viewer sends events bringing the up the Control_L+Alt_R keys, and then sends the “@” keysym by itself. Deny settings to limit the machines that can connect to this service (your desktop. Will give similar results except that it applies to all clients. ) If x11vnc is regularly not cleaning up its shm segments, please contact me so we can work to improve the situation. I don’t like the vncviewer scrollbars, what I can do. Look in the include file /dev/null” for proper operation via inetd (otherwise the standard error also goes to the VNC vncviewer, and that confuses it greatly, causing it to abort. There is also the -loop option that does something similar. The reason inetd(8) makes this easier is that it starts a new x11vnc process for each new user connection. For Debian console-framebuffer GUI based installs (installgui or expertgui) we have not be able to enter keystrokes or mouse motions. It is a global scaling of the desktop, not a per-client setting. )
[Exporting non-X11 devices via VNC]
Q-113: Can non-X devices (e. Use the -noprimary described below as a workaround. This does not always work, however, since it depends on how the desktop manages these “warps”. One based on SVGAlib or Qt-embedded Also, for example the VMWare Fullscreen mode is actually viewable under -rawfb and can be interacted with if uinput is enabled. ) in the [daemon] section: KillInitClients=false Then restart: /usr/sbin/gdm-restart (or reboot. As of May/2005 x11vnc will by default apply heuristics to try to detect if the window that has the input focus is scrolling its contents (but only when x11vnc is feeding user input, keystroke or pointer, to the X server. If you do not want to or cannot figure out the X startup script name (. All of the GDM topics apply here as well: Note: GDM: The above (in ‘One time only’) gdm setting of KillInitClients=false in /etc/X11/gdm/gdm. The Viewer then draws the virtual X session on to the real one. ) The DAMAGE extension enables the X server to report changed regions of the screen back to x11vnc. A dx of 1 from the mouse yields a 2 pixel displacement of the mouse cursor. Historically, the X11 mouse cursor shape (i. The console is either the Text consoles (usually tty1-tty6), or X graphical display (usually starting at tty7. Update: We are finding some setups like Qtopia on the IPAQ do not allow mouse input via uinput. Xclients, or something else. The offset is measured from the upper left corner of the selected window. Otherwise, just restart x11vnc and then reconnect your viewer. Vnc (instead of the unsigned one in https://yourmachine. (default 400) -macmenu For the native Mac OS X server, in -ncache client-side caching mode, try to cache pull down menus (not perfect because they have animated fades, etc. ) If you are having much trouble with shm segments, consider disabling shm completely via the -noshm option. Note that the -debug_pointer option prints out much info for every mouse/pointer event and is handy in solving problems. If the machine is a traditional Xterminal you may want to read this FAQ. You will need to figure out what it is for your system and configuration. Maybe your desktop has a “low bandwidth” theme you can easily switch into and out of. Another method, faster and more accurate, is to use the “dummy” Device Driver in XFree86/Xorg (see below. Then run it something like this: sleep 10;. Support for TurboVNC in SSVNC viewer has been added as an experiment as well. You may also need to add extra link options (e. ) It also noticeably improves updates, especially for very small changed areas (e. All of the above -rawfb options are just for viewing the raw framebuffer (although some of the aliases do imply keystroke and mouse pipeinput methods. One x11vnc user suggests: it should be straightforward to right mouse click on the task bar panel, and uncheck “enable auto-hide” from the panel properties dialog box. However, you need to configure xdm/gdm/kdm to accept localhost XDMCP messages, this can be done by (from -help output): If you want the FINDCREATEDISPLAY session to contact an XDMCP login manager (xdm/gdm/kdm) on the same machine, then use “Xvfb. However, in the libvncserver CVS there is a patch to the TightVNC viewer to make this work for CursorShapeUpdates under some circumstances. Both of these keysyms were bound to Mod5 and x11vnc was unfortunately choosing Mode_switch. ) This gives the snappiest response, but might be undesired in some circumstances when you want to see the visual feedback while dragging (e. 9 development tarball there is an experimental client-side caching implementation enabled by the “-ncache n” option. Setting KillInitClients=false in the [daemon] section of /etc/X11/gdm/gdm. Q-56: How do I use the Java applet VNC Viewer with built-in SSL tunneling when going through a Web Proxy. ) So it is convenient that the “-ncache n” works with any unaltered VNC viewer. To do this you should use the proxy. Other display managers (KDM, etc) may also have a similar problem. “ps wwaux | grep auth”) and hence the path to the auth file. Note that the -remap mappings are applied first, right when the Keysym is received from a VNC viewer, and only after that would -add_keysyms, or anything else, come into play. One can tap the Alt_L key (Left “Alt” key) 3 times in a row to signal x11vnc to refresh the screen to all viewers. You either get your real X session or your virtual (Xvfb/Xdummy) one whenever you connect to the machine (inetd(8) is a nice way to provide this service. Incomplete attempt is made to make all of the other options consistent with non-X framebuffer polling. This is basically the same as typing “xset dpms force on” periodically. The mode is currently on by default because most people are afflicted with the problem. Please consider the security implications of this. This behavior is often the fault of the window manager (e. /configure –without-x (plus any other flags) make You can then test via “ldd x11vnc” that the binary does not depend on libX11. To skip input injecting entirely use “consolex”. Maximum time to wait for dragging pointer events. Then run x11vnc as your userid with -auth pointed to the copied file. We also had to comment out the browse-domains line in /etc/avahi/avahi-daemon. Yes, the basic method for this is the -rawfb scheme where the Linux console framebuffer (usually /dev/fb0) is polled and the uinput driver is used to inject keystrokes and mouse input. Let us know if there are any remaining problems (see the next paragraph for some known problems. Two options were added: “-rawfb string” (to indicate the raw frame buffer device, file, etc. These are the preferred way of avoiding the “lurching” problem, contact me if they are not working. Xinitrc or autostart script or. Log -display :0 -auth “$authfile” fi exit 1 Starting with x11vnc 0. Either start it running before you leave, or start up a 2nd x11vnc inside from a 1st one started outside, or use the apple script below) Here also is a osascript trick that seems to work (it opens the Terminal app and instructs it to start x11vnc): #. X11vnc can’t find the keysym “@” anywhere in the keymapping. ) xinerama1 for the 2nd sub-screen, etc. You may want to experiment with “dialing down” the framerate via the -wait, -slow_fb, or -defer options. On the other hand, an NVidia driver may have a read rate of 250 MB/sec and so only takes 0. In addition, something like “-sb 15″ will cause x11vnc to go into a deep-sleep mode after 15 seconds of no activity (instead of the default 60. ) The -find, -create, -svc, and -xdmsvc aliases can also come in handy here. ” where the URL (e. Since the process runs as root, it might be a bad idea to have the logfile in a world-writable area like /tmp if there are untrustworthy users on the machine. Note that some OS’s have a remote install (ssh etc. So you can use x11vnc as an alternative to OSXvnc (aka Vine Server), or Apple Remote Desktop (ARD). See the previous FAQ’s for non-X11 framebuffer usage. The “tee:” prefix means x11vnc will both process the user input and pipe it to the command. This can leave the Alt key pressed down on the remote side. For more control and less overhead use libvncserver in your own C program that passes the framebuffer to libvncserver. For example with n=6 a 1280×1024 display will use a framebuffer that is 1280×7168: everything below row 1024 is the pixel buffer cache. ) Here is one way to start up Xvfb: xinit — /usr/bin/Xvfb :1 -cc 4 -screen 0 1024x768x16 This starts up a 16bpp virtual display. ) Q-60: How can I use x11vnc to connect to an X login screen like xdm, GNOME gdm, KDE kdm, or CDE dtlogin. 4 tarball) there is support for native Mac OS X Aqua/Quartz displays using the -rawfb mechanism described above. As of Oct/2005 and May/2006 x11vnc enables, respectively, the TightVNC and UltraVNC file transfer implementations that were added to libvncserver. Note that all of Xorg’s drivers currently (2009) have slow read rates (only proprietary drivers appear to have optimized reads. BTW, “mmap” is an alias for “map” and if you do not supply a type and the file exists, map is assumed (see the -help output and below for some exceptions to this. Make sure the -scrollcopyrect option is active (it should be on by default. The SSL enabled Java VNC Viewer and firewall Proxies: SSL and HTTPS aside, there is a general problem with Firewall Proxies and Java Applets that open sockets. For the gnome display manager, GDM: x11vnc -auth /var/gdm/:0. X viewer with ZRLE encoding is not too bad either; some claim it is faster. How can I fix this. Without the VMWare menu buttons) by use of the -id windowid option. This appears to be because the 3D OpenGL/GLX hardware screen updates do not get reported via the XDAMAGE mechanism. The default is 20000 pixels (e. And its parameters) and “-pipeinput command” (to provide an external program that will inject or otherwise process mouse and keystroke input. Aside: Sometimes it is convenient (for performance, etc. The machine where I run the VNC viewer only has Alt keys. -macnosleep For the native Mac OS X server, disable display sleep. ) For reference, xinetd format in the file, say, /etc/xinetd. This may be due to an interplay between your X server’s key autorepeat delay and the extra time delays caused by x11vnc processing. XDM/GDM/KDM One-Shot X sessions: For the general replacement of Xvnc by Xvfb+x11vnc, one user describes a similar setup he created where the X sessions are one-shot’s (destroyed after the vncviewer disconnects) and it uses the XDM/GDM/KDM login greeter here. The above xmodmap scheme can often be used to work around other ambiguous keysym to keycode mappings. The display manager scheme will not be specific to which user has the X session unless a test is specifically put into the display startup script (often named Xsetup. )
Example for the KDE desktop:
Launch the “KDE Control Center” utility. If you move the mouse through x11vnc the screensaver shuts off like it should but then a second or two after you stop moving the mouse the screensaver snaps back on. Note: Solaris: For dtlogin in addition to the above sort of trick (BTW, the auth file should be in /var/dt), you’ll also need to add something like Dtlogin*grabServer:False to the Xconfig file (/etc/dt/config/Xconfig or /usr/dt/config/Xconfig on Solaris, see the example at the end of this FAQ. B to increase the brightness or Up arrow to change the TV station: For “-pipeinput VID” and you are using the -rawfb for a video capture device, then an internal list of keyboard mappings is used to set parameters of the video. Modem, the -ncache_cr option can actually improve window drags. Maximum time to show a wireframe animation. [email protected]+37 -rawfb file:/dev/[email protected] -rawfb snap:/dev/[email protected] -24to32 -rawfb console -rawfb vt2 -rawfb video -rawfb setup:mycmd. There do not seem to be any native SSL VNC Viewers outside of our x11vnc and SSVNC packages. So the alpha blending is done on the x11vnc side. This enables setting parameters (e. Remember to do “chmod 755. ) Try increasing the TightVNC -compresslevel (compresses more on server side before sending, but uses more CPU) Try reducing the TightVNC -quality (increases JPEG compression, but is lossy with painting artifacts) Try other VNC encodings via -encodings (tight may be the fastest, but you should compare it to zrle and maybe some of the others) On the machine where vncviewer is run, make sure Backing Store is enabled (Xorg/XFree86 disables it by default causing re-exposures of vncviewer to be very slow) Option “backingstore” in config file. Even a Linux X session can be viewed and interacted with without using X11 (and x11vnc does not have to terminate when the X server restarts. To disable it use “-noncache”. 1000 viewers) one might actually need a 2nd layer of R’s in the tree. Note also the need to set XAUTHORITY via -auth to point to the MIT-COOKIE auth file to get permission to connect to the X display (setting and exporting the XAUTHORITY variable accomplishes the same thing. The initial implementation of -scrollcopyrect option is useful in that it detects many scrolls and thus gives a much nicer working environment (especially when combined with the -wireframe -wirecopyrect options, which are also on by default; and if you are willing to enable the ShadowFB things are very fast. The virtual consoles: /dev/tty1, /dev/tty2, etc) in x11vnc/misc/vcinject. One user reports in his environment (MythTV using the NVIDIA OpenGL drivers) he gets no updates after the initial screen is drawn unless he uses the “-noxdamage” option. When the window move/resize stops, it returns to normal processing: you should only see the window appear in the new position. This seems to be: for gdm in gdm. The idea here is some other program has created this shared memory segment and periodically updates it with new framebuffer data. See also -nocursorpos and -nocursorshape. ) So under these (more or less typical) conditions, the speed improvement provided by TurboVNC may only be marginal. Select “Launch Feedback” and set: Busy Cursor: No Busy Cursor NO – Enable taskbar notification Select “Screen Saver” and set: Screen Saver: Blank Screen Select “Style” and in the “Effects” Tab set: NO – Enable GUI effects
Example for the GNOME desktop:
TBD. While sitting at the same machine it is running on) one can perhaps have something like this in their $HOME/. Try it if the other options don’t help. The latter is used to inject keystrokes (not all are supported, but the basic ones are. If you have very expensive video hardware (SGI, well now even proprietary Xorg drivers are fast at reading) or are using an in-RAM video framebuffer (SunRay, ShadowFB, Xvfb), the read rate from that framebuffer may be very fast (100’s of MB/sec) and so you don’t really see much lurching (at least over a fast LAN): opaque moves look smooth in x11vnc. ) Use “console0”, etc or -pipeinput CONSOLE to force the /dev/ttyN method. See the previous FAQ on -rawfb for background. ) The default x11vnc uses is 2, since that is often used. (this can also be used get characters with the “~” symbol on top, e. ) So it provides simple “terminal services” based on Unix username and password. If you don’t want x11vnc to set CLIPBOARD to the “CutText” received from viewers use the -nosetclipboard option. In the case of a character special (e. It includes most of the libraries that x11vnc needs. Xdmcp” instead of “Xvfb”, etc. OTOH, if run with scaling on a fast machine the performance degradation is usually not a big issue or even noticeable. It is a simple scheme where a (very large) lower portion of the framebuffer (i. “start_x11vnc” and then after you SSH in just type “. There may be other reasons the new mode feels unnatural. Use -nowirecopyrect if this yields undesirable effects for your desktop. ) There are some “dual headed” (actually multi-headed/multi-user) patches to the X server that turn off the VT usage in the X server. This is done via “-rawfb video:”. ) HTTPS/SSL enabled Apache should be used to serve the script to avoid unix and vnc passwords from being sent in cleartext and sniffed. So when that pixel data is needed again it does not have to be retransmitted over the network. It works on Unix, Mac OS X, and Windows. Log -find -env FD_XDM=1 Q-62: Can I have x11vnc advertise its VNC service and port via mDNS / Zeroconf (e. See also the FINDCREATEDISPLAY discussion of the “-display WAIT:cmd=FINDDISPLAY” option where virtual Xvfb or Xdummy, or real X servers are started automatically for new users connecting. Vnc/passwd -ssl SAVE” end tell END osascript $tmp rm -f $tmp where you should customize the x11vnc command line to your needs and the full path to the binary. Although this usage may sound strange it can be quite useful for a GUI (or other) testing or QA setups: the engineers do not need to walk to lab machines running different hardware, OS’s, versions, etc (or have many different machines in their office. ) If you find some extremely bad and repeatable behavior for -scrollcopyrect please report a bug. If you specify “-xrandr exit” then all will be disconnected and x11vnc will terminate. ) Your local desktop (where the VNC Viewer is running) then warps to the new desktop/room/space: Leaving the Alt_L key still pressed down in the remote desktop. Using inetd for this prevents there being a tiny window of opportunity between x11vnc starting up and your vncviewer connecting to it. The easiest way to do this is via inetd(8) using the -unixpw and -display WAIT options. Not ideal, but use of the ShadowFB XFree86/Xorg option speeds up the reading considerably (at the cost of h/w acceleration.

Be forewarned that if more than one vncviewer is connected at the same time then libvncserver may not be thread safe (try to get the viewers to use different VNC encodings, e. ) This option can be unstable and so as of Feb/2008 it is disabled by default. Also, in some circumstances the -threads option can improve response considerably.

These are install (or expert) and installgui (or expertgui) boot lines, respectively. For the console-text based installs you probably need to add a boot cmd line option like vga=0x314 (which is 800x600x16) to get the console-text to use the linux framebuffer device properly. Debian based installs are either console-text or console-framebuffer based.

These commands do not start a x11vnc server, but rather communicate with one that is already running. The X display (X11VNC_REMOTE property) is used as the communication channel, so the X permissions and DISPLAY must be set up correctly for communication to be possible.

/bin/sh if [ “$RFB_CLIENT_IP”. A scheme that avoids a second password involves using the -accept option that runs a program to examine the connection information to determine which user is connecting from the local machine. ) An example script passed in via -accept scriptname that deduces the Unix username and limits who can be accepted might look something like this: #. *UNIX’ | head -n 1 | sed -e ‘s/[r ]//g’ | awk -F: ‘{print }’` for okuser in fred barney wilma betty do if [ “X$user” = “X$okuser” ]; then exit 0 # accept it fi done exit 1 # reject it For this to work with ssh port redirection, the ssh option UsePrivilegeSeparation must be enabled otherwise the userid will always be “root”. Unfortunately recent Linux distros seem to provide a random string (MD5 hash. ) instead of the username. Fi user=`echo “$RFB_CLIENT_PORT, $RFB_SERVER_PORT” | nc -w 1 $RFB_CLIENT_IP 113 | grep ‘USERID. Regarding limiting the set of Unix usernames who can connect, the traditional way would be to further require a VNC password to supplied (-rfbauth, -passwd, etc) and only tell the people allowed in what the VNC password is. 1″ ]; then exit 1 # something fishy. That may be difficult to do, but, for example, the program could use the ident service on the local machine (normally ident should not be trusted over the network, but on the local machine it should be accurate: otherwise root has been compromised and so there are more serious problems.

For a Debian console-text based install after the network is configured press Ctrl-Alt-F2 to get a shell. Then run it something like this: sleep 10;. Retrieve the binary via wget as above and chmod 755 it. Static -forever -nopw -rawfb console then before the sleep is over press Alt-F1 to get back to the install virtual console. You should be able to connect via a VNC viewer and continue with the install.

There do not seem to be any native SSL VNC Viewers outside of our x11vnc and SSVNC packages. If you want to use a native VNC Viewer with the SSL enabled x11vnc you will need to run an external SSL tunnel on the Viewer side. The basic ideas of doing this were discussed for external tunnel utilities here.

75) or the alternative m/n fraction notation (e. “fraction” can either be a floating point number (e. It is a global scaling of the desktop, not a per-client setting. ) Note that if fraction is greater than one the display is magnified. As of Jun/2004 x11vnc provides basic server-side scaling. To enable it use the “-scale fraction” option.