Recently, I spend some time to fix my PC and install a new operation system. Therefore, I would like to make a small summary on the choice of the OS and environment configuration.

First, let’s talk about the choice of operation systems. There exists many alternatives of systems which we can use, like Windows, MacOS, Linux. Since Windows is not fit to be a super scientific (SCI) computation server, we do not talk about it here. MacOS is bond with both a good computation environment as well as a good GUI interface, however, it is way too expensive to equip an Mac pro for SCI computation with same performance like PC. Then the only choice left is Linux. However, even the small portion of Linux contains many distributions. Although you can say that the open source feature of Linux add its diversity, however it also caused the segmentation of distributions and dependence problems. Both Windows and MacOS left the problem of software dependence to the application developers. For the installation of applications on these two systems, the user just need to click the Graphic window buttons following several steps, where the developers serve the users as god. However, in Linux, you have to be a computer expert to install even a small application with debugging of occasionally appeared dependence problems. Some of which you could not even get it down from repository sources [1]. Here, I will just describe my requirement to the Linux system:

(1) Good driver support for WiFi card to host hotspot.
(2) Easy installation of Nutstore cloud driver to sync my daily files and codes.
(3) Good driver support for my 25 inch 2K display monitor and NAVIDIA graphic card.

To achieve the above goals, I tried many Linux systems.

Systems \ Goals WiFi driver Nutstore 2K display stability
CentOS 7 NO YES YES YES
CentOS 8 YES NO YES YES
Open SUSE ? ? YES ?
Ubuntu 18 YES NO YES NO
Deepin YES YES NO NO

In the end, I simply choose Deepin linux, because it have good support for WiFi driver and you could install Nutstore from its APP store with ease. For the problem with 2K display, I found it is not consistent with Intel graphic card. However if you have NAVIDIA graphic card and use it for display output, then the 2K display can be well supported. Although it is not stable and crashes sometimes, I think it can be tolerated.

The rest job is just configure a good SIC computational environment. This can mainly be achieved with installation of programs and modification of .bashrc profiles. Since the Nutstore sync driver requires the support of python version 2., we can only make a local installation of python 3 but globally. After install Anaconda python in version 3., I make these changes to my “\home\username.bashrc” file.

1
2
3
4
5
# configure linux calculation environment in .bashrc file
alias ipython3='/home/nan/anaconda3/bin/ipython3'
alias spyder3='/home/nan/anaconda3/bin/spyder'
alias pip3='/home/nan/anaconda3/bin/pip'
alias conda3='/home/nan/anaconda3/bin/conda'

After this change, run

1
2
3
4
# active modified environment
source ~/.bashrc
# install MDSplus module to python 3 [2]
conda3 install -c conda-forge mdsplus

To active these changes. After this step, you can call python3 from the terminal at any time and read fusion data with MDSplus.

Install typing inputs application

If you install Sogou input application, you will find that you can not call the system input settings. Therefore, I find it frustrated to have the Chinese input as default every time I opens a new application. To solve this bug, I installed the iFly input methods. In which, there leaves a system input configuration option button. By clicking it, I change the system priority of the two input methods. This input applications can be installed from the Deepin APP store.

Install Texlive2019

First you can download Texlive2019.iso image from the nearest CTAN repository. Then mount it on your Linux system [3].

1
2
3
4
sudo mkdir /mnt/iso
sudo mount -o loop /path/to/image.iso /mnt/iso
cd /mnt/iso
sudo ./install-tl

Then type the option I in the following request from the terminal. After about one hour, Texlive2019 shall be installed to your Linux system. This mounted iso image shall be removed on next shutdown of computer. However, you can still manually unmount with this command.

1
sudo umount /mnt/iso/

After a successful installation, there should be these instruction from the terminal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Welcome to TeX Live!

See /usr/local/texlive/2019/index.html for links to documentation.
The TeX Live web site (https://tug.org/texlive/) contains any updates and
corrections. TeX Live is a joint project of the TeX user groups around the
world; please consider supporting it by joining the group best for you. The
list of groups is available on the web at https://tug.org/usergroups.html.


Add /usr/local/texlive/2019/texmf-dist/doc/man to MANPATH.
Add /usr/local/texlive/2019/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2019/bin/x86_64-linux
to your PATH for current and future sessions.
Logfile: /usr/local/texlive/2019/install-tl.log

What you need to do next is just to add the path of texlive to your .bashrc file.

1
2
3
export PATH="/usr/local/texlive/2019/bin/x86_64-linux:$PATH"
export MANPATH="/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH"
export INFOPATH="/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH"

Then, you can active the changes and test the setting.

1
2
source ~/.bashrc
pdflatex

If it shows the version of this latex, the installation and setting is successful.

Install TexStudio

Texstudio is just a GUI editor plus compiler for latex, it only a shell. It uses texlive2019 in background. Actual it is same as you compile your latex file from command line. However your should not install from the Deepin APP store, because it download the latex for texstudio as dependence at the same time. What you need is only a texstudio GUI shell for your texlive2019 installed before. Thus we just download an texstudio***.AppImage from website such as [4]. Then you need to set the permission of this AppImage as “Allow to execute as program”. The next time you need to use it, just double click this file. After you opened texstudio, there might be warning saying that it could not find latex. Don’t worry, you can add the path of texlive2019 to it at:

Option -> configure -> Build -> Adv. Editor -> Build Options -> Commands ($PATH) -> /usr/local/texlive/2019/bin/x86_64-linux

Option -> configure -> Show Advanced Options -> Adv. Editor -> Additional Search Paths -> /usr/local/texlive/2019/bin/x86_64-linux

Then save changes and restart texstudio, you may be able to compile your latex files. If these fails, you might need have patients and specify the precise location of the executable bin file to each Latex command, eg:

Option -> configure -> commands: XeLaTex “/usr/local/texlive/2019/bin/x86_64-linux/xelatex” -synctex=1 -interaction=nonstopmode %.tex"

For my Deepin linux, the texstudio works finally in these setting. In order to call the texstudio faster from the system, you can also create a fast command to call it from terminal. Here is my new command to call it in the .bashrc file.

1
2
# add shortcut command to Texstudio in .bashrc file
alias tex='cd /home/nan/Greenwares/ && ./texstudio-2.12.22-x86_64.AppImage'

When you are writing in English, an import function of the editor is to check and highlight the misspelled words. To check these wrong words texstudio can import LireOffice dictionary and use it for checking. Thus we just need to go to the official website of LibreOffice and download the desired English dictionaries. Texstudio -> Configuration -> Language Checking -> Spell Check -> Import Dictionary.

Install Nautilus file manager

The default Deepin file manager is not compatible to Nutstore, because the sync condition tory icon can not be displayed correctly on the files. Therefore I will install Nautilus file manager from APP store directly.

Install Gnome terminal

I used to like the Gnome terminal very much, so I replaced Deepin terminal from the APP store. Which also support ‘open in terminal’ option in Nautilus folder.

Install Geditor

Geditor offers good support many programing languages with grammar highlight, while support English word misspell highlight. The misspell check is an essential function to me.

References

[1] https://www.zhihu.com/question/264942661?sort=created
[2] https://anaconda.org/conda-forge/mdsplus
[3] https://www.cyberciti.biz/tips/how-to-mount-iso-image-under-linux.html
[4] https://sourceforge.net/projects/texstudio/