User Tools

Site Tools


other:x_conf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
other:x_conf [2022/08/09 15:19]
jypeter [On a Windows computer with WSL+Linux and an X server installed]
other:x_conf [2022/08/12 12:40]
jypeter [Installing XQuartz] Added some tech ref
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 137: Line 151:
   * ''​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)
-==== On a Linux computer ==== 
  
-Some basic commands in a terminal+The test may fail, due to the [[other:​x_conf#​nothing_works|usually expected errors]] 
 +==== On Linux computer or a Mac ==== 
 + 
 +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 218: Line 234:
  
 [Remote] $ xterm &</​code>​ [Remote] $ xterm &</​code>​
 +
 +
 +
 +
 +
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
  
 ==== 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 ===+ 
 +==== 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 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 239: Line 270:
 $ echo $DISPLAY $ echo $DISPLAY
  
 +$ setenv DISPLAY CRAP_DISPLAY
 +$ xterm
 +xterm: Xt error: Can't open display: CRAP_DISPLAY
 </​code>​ </​code>​
  
 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 ==== 
-$ connect localhost port 6000Connection refused + 
-xterm: Xt error: Can't open display: localhost:​12.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 ====
  
other/x_conf.txt · Last modified: 2023/06/30 08:20 by jypeter