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 revisionPrevious revision
Next revision
Previous revision
other:x_conf [2022/08/09 17:19] – [On a Windows computer with WSL+Linux and an X server installed] jypeterother:x_conf [2024/07/10 10:54] (current) – [Using X forwarding in a Windows Powershell] jypeter
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 33: Line 42:
 ===== Using an X server on Windows ===== ===== Using an X server on Windows =====
  
-There are several available options+There are several available X servers, and applications that will allow //X forwarding// from a remote server to your local X server
  
 +==== Using X forwarding in a Windows Powershell ====
 +
 +**You have to type ''$env:DISPLAY = "localhost:0"'' before connecting** using ''ssh -Y remote server'' (''-X'' will not work), in order to have the ''DISPLAY'' variable correctly defined on the remote server
 +
 +<code>PS C:\> ssh -X obelix
 +[...]
 + >echo $DISPLAY
 +DISPLAY: Undefined variable.
 + >logout
 +Connection to obelix closed.
 +
 +PS C:\> $env:DISPLAY
 +
 +PS C:\> $env:DISPLAY = "localhost:0"
 +PS C:\> $env:DISPLAY
 +localhost:0
 +
 +PS C:\> ssh -X obelix
 +[...]
 +Warning: untrusted X11 forwarding setup failed: xauth key data not generated
 +[...]
 + >echo $DISPLAY
 +DISPLAY: Undefined variable.
 +
 +PS C:\> ssh -Y obelix
 +[...]
 +Warning: No xauth data; using fake authentication data for X11 forwarding.
 +[...]
 + >echo $DISPLAY
 +localhost:42.0
 + >xterm&
 +[1] 30038
 +</code>
 ==== Installing VcXsrv ==== ==== Installing VcXsrv ====
  
Line 108: Line 150:
 </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 171:
  
 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 184:
   * ''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 267:
  
 [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?+  * Are you [[other:x_conf#using_x_forwarding_in_a_windows_powershell|using Windows Powershell correctly]]? 
 +  * 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 239: Line 313:
 $ 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 you use ''ssh'' in a **Windows Powershell**, read [[other:x_conf#using_x_forwarding_in_a_windows_powershell|Using X forwarding in a Windows Powershell]] 
 + 
 +==== 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 [[other:x_conf#error_when_there_is_no_x_server_running|you have forgotten to start the X server!]]
  
-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:12.0</code> 
  
-Time to [[other:x_conf|read this page again]]... 
 ==== OpenGL related settings ==== ==== OpenGL related settings ====
  
other/x_conf.1660058344.txt.gz · Last modified: 2022/08/09 17:19 by jypeter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki