Differences between revisions 17 and 18
Deletions are marked like this. Additions are marked like this.
Line 94: Line 94:
[[https://surfer.nmr.mgh.harvard.edu/fswiki/FSL_wsl_xming| Xming and setup notes]] [[https://surfer.nmr.mgh.harvard.edu/fswiki/FSL_wsl_xming|Xming and setup notes]]
Line 96: Line 96:
[[https://mobaxterm.mobatek.net | MobaXterm]] [[https://mobaxterm.mobatek.net|MobaXterm]]
<<BR>>
[[https://sourceforge.net/projects/vcxsrv|VcxSrv]]

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 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.

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.

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.

developer@DESKTOP-LD48TB7:~$ cd

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 ...

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 ...

... install the freesurfer distribution under /usr/local/freesurfer/<release>. 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 followed by install of freesurfer package ...

... check the Freesurfer release was installed under /usr/local/freesurfer/7.4.1 ...
... 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

... You will need to download a license file in order to run freesurfer commands and you can put that in your home directory ...
... go to your home directory ...

developer@DESKTOP-LD48TB7:~$ cd

... then download and/or copy in your license 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

... start a new Ubuntu linux terminal window and verify you see the following output showing the Freesurfer environment has been set ...


- - - - - - - -freesurfer-linux-ubuntu18_x86_64-dev-20210518-60f02e6- - - - - - - -
Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME /usr/local/freesurfer/7-dev/
FSFAST_HOME /usr/local/freesurfer/7-dev//fsfast
FSF_OUTPUT_FORMAT nii.gz
SUBJECTS_DIR /usr/local/freesurfer/7-dev//subjects
INFO: /home/developer/matlab/startup.m does not exist ... creating
MNI_DIR /usr/local/freesurfer/7-dev//mni


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.

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

FS7_wsl_ubuntu (last edited 2023-09-05 03:07:34 by buildqa)