This is an old revision of the document!
Table of Contents
Installing and configuring an X server
What is an X server?
An X server is not a server for distributing your perfect models output!
An X server is basically a program running on your local computer that understands the X Windows System protocol used by remote Linux servers to generate graphics, and that can render (i.e. display) the graphics generated remotely on your local computer.
Using an X server on Linux
Linux computers come pre-configured with a running X server (because they need it for displaying local graphics) that will display the graphics generated locally and on remote Linux servers. You don't need to do anything special!
Using an X server on Windows
There are several options available
Installing VcXsrv
VcXsrv
is pre-installed on the LSCE Windows computers!
- You may want to check if a more recent version is available
- You surely want to follow the configuration steps, in order to get the best possible settings to work with PuTTY!
Type: free
Download the installer from VcXrsv and install VcXsrv.
VcXsrv Configuration
You need to configure VcXsrv
to work in multiple windows mode. The following steps will show you how to create a shortcut on your desktop to start VcXsrv in this appropriate mode
- Start the configuration tool:
Start
⇒VcXsrv
⇒Xlaunch
- Select
Multiple windows
, thenNext
- Select
Start no client
, thenNext
- Keep the default
Clipboard
settings, uncheckNative opengl
, thenNext
- You can check the OpenGL discussion section if you have time…
- Click on
Save configuration
and save anX_Server.xlaunch
configuration file on your Desktop, thenTerminate
.
You should now have a newX_Server
icon/shortcut on your Desktop - Start the server by double-clicking on the new
X_Server
icon- The X server will stop when you close your Windows session or restart the computer. Do not forget to click on the X_Server icon if you know that you will need an X server later
- Note: you can right-click on the
X
icon and selectExit…
if you need to quit the X server
- You are now ready, if you only need VcXsrv to display graphical windows from remote servers
Installing x410
Type: commercial
x410 is a low cost commercial X server that can be directly installed from the Microsoft store. Once installed, it will be automatically updated by the Microsoft Store application.
Starting, configuring and exiting X410: you can start X410 by clicking on it in the Windows Start Menu, or choose to Automatically Start X410 on Login
- Note: nothing actually happens when you start X410, as it is just waiting to display graphics! You will just get a new X icon in the hidden icons of the taskbar.
- You can configure (and exit) X410 by right clicking on its X icon
Installing MobaXterm
Type: commercial
Available at MobaXterm, not tested. This seems to be more than just an X server, and may be an overkill if you just need an X server
Using an X server on an Apple computer
Configuration on the remote machine
If you are connecting with ssh
Nothing special to do!
If you are using WSL
If you have installed WSL+Ubuntu on your local machine, and you need your X server to display graphics generated in WSL, you need to define the DISPLAY variable: export DISPLAY=localhost:0.0
Testing
The idea is to:
- Open a terminal and check that the
DISPLAY
environment variable is correctly defined on the local machine - Connect to the remote machine
- Check that a (new)
DISPLAY
variable is defined on the remote machine - Check that you can start an application using graphics (e.g.
xterm
) on the remote machine
On a Linux computer
Some basic commands in a terminal
[Local] $ hostname name_of_your_local_machine [Local] $ echo $DISPLAY :0 [Local] $ ssh -X some_login@some_remote_server [some connection information skipped here] [Remote] $ hostname name_of_the_remote_server [Remote] $ echo $DISPLAY localhost:20.0 [Remote] $ xterm
On a Windows computer with only an X server installed
We just open a Powershell
window (Start
⇒ Windows Powershell
⇒ Windows Powershell
) and type some basic commands
PS C:\> $env:computername name_of_your_local_machine PS C:\> $env:DISPLAY PS C:\> $env:DISPLAY="localhost:0" PS C:\> $env:DISPLAY localhost:0 PS C:\> ssh -Y some_login@some_remote_server Warning: No xauth data; using fake authentication data for X11 forwarding. [some connection information skipped here] [Remote] $ hostname name_of_the_remote_server [Remote] $ echo $DISPLAY localhost:19.0 [Remote] $ xterm
On a Windows computer with PuTTY and an X server installed
We assume here that PuTTY is already installed and configured
We just have to open a pre-configured Session on a remote server
[Remote] $ hostname name_of_the_remote_server [Remote] $ echo $DISPLAY localhost:19.0 [Remote] $ xterm
On a Windows computer with WSL+Linux and an X server installed
export DISPLAY=localhost:0.0
Troubleshooting
Nothing works!
That's unfortunate, but:
- Have you turned on your computer?
- Do you have network access, and an account on a remote server?
- Have you run the Tests?
- Have you installed and configured the X server correctly? Is it really running?
- Have you configured PuTTY and/or other required applications correctly ?
- Is the
DISPLAY
variable defined correctly on the local and remote computer?
OpenGL related settings
It's hard to know what the best OpenGL settings for your X server are: it depends on your local computer, the remote computer, the network speed, the application generating the graphics, the libraries' versions…
- If
Native opengl
is activated in VcXsrv, you may have to also use the following environment variable on the remote computer:export LIBGL_ALWAYS_INDIRECT=1
- or maybe not! You can try to understand the What does LIBGL_ALWAYS_INDIRECT=1 actually do? thread…
Blurry display
- If you use
VcXsrv
and the content of some displayed X windows appear blurry, see if you can fix the compatibility settings, or try to use x410.
[ PMIP3 Wiki Home ] - [ Help! ] - [ Wiki syntax ]