|
Size: 5903
Comment:
|
← Revision 28 as of 2023-09-05 03:07:34 ⇥
Size: 8269
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| === Freesurfer install on Ubuntu Linux in WSL === | === Freesurfer on Ubuntu Linux in WSL === |
| Line 3: | Line 3: |
| Please read the latest MS documentation about how to setup WSL (version2 as of this writing) on your Windows machine, [[https://docs.microsoft.com/en-us/windows/wsl/install-win10|MS WSL Dcoumentation]]. Once you are able to bring up a terminal window in WSL's pre-installed version of Ubuntu linux you can proceed to setting up the Freesurfer environment. As of this writing, WSL should install Ubuntu 22 Linux and so the install of a Freesurfer Ubuntu 22 package is listed below. | Please read the latest MS documentation about how to setup WSL (version2 as of this writing) on your Windows machine, [[https://docs.microsoft.com/en-us/windows/wsl/install-win10|MS WSL Dcoumentation]]. Once you are able to bring up a terminal window in WSL's installed version of Ubuntu linux you can proceed to setting up the Freesurfer environment with the commands listed below. As of this writing, WSL should install Ubuntu 22 Linux and so the setup of the Freesurfer Ubuntu 22 package is described below. |
| Line 5: | Line 5: |
| The commands below shows how to download and install the freesurfer package. That is followed by notes on setting up a 3rd party X-windows server on the host Windows machine using Xming. If you do not need to view any brain images, e.g., through Freeview, then there is no need to setup the X-Windows server. | The commands below show how to download, install and setup the freesurfer distribution using its installer package. We do not support manually installing packages in the WSL Ubuntu Linux image apart from using the provided Freesurfer installer. Once Freesurfer is installed, you can proceed to setting up a 3rd party X-windows server on the host Windows machine. Please note that if you do not need to view any brain images, e.g., through Freeview, then there is no need to setup the X-Windows server. |
| Line 7: | Line 7: |
| We do not advise manually trying to install packages in the Ubuntu Linux image in order to get freesurfer to run. Please allow the installer to try and determine what packages are needed on the system and install them. | The commands listed below can be cut and pasted into the Linux terminal window. Some commands set environment variables while others should display the expected output in order to proceed to the next step. However, you may not be able to debug where something went wrong if you are completely unfamiliar with the Linux "bash" shell syntax and grammar. If you are having difficulty understanding the commands listed below, then please consider reviewing one of the many Linux command line tutorials found online, e.g., <<BR>> [[https://maker.pro/linux/tutorial/basic-linux-commands-for-beginners|Linux Commands for Beginners]] <<BR>> [[https://www.youtube.com/watch?v=cBokz0LTizk|Linux command line tutorial video]] <<BR>> |
| Line 9: | Line 14: |
| '''Launch the WSL application in Windows, wait for Ubuntu linux to boot, and then open a new terminal window in the Ubuntu Linux desktop GUI. You should see a prompt, e.g., dollar sign in, the terminal window where you can start typing in the commands below (cut and pasting should work).''' <<BR>> |
|
| Line 10: | Line 17: |
| ... go to your "HOME" directory in Linux ... <<BR>><<BR>> |
|
| Line 11: | Line 20: |
| <<BR>><<BR>> ... download the freesurfer installer package ... |
|
| Line 14: | Line 25: |
| ... download output ... | <download output not shown> <<BR>><<BR>> ... check the installer file exists ... |
| Line 21: | Line 34: |
| <<BR>><<BR>> | |
| Line 26: | Line 39: |
| ... output from package updates ... <<BR>> ... install the freesurfer distribution under /usr/local/freesurfer/<release>. Anwer "Y" to any prompts ... |
<output from package updates not shown> <<BR>><<BR>> ... install the freesurfer distribution under the path /usr/local/freesurfer/7.4.1. Anwer "Y" to any prompts ... <<BR>><<BR>> |
| Line 37: | Line 49: |
| ... output from package updates followed by install of freesurfer package ... |
<output from package updates and install of freesurfer not shown - wait for the install to finish and the return to the shell prompt> <<BR>><<BR>> ... setup the FREESURFER_HOME environment variable. The 2nd command adds the environment variable settings into your bash shell init file, i.e., .bashrc ... <<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''export FREESURFER_HOME=/usr/local/freesurfer/7.4.1''' <<BR>> developer@DESKTOP-LD48TB7:~$ '''echo "export FREESURFER_HOME=/usr/local/freesurfer/7.4.1" >> $HOME/.bashrc''' <<BR>><<BR>> |
| Line 40: | Line 58: |
| <<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''ls $FREESURFER_HOME''' |
|
| Line 41: | Line 61: |
| ... ls output ... ... setup the FREESURFER_HOME environment variable. The export commands below add the environment variable settings into your bash shell init file, i.e., .bashrc ... developer@DESKTOP-LD48TB7:~$ '''echo "export FREESURFER_HOME=/usr/local/freesurfer/7.4.1" >> $HOME/.bashrc''' <<BR>> ... You will need to download a license file in order to run freesurfer commands and you can put that in your home directory ... <<BR>> |
{{attachment:ls_output.png}} <<BR>><<BR>> '''If you have an existing licence.txt file from a previous freesurfer registration, you can copy it in to your home directory in Linux. Otherwise, you need to register an email address and download a license file you can receive at that email destination in order to run freesurfer commands. Fill out the form [[https://surfer.nmr.mgh.harvard.edu/registration.html|freesurfer registration]] and wait for the license.txt file to be emailed to you. ''' <<BR>><<BR>> |
| Line 51: | Line 66: |
| <<BR>><<BR>> | |
| Line 53: | Line 68: |
| <<BR>> ... then download and/or copy in your license file and verify you can see it with the ls command ... |
<<BR>><<BR>> ... then download and/or copy in your license.txt file and verify you can see it with the ls command ... <<BR>><<BR>> |
| Line 60: | Line 74: |
| <<BR>><<BR>> | |
| Line 62: | Line 76: |
<<BR>> |
<<BR>><<BR>> |
| Line 65: | Line 78: |
| <<BR>><<BR>> | |
| Line 67: | Line 80: |
<<BR>> |
<<BR>><<BR>> |
| Line 72: | Line 84: |
| <<BR>><<BR>> | |
| Line 74: | Line 86: |
<<BR>> |
<<BR>><<BR>> |
| Line 78: | Line 89: |
... start a new Ubuntu linux terminal window and verify you see the following output showing the Freesurfer environment has been set ... <<BR>>- - - - - - - -freesurfer-linux-ubuntu18_x86_64-dev-20210518-60f02e6- - - - - - - - |
<<BR>> '''Open a new Ubuntu linux terminal window and verify you see the following output showing the Freesurfer environment has been set. Or you could just logout and log back in to Ubuntu Linux. If you do not see the output below in the new terminal window, then something went wrong with your environment variable settings above and/or the install of Freesurfer. You should stop and ask for help if the output is missing.''' <<BR>> <<BR>>- - - - - - - -freesurfer-linux-ubuntu22_x86_64-7.4.1-20230614-7eb8460- - - - - - - - |
| Line 83: | Line 94: |
| <<BR>>FREESURFER_HOME /usr/local/freesurfer/7-dev/ <<BR>>FSFAST_HOME /usr/local/freesurfer/7-dev//fsfast |
<<BR>>FREESURFER_HOME /usr/local/freesurfer/7.4.1/ <<BR>>FSFAST_HOME /usr/local/freesurfer/7.4.1//fsfast |
| Line 86: | Line 97: |
| <<BR>>SUBJECTS_DIR /usr/local/freesurfer/7-dev//subjects | <<BR>>SUBJECTS_DIR /usr/local/freesurfer/7.4.1//subjects |
| Line 88: | Line 99: |
| <<BR>>MNI_DIR /usr/local/freesurfer/7-dev//mni |
<<BR>>MNI_DIR /usr/local/freesurfer/7.4.1//mni <<BR>><<BR>> '''Setup an X-server running on the Windows host if you plan to run image viewing programs such as Freeview under Linux. Some notes are provided below for setting up Xming. Alternately you could try other server applications like Moba Xterm.''' <<BR>><<BR>> [[https://surfer.nmr.mgh.harvard.edu/fswiki/FSL_wsl_xming|Xming and setup notes]] |
| Line 91: | Line 105: |
| '''If you plan to run image viewing programs such as Freeview in LInux running under WSL, the next step is to setup an X-server running on the Windows host. Some notes are provided below for setting up Xming. Some users have found Moba Xterm to be a good choice.''' | [[https://mobaxterm.mobatek.net|MobaXterm]] |
| Line 93: | Line 107: |
[[https://surfer.nmr.mgh.harvard.edu/fswiki/FSL_wsl_xming| Xming and setup notes]] |
[[https://sourceforge.net/projects/vcxsrv|VcxSrv]] <<BR>><<BR>> ... Once the X-server is running on the Windows host, you should be able to start running freeview commands ... |
| Line 96: | Line 111: |
| [[https://mobaxterm.mobatek.net | MobaXterm]] <<BR>> ... Once the X-server is running on the Windows host, you should be able to start running freeview commands ... |
|
| Line 102: | Line 112: |
<<BR>> |
<<BR>><<BR>> |
| Line 109: | Line 118: |
| <<BR>><<BR>> | |
| Line 111: | Line 120: |
<<BR>> |
<<BR>><<BR>> |
| Line 118: | Line 126: |
| <<BR>><<BR>> | |
| Line 120: | Line 128: |
| <<BR>> <<BR>> |
<<BR>><<BR>> |
| Line 123: | Line 130: |
| <<BR>>developer@DESKTOP-LD48TB7:~$ '''cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts''' | <<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts''' |
| Line 125: | Line 133: |
| <<BR>>... after edit ... <<BR>>developer@DESKTOP-LD48TB7:~$ '''cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts''' |
<<BR>><<BR>> .. after edit ... <<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts''' |
| Line 129: | Line 139: |
| <<BR>>... check DISPLAY matches IP address... <<BR>>developer@DESKTOP-LD48TB7:~$ '''echo $DISPLAY''' |
<<BR>><<BR>> ... check DISPLAY matches IP address... <<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''echo $DISPLAY''' |
| Line 132: | Line 144: |
| <<BR>><<BR>> | |
| Line 134: | Line 146: |
<<BR>>developer@DESKTOP-LD48TB7:~$ '''freeview''' |
<<BR>><<BR>> developer@DESKTOP-LD48TB7:~$ '''freeview''' |
Freesurfer on Ubuntu Linux in WSL
Please read the latest MS documentation about how to setup WSL (version2 as of this writing) on your Windows machine, MS WSL Dcoumentation. Once you are able to bring up a terminal window in WSL's installed version of Ubuntu linux you can proceed to setting up the Freesurfer environment with the commands listed below. As of this writing, WSL should install Ubuntu 22 Linux and so the setup of the Freesurfer Ubuntu 22 package is described below.
The commands below show how to download, install and setup the freesurfer distribution using its installer package. We do not support manually installing packages in the WSL Ubuntu Linux image apart from using the provided Freesurfer installer. Once Freesurfer is installed, you can proceed to setting up a 3rd party X-windows server on the host Windows machine. Please note that if you do not need to view any brain images, e.g., through Freeview, then there is no need to setup the X-Windows server.
The commands listed below can be cut and pasted into the Linux terminal window. Some commands set environment variables while others should display the expected output in order to proceed to the next step. However, you may not be able to debug where something went wrong if you are completely unfamiliar with the Linux "bash" shell syntax and grammar. If you are having difficulty understanding the commands listed below, then please consider reviewing one of the many Linux command line tutorials found online, e.g.,
Linux Commands for Beginners
Linux command line tutorial video
Launch the WSL application in Windows, wait for Ubuntu linux to boot, and then open a new terminal window in the Ubuntu Linux desktop GUI. You should see a prompt, e.g., dollar sign in, the terminal window where you can start typing in the commands below (cut and pasting should work).
... go to your "HOME" directory in Linux ...
developer@DESKTOP-LD48TB7:~$ cd
... download the freesurfer installer package ...
developer@DESKTOP-LD48TB7:~$ wget https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.4.1/freesurfer_ubuntu22-7.4.1_amd64.deb
<download output not shown>
... check the installer file exists ...
developer@DESKTOP-LD48TB7:~$ ls freesurfer_ubuntu22-7.4.1_amd64.deb
freesurfer_ubuntu22-7.4.1_amd64.deb
... update the package information in Ubuntu linux ...
developer@DESKTOP-LD48TB7:~$ sudo apt-get update -y
[sudo] password for developer:
<output from package updates not shown>
... install the freesurfer distribution under the path /usr/local/freesurfer/7.4.1. Anwer "Y" to any prompts ...
developer@DESKTOP-LD48TB7:~$ sudo apt-get -y install ./freesurfer_ubuntu22-7.4.1_amd64.deb
[sudo] password for developer:
The following NEW packages will be installed:
<output from package updates and install of freesurfer not shown - wait for the install to finish and the return to the shell prompt>
... setup the FREESURFER_HOME environment variable. The 2nd command adds the environment variable settings into your bash shell init file, i.e., .bashrc ...
developer@DESKTOP-LD48TB7:~$ export FREESURFER_HOME=/usr/local/freesurfer/7.4.1
developer@DESKTOP-LD48TB7:~$ echo "export FREESURFER_HOME=/usr/local/freesurfer/7.4.1" >> $HOME/.bashrc
... check the Freesurfer release was installed under /usr/local/freesurfer/7.4.1 ...
developer@DESKTOP-LD48TB7:~$ ls $FREESURFER_HOME
If you have an existing licence.txt file from a previous freesurfer registration, you can copy it in to your home directory in Linux. Otherwise, you need to register an email address and download a license file you can receive at that email destination in order to run freesurfer commands. Fill out the form freesurfer registration and wait for the license.txt file to be emailed to you.
... go to your home directory ...
developer@DESKTOP-LD48TB7:~$ cd
... then download and/or copy in your license.txt file and verify you can see it with the ls command ...
developer@DESKTOP-LD48TB7:~$ ls license.txt
license.txt
... set the environment variable FS_LICENSE to point to license.txt ...
developer@DESKTOP-LD48TB7:~$ echo "export FS_LICENSE=$HOME/license.txt" >> $HOME/.bashrc
... set these environment variables for your display ...
developer@DESKTOP-LD48TB7:~$ echo "export XDG_RUNTIME_DIR=$HOME/.xdg" >> $HOME/.bashrc
developer@DESKTOP-LD48TB7:~$ echo "export DISPLAY=:0" >> $HOME/.bashrc
... set the Freesurfer environment to be setup when you open a new Linux terminal window ...
developer@DESKTOP-LD48TB7:~$ echo "source $FREESURFER_HOME/SetUpFreeSurfer.sh" >> $HOME/.bashrc
Open a new Ubuntu linux terminal window and verify you see the following output showing the Freesurfer environment has been set. Or you could just logout and log back in to Ubuntu Linux. If you do not see the output below in the new terminal window, then something went wrong with your environment variable settings above and/or the install of Freesurfer. You should stop and ask for help if the output is missing.
- - - - - - - -freesurfer-linux-ubuntu22_x86_64-7.4.1-20230614-7eb8460- - - - - - - -
Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME /usr/local/freesurfer/7.4.1/
FSFAST_HOME /usr/local/freesurfer/7.4.1//fsfast
FSF_OUTPUT_FORMAT nii.gz
SUBJECTS_DIR /usr/local/freesurfer/7.4.1//subjects
INFO: /home/developer/matlab/startup.m does not exist ... creating
MNI_DIR /usr/local/freesurfer/7.4.1//mni
Setup an X-server running on the Windows host if you plan to run image viewing programs such as Freeview under Linux. Some notes are provided below for setting up Xming. Alternately you could try other server applications like Moba Xterm.
Xming and setup notes
MobaXterm
VcxSrv
... Once the X-server is running on the Windows host, you should be able to start running freeview commands ...
... if you see the following error when trying to run freeview ...
developer@DESKTOP-LD48TB7:~$ freeview
QXcbConnection: Could not connect to display :0
Could not connect to any X display.
... then try modifying your DISPLAY variable to contain your IP address before the :0 ...
developer@DESKTOP-LD48TB7:~$ grep nameserver /etc/resolv.conf
nameserver 154.132.1.1
developer@DESKTOP-LD48TB7:~$ export DISPLAY="154.132.1.1:0"
... if you have installed and setup Xming as your X-server on the windows host, then edit the Xming X0.hosts file to contain your machines IP address below the entry for localhost ...
... before edit ...
developer@DESKTOP-LD48TB7:~$ cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts
localhost
.. after edit ...
developer@DESKTOP-LD48TB7:~$ cat /mnt/c/"Program Files (x86)"/Xming/X0.hosts
localhost
154.132.1.1
... check DISPLAY matches IP address...
developer@DESKTOP-LD48TB7:~$ echo $DISPLAY
154.132.1.1:0
... try running freeview again ...
developer@DESKTOP-LD48TB7:~$ freeview
