cluster-linux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cluster-linux [2024/05/26 10:59] – gabriele | cluster-linux [2024/05/26 11:17] (current) – gabriele | ||
---|---|---|---|
Line 7: | Line 7: | ||
- Common Commands | - Common Commands | ||
- Text editing in command line | - Text editing in command line | ||
+ | - Displaying images in command line | ||
+ | - Displaying images from command line (using X11 forwarding) | ||
+ | - Displaying NIFTI images in command line | ||
+ | - X11 Forwarding | ||
Line 139: | Line 143: | ||
===== 4. Displaying images in command line ===== | ===== 4. Displaying images in command line ===== | ||
- | The easiest way to display images is to use niicat (see [[https:// | + | The easiest way to display images is to use '' |
- | For macOS, you could use iTerm2. Once installed, open iTerm2 and establish an ssh connection to the remote desktop (see Cluster access). For example: | + | For macOS, you could use [[https:// |
- | ssh gbellucci@psychp01.rhul.ac.uk | + | |
- | Now, suppose that you have a NIFTI image named anatomical_brain.nii in the folder fmri_results in your home home/ | + | Now, suppose that you have a NIFTI image named '' |
- | niicat -lb / | + | |
- | The -lb option tells niicat to use libsixel-bin to display the image in your terminal. | + | The '' |
- | Displaying images from command line | + | ===== 5. Displaying images from command line (using X11 forwarding) ===== |
Another option to open an image saved on a remote server is to establish an X11 forwarding connection to the server and use an image viewer. For that, you need to: | Another option to open an image saved on a remote server is to establish an X11 forwarding connection to the server and use an image viewer. For that, you need to: | ||
- | 1. Ensure you have X11 installed on your local machine (XQuartz on macOS, typically installed X server on Linux). | + | - Ensure you have X11 installed on your local machine (XQuartz on macOS, typically installed X server on Linux). |
- | 2. Enable X11 forwarding when connecting via SSH. | + | |
For example, first make sure XQuartz is currently running on your machine. Before connecting to the remote server, you can start XQuartz on your local machine by typing the following in a terminal window: | For example, first make sure XQuartz is currently running on your machine. Before connecting to the remote server, you can start XQuartz on your local machine by typing the following in a terminal window: | ||
- | open -a XQuartz | + | |
- | You then would need to establish a X11 forwarding connection like that (see Cluster access for more information): | + | You then would need to establish a X11 forwarding connection like that (see [[cluster-access|Cluster access]] for more information): |
- | ssh -X username@remote_server | + | |
- | For example, suppose your username is “gbellucci” and the remote server is “psychp01.rhul.ac.uk”, you would need to type: | + | For example, suppose your username is '' |
- | ssh -X gbellucci@psychp01.rhul.ac.uk | + | |
- | You will be prompted to enter a password. Afterwards, suppose that you have a beautiful image named my_beautiful_result_image.jpg in the folder results in your home home/ | + | You will be prompted to enter a password. Afterwards, suppose that you have a beautiful image named '' |
- | fim / | + | |
- | You can also open your image by using Eye of GNOME, which tend to display images with higher resolution: | + | You can also open your image by using '' |
- | eog / | + | |
- | Displaying NIFTI images in command line | + | ===== 6. Displaying NIFTI images in command line ===== |
+ | To quickly preview neuroimaging images in NIFTI format on the terminal, you can use '' | ||
- | To quickly preview neuroimaging images in NIFTI format on the terminal, you can use niicat (see here). For that, you would not even need an -X connection, as it prints | + | For macOS, you could use [[https:// |
- | For macOS, you could use iTerm2. Once installed, open iTerm2 and establish an ssh connection to the remote desktop. For example: | + | |
- | ssh gbellucci@psychp01.rhul.ac.uk | + | Now, suppose that you have a NIFTI image named '' |
- | Now, suppose that you have a NIFTI image named anatomical_brain.nii in the folder fmri_results in your home home/ | + | niicat -lb /home/ |
- | niicat | + | The '' |
- | The -lb option tells niicat to use libsixel-bin to display the image. | ||
- | |||
- | X11 Forwarding | ||
+ | ===== 7. X11 Forwarding ===== | ||
X11 forwarding is a feature that allows you to run graphical applications installed on a remote server and display them on your local machine as if they were running locally. The “X11” part refers to the X Window System (version 11), which is a protocol and system for managing graphical displays on UNIX and UNIX-like operating systems. | X11 forwarding is a feature that allows you to run graphical applications installed on a remote server and display them on your local machine as if they were running locally. The “X11” part refers to the X Window System (version 11), which is a protocol and system for managing graphical displays on UNIX and UNIX-like operating systems. | ||
This is how it works: | This is how it works: | ||
- | 1. Local X Server: Your local machine runs an X server. This is a software component responsible for managing the display and input devices (like keyboard and mouse) for graphical applications. | + | - //Local X Server//: Your local machine runs an X server. This is a software component responsible for managing the display and input devices (like keyboard and mouse) for graphical applications. |
+ | - //Remote Application//: | ||
+ | - //SSH Tunnel//: The graphical output is sent securely over the network using SSH (Secure Shell, see [[cluster-access|Cluster access]]). SSH creates a tunnel between your local machine and the remote server, carrying the X11 protocol data. | ||
- | 2. Remote Application: | + | X11 forwarding is primarily designed for UNIX-like operating systems, such as Linux and BSD. However, it can also be used on macOS and Windows with some additional setup. |
- | 3. SSH Tunnel: The graphical output is sent securely over the network using SSH (Secure Shell, see here). SSH creates a tunnel between your local machine and the remote server, carrying the X11 protocol data. | + | ==== Setting up X11 Forwarding in macOS/Linux ==== |
+ | === Installation === | ||
- | X11 forwarding is primarily designed for UNIX-like operating systems, such as Linux and BSD. However, it can also be used on macOS and Windows with some additional setup: | ||
- | |||
- | Setting up X11 Forwarding in macOS/Linux | ||
- | Installation | ||
Linux distributions typically have X11 forwarding support built-in. | Linux distributions typically have X11 forwarding support built-in. | ||
+ | macOS uses XQuartz, an implementation of the X server for macOS. You need to install and run XQuartz to use X11 forwarding. You can easily install XQuartz via the Terminal using [[https:// | ||
- | macOS uses XQuartz, an implementation of the X server for macOS. You need to install and run XQuartz to use X11 forwarding. You can easily install XQuartz via the Terminal using Homebrew. In a Terminal window, just type: | + | |
- | + | ||
- | brew install --cask xquartz | + | |
- | Setup | + | === Setup === |
The setup of X11 Forwarding is pretty easy in macOS/ | The setup of X11 Forwarding is pretty easy in macOS/ | ||
- | 1. Ensure your local machine has an X server running (like XQuartz on macOS). | + | - Ensure your local machine has an X server running (like XQuartz on macOS). |
- | 2. Connect to the remote server with the -X or -Y option: | + | |
First make sure an X server is currently running on your machine. For instance, if you are working on macOS and use XQuartz, before connecting to the remote server, you can start XQuartz on your local machine by typing the following in a terminal window: | First make sure an X server is currently running on your machine. For instance, if you are working on macOS and use XQuartz, before connecting to the remote server, you can start XQuartz on your local machine by typing the following in a terminal window: | ||
- | open -a XQuartz | + | |
- | You then would need to establish a X11 forwarding connection like that (see Cluster access for more information): | + | You then would need to establish a X11 forwarding connection like that (see [[cluster-access|Cluster access]] for more information): |
- | ssh -X username@remote_server | + | |
- | For example, suppose your username is “gbellucci” and the remote server is “psychp01.rhul.ac.uk”, you would need to type: | + | For example, suppose your username is '' |
- | ssh -X gbellucci@psychp01.rhul.ac.uk | + | |
For trusted X11 forwarding, you can use the -Y option like that: | For trusted X11 forwarding, you can use the -Y option like that: | ||
- | ssh -Y gbellucci@psychp01.rhul.ac.uk | + | |
Both -X and -Y options allow you to run graphical applications from a remote server and display them on your local machine, but there are important differences in terms of security and functionality. The -X option or untrusted X11 Forwarding is the more secure option because it restricts the level of access that the remote application has to your local X server. Specifically, | Both -X and -Y options allow you to run graphical applications from a remote server and display them on your local machine, but there are important differences in terms of security and functionality. The -X option or untrusted X11 Forwarding is the more secure option because it restricts the level of access that the remote application has to your local X server. Specifically, | ||
Line 240: | Line 241: | ||
On the contrary, the -Y option enables trusted X11 forwarding, allowing the remote application to have full access to your local X server. It can interact with other X11 clients and modify your local desktop environment, | On the contrary, the -Y option enables trusted X11 forwarding, allowing the remote application to have full access to your local X server. It can interact with other X11 clients and modify your local desktop environment, | ||
- | Setting up X11 Forwarding in Windows | + | ==== Setting up X11 Forwarding in Windows |
- | Windows does not natively support X11 forwarding because it does not use the X Window System. However, you can use third-party software like Xming, VcXsrv, or MobaXterm to run an X server on Windows. Combine these with an SSH client like PuTTY or use the built-in SSH in Windows 10 (using the Windows Subsystem for Linux, WSL). See here for more information. | + | Windows does not natively support X11 forwarding because it does not use the X Window System. However, you can use third-party software like Xming, VcXsrv, or MobaXterm to run an X server on Windows. Combine these with an SSH client like PuTTY or use the built-in SSH in Windows 10 (using the Windows Subsystem for Linux, WSL). See [[https:// |
cluster-linux.1716721153.txt.gz · Last modified: 2024/05/26 10:59 by gabriele