Xming

Trouble with Xming?

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 and especially working via the defunct telnet protocol).

Environment Variables

The following Windows Environment Variables are created or used by the server

Variable Description
DISNO The display-number (an Xming specific convenience environmental).
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 (an Xming specific convenience environmental).
XKEYSYMDB Overridden to be always the 'path-to-Xming.exe'\XKeysymDB file (overridden due to a stupid 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 a 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. They are in the Xming install directory unless stated otherwise.

File or Directory Description
app-defaults
%LANG%\app-defaults
The directory for X client resource files. These can be language specific i.e. directory %LANG%\app-defaults is searched before app-defaults.
bitmaps The directory for standard bitmap files.
font-dirs A file containing a comma-separated list of directories to add to the default font path.
locale The directory for locale files. This is the latest list of locales.
protocol.txt The registry of protocol names used by the X Server.
twmrc Tom's [sic] Window Manager control file, renamed from .twmrc.
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. 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, 75dpi, 100dpi
# also allows entries on individual lines
C:\Program Files\Xming\fonts\dejavu,C:\Program Files\Xming\fonts\cyrillic
C:\WINDOWS\Fonts
Xdefaults is supplied containing...
#ifdef COLOR
*customization: -color
#endif
X0.hosts is supplied containing...
localhost
The 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%
Xdefaults                        
Xdefaults-<hostname>
%HOME%
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 the [WWW]X Keyboard Configuration Database Project.
The 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 unknown
so 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
this is equivalent to starting Xming
>Xming :0 -multiwindow -clipboard -xkblayout ch -xkbvariant fr
I use -xkbvariant extd to get United Kingdom extended keys to work with a -xkblayout gb Microsoft keyboard.

Only on release 6.9.0.31: use the Finnish keyboard instead of the faulty Swedish one

>Xming :0 -multiwindow -clipboard -xkbmodel pc104 -xkblayout fi

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 b35b1c855a4bdc2368fa37eb4f5a4eec) 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

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. Commenting out these two calls allows you to use Xming on AIX.
Note that the XKB extension is now always enabled in Xming and 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.
Zone Alarm can cause Xming to freeze right after startup.

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 monitor
Following on from the original [WWW]patch for multiple monitors it appears that FullScreen DirectDraw can only draw on the 'Windows Primary Display' irrespective of the use of SM_CXVIRTUALSCREEN etc in the code.

Network

Failure reports

any of these indicate network failure with the X protocol. Maybe due to the presence of firewalls, or high latency.

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 and make the X server appear unresponsive. Especially Webwasher, Symantec Antivirus and Zone Alarm. Disabling these products isn't sufficient, uninstall them to restore network performance with the X protocol. Some badly designed online virus scanners aggressively interfere with all network traffic which causes serious processing overhead when used with X.

OpenGL

If standard Xming's 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 -clipboard
or try an alternative Xming Mesa version 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.

I now supply an Xming (+Mesa) version that renders with the most upstream Mesa library (OpenGL 2.1, GLX 1.4, Mesa 7.6-devel).

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 and on Windows 7.

Windows 2000 is no longer supported, these were the last compatible installers...

Last Windows 2000 Release VersionState/NotesReleasedMD5 signatureSize MB
Xming
Xming-mesa
6.9.0.18Obsolete09 Oct 2006d0b655030e400aee5242d8db6b624047
8b016b6ee4ea6c4f2565097bcd85d6bb
2.06
2.47
Xming-fonts 6.9.0.6Obsolete25 Jun 2006e0cd413af96345e95da1b9d524c6376330.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. Use [WWW]coLinux or [WWW]XDMCP mode if you want a full Linux/Unix graphical environment on the Windows desktop.

Some 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.

Table of Contents

  1. Access control
    1. X-Forwarding
    2. xhost program
    3. Xn.hosts files
    4. xauth program
  2. Environment Variables
  3. Files and Locations
  4. Keyboards
    1. NumLock
    2. AIX
  5. Mouse
  6. Multiplemonitors
  7. Network
    1. Failure reports
    2. Performance
  8. OpenGL
  9. Windows versions
  10. Windows performance
  11. Extensions, pseudocolor and bell
  12. XDMCP
Creative Commons License
The [WWW]Xming website, documentation and images are licensed under a
[WWW]Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales License.
Copyright © 2005-2009 Colin Harrison Some rights reserved