Diese Webseite nutzt nur technisch notwendige Cookies.

Setup Linux for Computer Science Students and Programmers – Guide

Linux for Beginner - Coding Tutorials Steffen Lippke

Are you looking for an operating system with the right software to double your productivity?

Then this guide is for you.

We’ll set up your computer together.

Let’s get started!

[toc]

Choice of Hardware – Computer Science Students Laptop

Hardware ist selten notwendig
Hardware is rarely necessary

Linux runs smoothly on 10-year-old desktops / laptops.

If you are honest with yourself, you don’t need a new computer, you just need better, resource-efficient software, which I present in this article.

Every programmer should get by with few resources because not all customers use a high-end gaming workstation. The exception proves the rule here. Depending on the application, you need different hardware:

  • Game developers: external graphics cards
  • Virtualisations / Docker: more RAM
  • Compiling: more CPU cores

If you have always used Windows or macOS, you can get more resources “for free” by using Linux. Linux frees up CPU and RAM, which saves you time and nerves.

Steffen Lippke

Choice of Operating System

elementary OS
elementary OS

Why Linux?

Every computer scientist should have complete control over their device. Anyone who claims that too little software is available on Linux is unaware of the high-performance Windows emulation suitable for games and the “Linux-exclusive” (developer) software.

Why Debian as the basis?

The Debian / Ubuntu operating system has a large community, which is represented in Germany by ubunutuusers, for example. There are 5 Debian systems in the top 10 distros. The more users a platform has, the more support, software and help is available online.

Why elementary OS?

Most open source software is performant and feature-rich, but rarely offers a good user experience.

A small core team develops the operating system elementary OS, so that a consistent and standardised design is possible.

Many cooks spoil the soup (or the UI). Design is subjective. Choose the operating system you like.

Steffen Lippke

Download the ISO file and use the Windows programme Rufus to flash the file to a USB.

If you do not choose elementary OS, you can also use this guide for a Debian operating system such as Linux Mint, Pop OS or MX Linux.

Basic Configuration

You can completely customise any Linux system to suit your needs. However, make sure that you always have a backup ready, as you will render the system unusable if you “overconfigure” it. When setting up, you should be as consistent as possible in your choice of package manager. Each installation type has advantages and disadvantages, but many package managers make updating a horror. I prefer flatpak …

  1. Easy installation (one click / UI)
  2. Dependencies are integrated
  3. Higher performance than some apt-get installations
  4. Easy to update
  5. Installation as user possible

Extend possibilities

Allow additional package sources with software-properties-common

sudo apt install -y software-properties-common

Customise Linux according to your wishes

Dconf
Dconf

If you want to customise specific settings in Debian, use this program. Be careful.

For example, change the text scaling for high-resolution monitors:

org > gnome > desktop > interface > ‘text-scaling-factor’

gsettings set org.gnome.desktop.interface text-scaling-factor 1.1

Set the value to 1.25 or 1.1 (at 1440p)

In Linux, you can customise everything. Elementary Tweaks shines with its simplicity:

sudo add-apt-repository -y ppa:philip.scott/pantheon-tweaks
sudo apt install pantheon-tweaks -y

You can find many good themes at https://www.opendesktop.org/

Activate Your Life Insurance

Backups are essential for every computer user. I use three variants:

Tweaks
Tweaks
  1. I use Timeshift to automatically back up software changes:
sudo apt-add-repository ppa:teejee2008/ppa 
sudo apt-get update 
sudo apt-get install -y timeshift 
  1. Rescuezilla backs up the entire hard drive. This software simulates time travel (absolute emergency). Flash the ISO to another USB stick
  2. A simple 7zip backup is operating system independent and easy. I can switch between Linux, Windows or macOS at any time.

Carry out Linux Experiments

I recommend that you always have a virtual machine available. This is suitable for testing unknown software. A Windows VM on Linux allows you to gradually transition to the Linux world and test your software on Windows.

VMs - Linux für Informatiker Steffen Lippke Hacking Series
VMs – Linux for computer scientists Steffen Lippke Hacking Series
sudo apt-get install -y virtualbox virtualbox-qt virtualbox-dkms 

sudo apt-get autoremove virtualbox-dkms 
sudo apt-get install -y build-essential linux-headers-`uname -r` dkms virtualbox-dkms 

sudo modprobe vboxdrv 
sudo modprobe vboxnetflt 

Preloading programmes

The preload programme learns when you use which software and preloads it. Elementary has already integrated this software.

sudo apt install -y preload

Coding software

The following script installs a carefree Java environment and NPM environment with VS Codium (Microsoft-free VS Code Fork), Git, Insomnia and PHP.

# VS Code Fork
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
    | gpg --dearmor \
    | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
    | sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install codium

# Java
sudo add-apt-repository ppa:linuxuprising/java 
sudo apt-get update 
sudo apt-get install oracle-java17-installer oracle-java17-set-default

# GIT
sudo apt install -y maven 
sudo apt install -y git 
git config --global user.email "XXXXX" 
git config --global user.name "XXX" 

# Node
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

# PHP
sudo apt install -y php8.1-common php7.4-xml php7.4-curl php7.4-bcmath openssl php7.4-json php7.4-mbstring
wget -O composer-setup.php https://getcomposer.org/installer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer install --ignore-platform-reqs

To set the VS Code Style, make the title bar disappear File → Preferences → Settings → Window → Title Bar Style

(Git Bonus: More active commit on push via post commit command in the settings)

VS Codium
VS Codium

Helper Software

… even more software …

Don’t waste This Potential

Many people underestimate the benefits of Text-2-Speech. This software reads text to you and verbalises typing errors:

sudo apt-get install -y libttspico-utils sox 
sudo apt-get install -y xclip 
sudo apt-get install -y xsel 

pico2wave --lang=en-GE --wave=/tmp/test.wav "Good morning"; aplay /tmp/test.wav; rm /tmp/test.wav

You can set the function to a keyboard shortcut in the settings (Ctrl 1).

bash -c 'pkill aplay; pico2wave --lang=en-GE --wave=/tmp/test.wav "$(xclip -out -selection primary | xclip -in -selection clipboard; xsel --clipboard | tr "\n" " ")"; aplay /tmp/test.wav; rm /tmp/test.wav;' 

Select a text and press Ctrl 1 and the computer babbles.

Manage Your Servers

A console for remote access:

sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret

A Safe Place for Your Files

The Nextcloud server software is my tip for a private cloud that also synchronises tasks, appointments and calendars. You can install the Nextcloud client with the following commands:

sudo apt-add-repository ppa:nextcloud-devs/client
sudo apt update && sudo apt install nextcloud-client

Linux has a taste for music …

Rhythmbox
Rhythmbox

I think Rhythmbox is brilliant because of the crossfade feature

sudo apt-get install -y rhythmbox 

Record sound with …

Recorder
Recorder
sudo add-apt-repository ppa:audio-recorder/ppa 
sudo apt-get update && sudo apt-get install -y audio-recorder 

The recording starts on time with the timer commands.

start if sound 
stop if silence 2s 

You can adjust the volume of your audio files:

sudo snap install easymp3gain 

Productive Work – best Software

The Microsoft competitor LibreOffice is on a par with Microsoft 365 Suite and doesn’t cost €100 per year – but €0.

LibreOffice
LibreOffice
sudo add-apt-repository ppa:libreoffice/ppa 
sudo apt install -y libreoffice 

Download the LanguageTool checking software, which checks your text with AI.

If you write more professional texts (CV / magazines) please use Scribus:

sudo add-apt-repository ppa:scribus/ppa
sudo apt-get update
sudo apt-get install scribus -y

Activate the system-wide dark mode with the creation in the file:

~/.config/gtk-3.0/settings.ini

[Settings] 
gtk-application-prefer-dark-theme=1 

You can create professional documents with Scribus

sudo add-apt-repository ppa:scribus/ppa
sudo apt-get update
sudo apt-get install scribus -y

Protect Your Eyes

A cool project on Github protects your eyes:

sudo add-apt-repository ppa:slgobinath/safeeyes 
sudo apt update 
sudo apt install -y safeeyes 

The Only Reliable Carrier Pigeon

Use Thunderbird. Full stop.

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa 
sudo apt-get update
sudo apt-get install -y thunderbird

Your Personal Library

Be inspired by e-books – but only via Calibre, please. You can get the latest version with

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin 

alternatively: Foliate

sudo add-apt-repository ppa:apandada1/foliate
sudo apt update
sudo apt install foliate

Digital Notes have a Place

The snap package p3x-OneNote makes OneNote possible on Linux.

snap install p3x-onenote 

If you want to migrate OneNote notes (with stylus notes) to a free format (Markdown), then read this post and install Joplin

wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

Ad-Free Private Consumption

Use the ad-free and privacy-friendly YouTube client FreeTube in conjunction with an anonymising API (Invidious).

flatpak install flathub io.freetubeapp.FreeTube

Optional Comfort

The Windows fonts and multimedia codecs enhance your creative projects:

sudo apt install -y ttf-mscorefonts-installer 
sudo apt install -y ubuntu-restricted-extras 

Save Your Battery

Use the battery manager TLP so that your laptop battery can breathe longer

sudo apt install -y tlp tlp-rdw 
sudo tlp start 
tlp-stat -s 

Integrate Linux protection

Die-hard Linux fans claim that Linux doesn’t need an antivirus. They only use “trustworthy” software.

Malware lurks everywhere: mails, adverts, CDs, DVDs, network, Internet and outdated software with vulnerabilities.

just 1 piece of malware is enough for all your personal data to be floating around on the Internet for the next 50 years. Install the Sophos antivirus:

tar xvfz .tgz 
cd sophos-av 
./install.sh 

Confirm the message with

Do you accept the licence? Yes(Y)/No(N) [N] 
> Y 
Where do you want to install Sophos Anti-Virus? [/opt/sophos-av] 
> /opt/sophos-av 
Which type of auto-updating do you want? From Sophos(s)/From own server(o)/None(n) 
[s]  
> o 
Website or directory from which to update? [] 
> http://sophos.XXXXXXXXXXXXXXXXX
Do you need a proxy to access update source on your own server? Yes(Y)/No(N) [N] 
> n 

Test the antivirus with files from this website.

In the case of a kernel update, you must briefly switch off the shield to allow the change:

sudo /opt/sophos-av/bin/savdctl disable

… install …

sudo /opt/sophos-av/bin/savdctl enable

Secure Banking

Please do not make any money transactions on any computer / mobile phone other than a fresh unmodified Live OS.

Tails
Tails

Flash Tails on a USB. Some banks do not allow the usage of Tor. So you could use a sepearte laptop or VM or separate Browser without all your extensions.

You should leave the TOR browser (Firefox) in the default settings to ensure the best anonymity.

Everything as a Flatpak?

flatpak install flathub org.mozilla.firefox
flatpak install flathub org.mozilla.Thunderbird
flatpak install flathub com.github.johnfactotum.Foliate
flatpak install flathub com.virustotal.VirusTotalUploader
flatpak install flathub io.freetubeapp.FreeTube
flatpak install flathub org.libreoffice.LibreOffice
flatpak install flathub net.cozic.joplin_desktop
flatpak install flathub com.calibre_ebook.calibre
Let us know what you think! Was this tutorial/post helpful, or do you still have burning questions? Write a comment and become part of our growing community. Share your successes, challenges and tips - together we can achieve great things in security and coding!

Leave a Reply

Your email address will not be published. Required fields are marked *

get rss abo

Jetzt
Abbonnieren
academy

Erhalte Free
Security Kurs

Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!