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 with telnet).

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\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% (%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 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
equivalent to starting Xming
>Xming :0 -multiwindow -clipboard -xkblayout ch -xkbvariant fr
Zone 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 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. 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 -clipboard
or 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 VersionStateReleasedMD5 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-2008 Colin Harrison Some rights reserved