This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:x_conf [2022/08/09 15:11] jypeter [Testing] Added the Testing plan section |
other:x_conf [2022/08/10 06:55] jypeter [Troubleshooting] Added the desktop shortcut does not work |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Installing and configuring an X server ====== | ====== Installing and configuring an X server ====== | ||
+ | |||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | This detailed and easy-to-understand page will help you **set up things correctly on your own**, and help you **understand what you are doing** | ||
+ | |||
+ | Or you can ask somebody to quickly configure everything for you, and keep on believing that things work by magic... | ||
+ | </WRAP> | ||
+ | |||
===== What is an X server? ===== | ===== What is an X server? ===== | ||
Line 7: | Line 15: | ||
* An //X server// **is** basically a program running on your **local** computer that understands the [[https://en.wikipedia.org/wiki/X_Window_System_core_protocol|X Windows System protocol]] used by **Linux computers** (**local** computer, or **remote** Linux servers) to generate graphics, and that can //render// (i.e. display) the graphics generated **remotely** on your **local** computer | * An //X server// **is** basically a program running on your **local** computer that understands the [[https://en.wikipedia.org/wiki/X_Window_System_core_protocol|X Windows System protocol]] used by **Linux computers** (**local** computer, or **remote** Linux servers) to generate graphics, and that can //render// (i.e. display) the graphics generated **remotely** on your **local** computer | ||
+ | * This page will mention a //''DISPLAY'' variable// several times: the X server needs this in order to know **where to display the graphics**! | ||
===== What do we mean exactly with Local and Remote computers? ===== | ===== What do we mean exactly with Local and Remote computers? ===== | ||
Line 137: | Line 145: | ||
* ''xterm &'': the **recommended test application**. It will open a new terminal on the remote machine | * ''xterm &'': the **recommended test application**. It will open a new terminal on the remote machine | ||
* ''xeyes &'', ''xclock &'', ''gvim &'', ''gedit &'', ''eog &'', ''evince &'', ... : other //standard// applications, that may be installed (or not) | * ''xeyes &'', ''xclock &'', ''gvim &'', ''gedit &'', ''eog &'', ''evince &'', ... : other //standard// applications, that may be installed (or not) | ||
+ | |||
+ | The test may fail, due to the [[other:x_conf#nothing_works|usually expected errors]] | ||
==== On a Linux computer ==== | ==== On a Linux computer ==== | ||
Line 156: | Line 166: | ||
localhost:20.0 | localhost:20.0 | ||
- | [Remote] $ xterm</code> | + | [Remote] $ xterm &</code> |
==== On a Windows computer with only an X server installed ==== | ==== 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 | + | We just open a ''Powershell'' window (''Start'' => ''Windows Powershell'' => ''Windows Powershell'') and type some basic commands, including the creation of a ''DISPLAY'' variable |
<code>PS C:\> $env:computername | <code>PS C:\> $env:computername | ||
Line 180: | Line 190: | ||
localhost:19.0 | localhost:19.0 | ||
- | [Remote] $ xterm</code> | + | [Remote] $ xterm &</code> |
Line 194: | Line 204: | ||
localhost:19.0 | localhost:19.0 | ||
- | [Remote] $ xterm</code> | + | [Remote] $ xterm &</code> |
==== On a Windows computer with WSL+Linux and an X server installed ==== | ==== On a Windows computer with WSL+Linux and an X server installed ==== | ||
- | We assume that [[other:win10wsl|WSL+Ubuntu]] is installed and that the ''DISPLAY'' variable is [[other:x_conf#if_you_are_using_wsl|configured correctly]] | + | We assume that [[other:win10wsl|WSL+Ubuntu]] is installed and that the ''DISPLAY'' variable is [[other:x_conf#if_you_are_using_windows_subsystem_for_linux|configured correctly]] |
- | Open a WSL terminal (you should know how, if you have installed WSL) and type some basic commands | + | Open a //WSL// terminal (you should know how, if you have installed //WSL//) and type some basic commands |
<code>[Local WSL] $ hostname | <code>[Local WSL] $ hostname | ||
name_of_your_local_machine | name_of_your_local_machine | ||
+ | |||
[Local WSL] $ echo $DISPLAY | [Local WSL] $ echo $DISPLAY | ||
localhost:0.0 | localhost:0.0 | ||
- | [Local WSL] $ xterm | + | |
+ | [Local WSL] $ xterm & | ||
[Local WSL] $ ssh -X some_login@some_remote_server | [Local WSL] $ ssh -X some_login@some_remote_server | ||
Line 214: | Line 226: | ||
[Remote] $ echo $DISPLAY | [Remote] $ echo $DISPLAY | ||
localhost:22.0 | localhost:22.0 | ||
- | [Remote] $ xterm</code> | + | |
+ | [Remote] $ xterm &</code> | ||
+ | |||
+ | ==== On a Mac ==== | ||
+ | |||
+ | FIXME | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
+ | ==== Can't start a graphical application by clicking on its desktop shortcut ==== | ||
+ | |||
+ | Check the shortcut and run the command directly in a terminal to check the error message | ||
+ | |||
+ | There is a good chance that you have forgotten to start the X server! | ||
==== Nothing works! ==== | ==== Nothing works! ==== | ||
That's unfortunate, but: | That's unfortunate, but: | ||
- | * Have you turned on your computer? | + | * Have you turned on your computer? :-P |
- | * Do you have network access, and an account on a remote server? | + | * Do you have network access, and an account on a remote server? :-? |
* Have you run the [[other:x_conf#testing|Tests]]? | * Have you run the [[other:x_conf#testing|Tests]]? | ||
- | * Have you installed and configured the //X server// correctly? Is it really running? | + | * Have you [[other:x_conf|installed and configured the X server]] correctly? Is it really running? |
* Have you configured [[other:putty_conf|PuTTY]] and/or other required applications correctly ? | * Have you configured [[other:putty_conf|PuTTY]] and/or other required applications correctly ? | ||
- | * Is the ''DISPLAY'' variable defined correctly on the local and remote computer? | + | * Is the [[other:x_conf#what_is_an_x_server|DISPLAY variable]] defined correctly on the local and remote computer? |
=== When DISPLAY is not defined correctly === | === When DISPLAY is not defined correctly === | ||
Line 236: | Line 258: | ||
$ echo $DISPLAY | $ echo $DISPLAY | ||
+ | $ setenv DISPLAY CRAP_DISPLAY | ||
+ | $ xterm | ||
+ | xterm: Xt error: Can't open display: CRAP_DISPLAY | ||
</code> | </code> | ||
Line 243: | Line 268: | ||
If the ''DISPLAY'' variable is defined, but there is **no X server**, you will get a ''Can't open display: localhost://[SOME VALUE]//'' error\\ <code>$ xterm & | If the ''DISPLAY'' variable is defined, but there is **no X server**, you will get a ''Can't open display: localhost://[SOME VALUE]//'' error\\ <code>$ xterm & | ||
- | $ connect localhost port 6000: Connection refused | + | xterm: Xt error: Can't open display: localhost:23.0</code> |
- | xterm: Xt error: Can't open display: localhost:12.0</code> | + | |
Time to [[other:x_conf|read this page again]]... | Time to [[other:x_conf|read this page again]]... |