18.10 Workstation

Work-in-progress

This page is currently under development.

The setup for a typical workstation includes the following:

  • An Ubuntu Operating System
  • Setup on a notebook (PhD students)
  • Setup on an external hard drive (student assistants), together with a QR-code linking to a video on how to use the “system”

The following apps are pre-installed based on a shell script:

  • General
    • First-steps file (on desktop), covering git config, ssh, gpg, github account, and a link to the handbook (onboarding section)
    • Instead of a pre-installed E-Mail client, we recommend the web interface? (Thunderbird currently requires a paid owl extension)
    • Browser: Handbook as the default page
    • Paper Docker container
  • Via apt
    • Back-in-time
    • Docker Engine
    • Git
    • Python
    • R
    • Visual Studio Code
    • Zoom
    • Zotero (with chrome plugin)
  • Via flatpak
    • LibreOffice
    • KeepassXC
    • Obsidian (with chrome plugin)
    • OBS Studio
  • Via Pip
    • Jupyter

Shell script:


# Remove snap
# list all snaps
snap list

# some snaps are dependent on other snaps, snap will tell you which one shall be removed first
## first, remove all packages with Notes "-"
sudo snap remove --purge firefox
sudo snap remove --purge firmware-updater
sudo snap remove --purge gnome-3-38-2004
sudo snap remove --purge gnome-42-2204
sudo snap remove --purge gtk-common-themes
sudo snap remove --purge snap-store
sudo snap remove --purge snapd-desktop-integration

## second, remove all packages with Notes "base"
sudo snap remove --purge bare
sudo snap remove --purge core20
sudo snap remove --purge core22

## last, remove all packages with Notes "snapd"
sudo snap remove --purge snapd

# remove the snapd package itself, including configuration files
sudo apt purge snapd
sudo apt remove --purge gnome-software-plugin-snap
#sudo apt autoremove --purge snapd gnome-software-plugin-snap

# remove residual directories
rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd/

# prevent snapd to be installed again
sudo apt-mark hold snapd

# prevent Ubuntu from automatically reinstalling snapd in the future
cat <<EOF | sudo tee /etc/apt/preferences.d/nosnap.pref
# To prevent repository packages from triggering the installation of Snap,
# this file forbids snapd from being installed by APT.
# For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html

Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF

#--------------------------------------------------------------------------------------------#

# disable all pre-installed (Ubuntu) gnome-extensions to enhance system stability
gnome-extensions disable ding@rastersoft.com
gnome-extensions disable tiling-assistant@ubuntu.com
gnome-extensions disable ubuntu-appindicators@ubuntu.com
gnome-extensions disable ubuntu-dock@ubuntu.com

## restore maximize and unmaximize shortcut in Ubuntu 24.04 (by default deactivated due to tiling-assistant@ubuntu.com)
gsettings set org.gnome.desktop.wm.keybindings maximize "['<Super>Up']"
gsettings set org.gnome.desktop.wm.keybindings unmaximize "['<Super>Down']"

#--------------------------------------------------------------------------------------------#

# set up flatpak
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo apt install gnome-software-plugin-flatpak
# sudo reboot

#--------------------------------------------------------------------------------------------#

# install GUI apps from flathub
flatpak install flathub md.obsidian.Obsidian
flatpak install flathub com.obsproject.Studio
flatpak install flathub org.libreoffice.LibreOffice
flatpak install flathub org.keepassxc.KeePassXC

#--------------------------------------------------------------------------------------------#


# Create a default folder structure

Setup

To set up an external hard drive, …

Resources