Access control
Only use Xming option -ac or 'xhost +' on trusted networks, never on public ones i.e. be careful as they grant access to everyone. The X protocol network traffic is only encrypted if using X-Forwarding with SSH and this is therefore the recommended method for access control, all others method are potentially unsafe (e.g. using xhost or xauth with telnet).X-Forwarding
If you use X-Forwarding then you don't need to directly use 'xhost'/'xauth' or set a $DISPLAY variable. Use PuTTY with SSH and X-Forwarding and enable it in the 'sshd' daemon (sshd_config file) on the remote machineX11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
My typical PuTTY settings

Use PuTTY to get a remote terminal on your Windows desktop and from that run the X clients you need, or run X clients via 'plink' using a stored session or a 'user@hostname' command. On that remote terminal, $DISPLAY is automatically set to point at display 10 or above when X-forwarding$ echo $DISPLAY localhost:10.0
Both XLaunch and Xmingrc make starting an X Client via Xming's plink easy.Note: If you are connecting to an Ubuntu Server Edition you need package 'xauth' installed for X-Forwarding to work. Also use 'pam_xauth' to automatically forward 'xauth' cookies between users when using 'su'.
xhost program
To use the X server access control program, 'xhost' (host-based), from 'Command Prompt' e.g. on Windows machine '192.168.0.2', with remote machine '192.168.0.3', using display-number '0'...>set DISPLAY=localhost:0 or 127.0.0.1:0 or 192.168.0.2:0 >Xming :0 -multiwindow -clipboard >xeyes or whatever locally, will display on the Windows desktop >xhost +192.168.0.3 and then on the remote machine $ export DISPLAY=192.168.0.2:0 $ xeyes or whatever remotely, will display on the Windows desktop
Running 'xhost' without any arguments shows the current hosts allowed to access the server. 'xhost' can be used to give (or deny) systems access to the server interactively, overriding the contents of Xn.hosts files.Xn.hosts files
An X server uses a host-based access control list for deciding whether or not to accept connections from clients on a particular machine. This list initially consists of the host on which the X server is running as well as any remote machines listed in the file Xn.hosts, where n is the display-number of the X server. Each line of the file should contain a remote hostname with no leading or trailing spaces and the file should reside in the Xming install directory.The Xming installer provides a 'X0.hosts' file containing one line
localhost
xauth program
The Xming magic cookie program, 'xauth' (user-based), uses an 'Xauthority' file (not the traditional '.Xauthority' file) in the %HOME% directory, from 'Command Prompt' e.g. on Windows machine '192.168.0.2' with user 'colin'...>set DISPLAY=192.168.0.2:0 >set HOME=%USERPROFILE% >Xming :0 -multiwindow -clipboard >xeyes or whatever locally, will display on the Windows desktop >xauth generate :0 . xauth: creating new authority file C:\Documents and Settings\colin/Xauthority >xauth list 192.168.0.2:0 MIT-MAGIC-COOKIE-1 7aa7cd57c47f90cec40e6c534537a075 (Example 32 char hex cookie!) restart the Xming X server with the cookie authorization >Xming :0 -auth "C:/Documents and Settings/colin/Xauthority" -multiwindow -clipboard then copy the newly created 'Xauthority' file to /tmp/ on the remote machine and then on the remote machine $ xauth merge /tmp/Xauthority $ export DISPLAY=192.168.0.2:0 $ xeyes or whatever remotely, will display on the Windows desktop
Environment Variables
The following Windows Environment Variables are created or used by the server| Variable | Description |
| DISTNO | The display-number. |
| DISPLAY | The [Host IP address]:display-number[.screen] |
| HOME | Defaults to %USERPROFILE% and can be changed, for example, to /home/'username' when using Xming with cygwin bash. |
| LANG | Automatically set from the Windows locale, if not already set by the User, and then used to set the program locale. |
| XERRORDB | Defaults to the 'path-to-Xming.exe\XErrorDB' file. |
| XFT | The hostname of the font server, set only when using an external font server. |
| XHOSTPREFIX | Defaults to the 'path-to-Xming.exe\X' file prefix for Xn.hosts files. |
| XKEYSYMDB | Overridden to be always the 'path-to-Xming.exe\XKeysymDB' file (overridden due to an SFU anomaly). |
| XLOCALEDIR | Defaults to the 'path-to-Xming.exe\locale' directory. |
Where 'path-to-Xming.exe' is the location of the Xming executable, typically 'C:\Program Files\Xming'.
If you run 'keychain' for key management with SSH you additionally get variables SSH_AUTH_SOCK and SSH_AGENT_PID. If the latter is detected by XLaunch (Run Remote/Use SSH), it runs without an 'Command Prompt' console as an interactive password entry should not be needed.
Files and Locations
The following files and locations are used by Xming, often in a way different from X on Linux/Unix| File or Directory | Description |
| app-defaults | The directory for X client resource files, located in the Xming install directory and can also be language specific i.e. 'path-to.exe\%LANG%\app-defaults' is searched before 'path-to.exe\app-defaults'. |
| bitmaps | The directory for standard bitmap files, located in the Xming install directory i.e. 'path-to.exe\bitmaps'. |
| font-dirs | A file, in the Xming install directory, containing a comma-separated list of directories to add to the default font path. |
| locale | The directory for locale files, located in the Xming install directory i.e. 'path-to-Xming.exe\locale'. This is the latest list of locales. |
| twmrc | Tom's [sic] Window Manager control file, renamed from .twmrc, is located in the Xming install directory. |
| Xauthority | The .Xauthority file renamed and in the %HOME% directory. |
| Xcms.txt | The sample colour name database file. |
| Xdefaults Xdefaults-<hostname> |
The .Xdefaults file renamed and in the %HOME% directory. These files resources are loaded before app-defaults. Xdefaults can be relocated using the XENVIRONMENT variable e.g. 'set XENVIRONMENT=C:\test\Xdefaults' or just 'set XENVIRONMENT=Xdefaults' (the latter is useful if running Xming portable, when Xdefaults can be moved onto the portable device). |
| XErrorDB | The X error message database file. |
| xkb | The directory for xkb database files, located in the Xming install directory i.e. 'path-to-Xming.exe\xkb'. This is the latest list of keyboard models, layouts and variants. |
| XKeysymDB | The keyboard bindings file. |
| XLaunch.xsd | The XLaunch XML Schema Definition file. |
| Xmingrc | The Xming server resource configuration file. See its manual. |
font-dirs is supplied containing...
# font-dirs # comma-separated list of directories to add to the default font path # defaults are built-ins, misc, TTF, Type1, 75dpi, 100dpi # also allows entries on individual lines C:\Program Files\Xming\fonts\dejavu,C:\Program Files\Xming\fonts\cyrillic C:\WINDOWS\FontsXdefaults is supplied containing...
#ifdef COLOR *customization: -color #endifX0.hosts is supplied containing...
localhostThe following files may be in a directory other than the Xming install directory
| File | Directory |
| fonts.dir fonts.scale |
Windows System fonts directory (e.g. C:\WINDOWS\Fonts). |
| Xauthority | %HOME% (%USERPROFILE%) |
| Xdefaults Xdefaults-<hostname> |
%HOME% (%USERPROFILE%) |
| xkb temporary files e.g. xkb_a00560 server-0.xkm |
%TMP% or %TEMP% or %USERPROFILE% or 'The Windows Directory'. First path found is used. |
| Xming.n.log | %TMP% or %TEMP% or %USERPROFILE% or 'The Windows Directory'. First path found is used. Note: you may also just get an Xming.log file, in the Xming install directory, from a total failure early in server startup. |
Keyboards
Xming keyboard data originates from theThe current list of keyboard models, layouts and variants is here.
If the keyboard doesn't work for your locale please email the part of the Xming log that looks something like
(--) winConfigKeyboard - Layout: "00000424" (00000424) (EE) Keyboardlayout "Slovenian" (00000424) is unknownso that the entry can be added to the known keyboard layouts.
Also try using 'setxkbmap', when Xming is running, if you have the wrong language variant
>setxkbmap ch -variant fr equivalent to starting Xming >Xming :0 -multiwindow -clipboard -xkblayout ch -xkbvariant frZone Alarm can cause Xming to freeze right after startup, fix by removing it.
NumLock
Some Unix flavours cannot have NumLock enabled when running Xming. Disable NumLock with remote AIX, SUN Solaris and HPUX, if keys or mouse buttons are not working, using numlockoff. The numlockoff zip file (MD5 signature 902155aa2599917dfa37fa9378f31568) contains the code and executable to check the state of the NumLock key and synthesize a keydown/keyup sequence of the NumLock key if it's down.AIX
The X Keyboard Extension doesn't work with AIX. The X Keyboard Extension is enabled by default, so you must disable it with the -kb parameter.
For recent AIX systems this tip has been superseded by...
AIX logs in using '/usr/dt/config/Xsetup' (used only if using 'dtlogin' as the XDMCP client) and '/usr/dt/bin/Xsession' (used when logging in to CDE). These contain a call to 'xmodmap' (for IBM keyboards) which makes the Xming keyboard go wrong whether you're using XKB or not. Commenting out these two calls allows you to use Xming with XKB enabled on AIX.
Note that the AIX X server has the XKB extension, but it is disabled by default in favour of 'xmodmap' methods.
Mouse
If you use the Logitech Mouse Drivers uncheck the option 'Disable Acceleration In Games' or your mouse will be slow in Xming.Logitech web-cam drivers can also cause 'Can't open display' problems.
Multiplemonitors
Screens cannot be positioned on anything other than the first monitor with FullScreen Shadow DirectDraw (-engine 2), but are OK in Shadow GDI (-engine 1)...Xming -screen 0 @2 -fullscreen -multiplemonitors renders incorrectly on the first monitor Xming -screen 0 @2 -multiplemonitors renders correctly on the second monitor Xming -screen 0 @2 -fullscreen -multiplemonitors -engine 1 renders correctly on the second monitorFollowing on from the original
Network
Failure reports
- winClipboardIOErrorHandler!
- winClipboardProc - setjmp returned: X exiting
- winClipboardProc - setjmp returned for IO Error Handler.
- winMultiWindowXMsgProcIOErrorHandler!
- winInitMultiWindowXMsgProc - setjmp returned: X. Exiting.
- winInitMultiWindowXMsgProc - Caught IO Error. Exiting.
- winMultiWindowWMIOErrorHandler!
- winInitMultiWindowWM - setjmp returned: X. Exiting.
- winInitMultiWindowWM - Caught IO Error. Exiting.
Performance
SSH compression may be of some help on slower networks, but will slow things down on fast networks.The encoding of network traffic used by the X protocol is optimised for LANs, where the time spent encoding and decoding the data is more important than minimizing the amount of data transmitted. While this is fine for an Ethernet, it becomes a problem for very slow networks like serial lines. X.Org have abandoned LBX, their own built-in compression system, in favour of using SSH compression on slow networks.
Operation via a personal firewall, VPN or any software that modifies the TCP/IP stack, will increase latency. Especially Webwasher, Symantec Antivirus and Zone Alarm. Disabling these products isn't sufficient, uninstall them to restore network performance with the X protocol.
OpenGL
If OpenGL doesn't work with a program then you can switch on various diagnostic output. Start Xming with special environment variables set| Variable | Description |
| GLWIN_ENABLE_DEBUG=1 | Enable debugging output at all. |
| GLWIN_ENABLE_TRACE=1 | Enable trace output. |
| GLWIN_ENABLE_STEREO=1 | Enable stereo visuals in GLX. |
| GLWIN_DUMP_PFD=1 | Output information on the requested visual and pixelformat. |
| GLWIN_DUMP_HWND=1 | Output the window handles used in some operations. |
| GLWIN_DUMP_DC=1 | Output the device context handle used in some operations. |
For example
>set GLWIN_ENABLE_DEBUG=1 >set GLWIN_DUMP_PFD=1 >Xming :0 -multiwindow -clipboardor try the alternative Mesa renderer instead. Also a difficult client will usually work if a version of Mesa is installed on the remote Linux/Unix machine to pre-empt server-side rendering.
Windows versions
Xming code, installers and binaries are tested, by me, only on 32-bit Windows XP, 2003 Server and Vista. I've had positive reports of Xming in WoW64 on 64-bit Windows.Windows 2000 is no longer supported, these were the last compatible installers...
| Last Windows 2000 Release | Version | State | Released | MD5 signature | Size MB |
|---|---|---|---|---|---|
| Xming Xming-mesa |
6.9.0.18 | Obsolete | 09 Oct 2006 | d0b655030e400aee5242d8db6b624047 8b016b6ee4ea6c4f2565097bcd85d6bb | 2.06 2.47 |
| Xming-fonts | 6.9.0.6 | Obsolete | 25 Jun 2006 | e0cd413af96345e95da1b9d524c63763 | 30.0 |
Windows performance
If you insist on running the whole of KDE or Gnome in -multiwindow or -fullscreen mode then don't expect blistering performance. UseSome people find running Xming with +bs -wm (the backing store) improves the performance of image updates, e.g. with Firefox, but I haven't tested this.
Extensions, pseudocolor and bell
Xming doesn't support the MIT-SHM, XFree86-Bigfont or XVideo extensions. MIT-SHM only applies to local X clients anyway so adding it would not improve network performance. However some technologies, like VirtualGL, could benefit by Xming having MIT-SHM (watch this space).Xinerama is depreciated and not available in Xming. Future work will favour XRandR.
Xming also does not yet have a working -pseudocolor mode, for 8-bit colour use -fullscreen -depth 8 in one window mode which enables DirectDraw (-engine 2).
The bell (feep) is not controllable by -f or 'xset b' options. Xming just uses the Windows 'MessageBeep()' function for the bell.
XDMCP
First read the notes in XLaunch for XDMCP remote settings.- If you have a multiple interfaced (i.e. multihomed) Windows machine you may need to use the -from option to set the correct source address (in IP address dotted format). This should not be necessary in recent versions.
- For security, Xming XDMCP mode is constrained to work only on local networks and it is not recommended to attempt to use it through routers or firewalls. You can use Xnest running XDMCP through X-Forwarding to get a secure connection to the Xming server. e.g. from a X-Forwarding PuTTY terminal...
$ Xnest :1 -query localhost -geometry 1024x768+50+25 -fp tcp/localhost:7100
but don't expect Xnest to be as fast as a 'direct' XDMCP session. - Some distributions default X Display Manager config files start X with the -nolisten tcp option, or similar, which prevents remote connections.
- If you connect via XDMCP to a system that uses gdm, and have a problem with the clipboard,
you should add (or modify) this section in the gdm.conf file (or /etc/gdm/custom.conf)
[daemon] KillInitClients=false
and then restart gdm with gdm-restart. Also some X Display Managers do not work well anyway with the Xming clipboard. So just try using standard 'xdm' as an alternative. - If you get 100% CPU use with Xming.exe, the chances are XDMCP can't establish a socket connection with the remote machine.
Table of Contents
- Access control
- Environment Variables
- Files and Locations
- Keyboards
- Mouse
- Multiplemonitors
- Network
- OpenGL
- Windows versions
- Windows performance
- Extensions, pseudocolor and bell
- XDMCP

The
Copyright © 2005-2008 Colin Harrison Some rights reserved


