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 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 on your desktop if you know that you will need an X server laterDocument how to automatically start the X server…
- Note: you can right-click on the
X
icon and selectExit…
if you need to quit the X server
Installing x410
x410 is a low cost commercial X server that can be directly installed from the Microsoft store.
This is an X server, and you will get the same functionalities as what is already provided for free by VcXsrv, but:
- Once installed,
x410
will be automatically updated by the Microsoft Store application - If you move to another computer, you can install
x410
again by just Connecting the MS Store to your account on the new computer. No need to buy it again - There seem to be more (useful) updates than for
VcXsrv
- The interface is more modern, with more options, and there is a lot of useful information on the web site
- The
x410
name is easier to remember!
Type: commercial
Buy and install x410
from the Microsoft store
x410 configuration
- Start
x410
:Start
⇒X410
- Right-click on the
X
icon to open the X410 settings - It's possible to automatically start
x410
! Otherwise, it will stop when you close your Windows session or restart the computer, and you will have to restart it by hand (Start
⇒X410
) if you know that you will need an X server later- Open the Windows Task Manager (Right-click on
Start
and selectTask Manager
) - Go to the
Startup
panel (if there are no panels, selectMore details
) - Right-click on
X140
and selectEnabled
- Note: if you need to quit the X server, you can right-click on the
X
icon, and then click on the Display number at the lower left (usually0
) and selectShut down
Using an X server on an Apple computer
Configuration on the remote Linux server
If you are connecting with ssh or PuTTY
Nothing special to do, if you are using "ssh -X" or "ssh -Y" or PuTTY
to connect to a remote Linux server
If you are using WSL
You need to know what you consider as the Local machine, and what is the Remote server
- Local machine: your local Windows computer, where you have installed WSL+Ubuntu
- Remote server : we consider 2 types of remote servers:
- an actual remote server
- The WSL computer running on a virtual machine inside your local Windows computer. This can be considered as a different and remote computer, even it is running on the local computer
You need your local X server to display graphics generated in WSL - Define the
DISPLAY
variable in the terminals used in WSL:- bash shell:
export DISPLAY=localhost:0.0
- tcsh shell:
setenv DISPLAY localhost:0.0
- You probably want to define the
DISPLAY
variable automatically in one of the shell configuration files
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 automatically 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 and correctly configured (with Enable X11 forwarding
)
We just have to open a pre-configured PuTTY 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
We assume that WSL+Ubuntu is installed and that the DISPLAY
variable is configured correctly
Open a WSL terminal (you should know how, if you have installed WSL) and type some basic commands
[Local WSL] $ hostname name_of_your_local_machine [Local WSL] $ echo $DISPLAY localhost:0.0 [Local WSL] $ xterm [Local WSL] $ ssh -X some_login@some_remote_server [some connection information skipped here] [Remote] $ echo $DISPLAY localhost:22.0 [Remote] $ xterm
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 inVcXsrv
, 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 ]