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/08 13:07] jypeter [Using an X server on Linux] |
other:x_conf [2022/08/08 15:41] jypeter [Nothing works!] Added error messages examples |
||
---|---|---|---|
Line 76: | Line 76: | ||
* Right-click on ''X140'' and select ''Enabled'' | * Right-click on ''X140'' and select ''Enabled'' | ||
* 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 (usually ''0'') and select ''Shut down'' | * 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 (usually ''0'') and select ''Shut down'' | ||
- | |||
- | |||
- | **Starting, configuring and exiting X410**: you can start X410 by clicking on it in the Windows Start Menu, or choose to [[https://token2shell.com/howto/x410/automatically-start-x410-on-login/|Automatically Start X410 on Login]] | ||
- | * Note: nothing actually happens when you start X410, as it is just waiting to display graphics! You will just get a new **X** icon in the //hidden// icons of the taskbar. | ||
- | * You can configure (and exit) X410 by right clicking on its **X** icon | ||
- | |||
===== Using an X server on an Apple computer ===== | ===== Using an X server on an Apple computer ===== | ||
- | ===== Configuration on the remote machine ===== | + | ===== Configuration on the remote Linux server ===== |
- | ==== If you are connecting with ssh ==== | + | ==== If you are connecting with ssh or PuTTY ==== |
- | Nothing special to do! | + | Nothing special to do, if you are using [[other:ssh#using_an_x_server_to_display_graphics|"ssh -X" or "ssh -Y"]] or ''PuTTY'' to connect to a remote Linux server |
==== If you are using WSL ==== | ==== If you are using WSL ==== | ||
- | If you have installed [[other:win10wsl|WSL+Ubuntu]] on your local machine, and you need your X server to display graphics generated in WSL, you need to define the DISPLAY variable: ''export DISPLAY=localhost:0.0'' | + | 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 [[other:win10wsl|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 | ||
Line 102: | Line 106: | ||
* 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 correctly defined on the local machine | ||
* Connect to the remote machine | * Connect to the remote machine | ||
- | * Check that a (new) ''DISPLAY'' variable is defined on 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 | * Check that you can start an application using graphics (e.g. ''xterm'') on the remote machine | ||
Line 153: | Line 157: | ||
==== On a Windows computer with PuTTY and an X server installed ==== | ==== On a Windows computer with PuTTY and an X server installed ==== | ||
- | We assume here that [[other:putty_conf|PuTTY is already installed and configured]] | + | We assume here that [[other:putty_conf|PuTTY is already installed and configured]] and **correctly** configured (with ''Enable X11 forwarding'') |
- | We just have to open a pre-configured //Session// on a remote server | + | We just have to open a pre-configured //PuTTY Session// on a remote server |
<code>[Remote] $ hostname | <code>[Remote] $ hostname | ||
name_of_the_remote_server | name_of_the_remote_server | ||
Line 167: | Line 171: | ||
==== 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]] | ||
- | * FIXME ''export DISPLAY=localhost:0.0'' | + | Open a WSL terminal (you should know how, if you have installed WSL) and type some basic commands |
+ | <code>[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</code> | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
Line 182: | Line 198: | ||
* 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 ''DISPLAY'' variable defined correctly on the local and remote computer? | ||
+ | |||
+ | === 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 | ||
+ | |||
+ | <code>$ xterm & | ||
+ | $ xterm: Xt error: Can't open display: | ||
+ | xterm: DISPLAY is not set | ||
+ | $ echo $DISPLAY | ||
+ | |||
+ | </code> | ||
+ | |||
+ | === 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 & | ||
+ | $ connect localhost port 6000: Connection refused | ||
+ | xterm: Xt error: Can't open display: localhost:12.0</code> | ||
==== OpenGL related settings ==== | ==== 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... | + | 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 in VcXsrv, you //may// have to also use the following environment variable on the remote computer: ''export LIBGL_ALWAYS_INDIRECT=1'' | + | * If ''Native opengl'' is activated in ''VcXsrv'', 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 [[https://unix.stackexchange.com/questions/1437/what-does-libgl-always-indirect-1-actually-do|What does LIBGL_ALWAYS_INDIRECT=1 actually do?]] thread... | * or maybe not! You can try to understand the [[https://unix.stackexchange.com/questions/1437/what-does-libgl-always-indirect-1-actually-do|What does LIBGL_ALWAYS_INDIRECT=1 actually do?]] thread... | ||