This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
other:x_conf [2022/08/09 15:35] jypeter [Testing plan] Added link to expected errors |
other:x_conf [2023/06/30 08:20] (current) jypeter Added the no space related error |
||
---|---|---|---|
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 16: | Line 24: | ||
* The **remote computer or server** is another computer that you also want to interact with (using the screen+mouse+keyboard of your local computer) | * The **remote computer or server** is another computer that you also want to interact with (using the screen+mouse+keyboard of your local computer) | ||
+ | * [[other:ssh#connecting_to_servers_commonly_used_by_lsce_users|Some servers used by LSCE users]] | ||
* We only consider on this page the case of a **remote //Linux// machine** that **requires a local running //X server//** | * We only consider on this page the case of a **remote //Linux// machine** that **requires a local running //X server//** | ||
Line 108: | Line 117: | ||
</WRAP> | </WRAP> | ||
+ | The ''XQuartz'' //X server// will be automatically started, if a graphical application needs it! | ||
+ | |||
+ | Check the [[https://support.apple.com/guide/terminal/script-management-with-launchd-apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac|launchd documentation]] if you need more details | ||
+ | <code>$ launchctl list | grep quartz | ||
+ | - 0 org.xquartz.startx</code> | ||
===== Configuration on the remote Linux server ===== | ===== Configuration on the remote Linux server ===== | ||
Line 124: | Line 138: | ||
The idea is to: | The idea is to: | ||
- | * Open a terminal and check that the ''DISPLAY'' environment variable is correctly defined on the local machine | + | * Open a terminal and check that the ''DISPLAY'' environment variable is defined on the local machine |
* If we use [[other:win10wsl|WSL]], we also check that we can start an application using graphics in ''WSL'' | * If we use [[other:win10wsl|WSL]], we also check that we can start an application using graphics in ''WSL'' | ||
* Connect to the remote machine | * Connect to the remote machine | ||
Line 139: | Line 153: | ||
The test may fail, due to the [[other:x_conf#nothing_works|usually expected errors]] | The test may fail, due to the [[other:x_conf#nothing_works|usually expected errors]] | ||
- | ==== On a Linux computer ==== | + | ==== On a Linux computer or a Mac ==== |
- | Some basic commands in a terminal | + | Open a //terminal// ([[other:ssh#a_recommended_terminal_for_mac|terminal on a Mac]]) and use some basic commands to check things |
<code>[Local] $ hostname | <code>[Local] $ hostname | ||
Line 221: | Line 235: | ||
[Remote] $ xterm &</code> | [Remote] $ xterm &</code> | ||
- | ==== On a Mac ==== | ||
- | FIXME | + | |
+ | |||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
+ | |||
==== Nothing works! ==== | ==== Nothing works! ==== | ||
Line 236: | Line 252: | ||
* Is the [[other:x_conf#what_is_an_x_server|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 === | + | |
+ | ==== Error when there is no X server running ==== | ||
+ | |||
+ | 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 & | ||
+ | xterm: Xt error: Can't open display: localhost:23.0</code> | ||
+ | |||
+ | Time to [[other:x_conf|read this page again]]... | ||
+ | |||
+ | ==== Error when there is no space left in your home directory ==== | ||
+ | |||
+ | If there is no space left in your home directory (usually the home directory of the remote server), or if you have exceeded your [[other:newppl:starting#which_disks_should_you_use|home disk quota]], you will get an error similar to [[#error_when_there_is_no_x_server_running|Error when there is no X server running]] | ||
+ | |||
+ | <code>$ xterm & | ||
+ | xterm: Xt error: Can't open display: localhost:23.0</code> | ||
+ | |||
+ | **Solution**: clean the content of your //home//! | ||
+ | ==== Error when DISPLAY is not defined correctly ==== | ||
If the ''DISPLAY'' **variable is not defined (correctly)**, you will get a ''Can't open display: //[NO VALUE DISPLAYED HERE]//'' error | If the ''DISPLAY'' **variable is not defined (correctly)**, you will get a ''Can't open display: //[NO VALUE DISPLAYED HERE]//'' error | ||
Line 252: | Line 286: | ||
Make sure that you are using ''ssh -X'' or ''ssh -Y'', or that [[other:putty_conf#changing_some_useful_settings|PuTTY is configured]] with ''Enable X11 forwarding'' | Make sure that you are using ''ssh -X'' or ''ssh -Y'', or that [[other:putty_conf#changing_some_useful_settings|PuTTY is configured]] with ''Enable X11 forwarding'' | ||
- | === When there is no X server running === | ||
- | 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 & | + | ==== Can't start a graphical application by clicking on its desktop shortcut ==== |
- | xterm: Xt error: Can't open display: localhost:23.0</code> | + | |
+ | Check the shortcut and run the command directly in a terminal to check the error message | ||
+ | |||
+ | There is a good chance that [[other:x_conf#error_when_there_is_no_x_server_running|you have forgotten to start the X server!]] | ||
- | Time to [[other:x_conf|read this page again]]... | ||
==== OpenGL related settings ==== | ==== OpenGL related settings ==== | ||