Mein Umstieg auf Linux - so far (Updated) | Code and Create

Mein Umstieg auf Linux - so far (Updated)

Mein Umstieg auf Linux - so far (Updated)

Nach 20 Jahren wird es Zeit für einen Tapetenwechsel. Seit etwa 2001 habe ich hauptsächlich Mac OS X für alltägliches verwendet nachdem BeOS vom Markt genommen wurde. Als daily driver bin ich jetzt auf Linux umgestiegen.

Mac OS X - bzw. wie es heute genannt wird macOS - ist ein wirklich gutes unixoides Betriebssystem. Leider verfolgt Apple ab etwa Mac OS X 10.12 eine Strategie, die mit iOS und iPadOS schon länger angesagt ist: Es wird immer geschlossener und simplifiziert - das Professionelle, die Anpassbarkeit und Offenheit gehen verloren. Dazu kommen Designentscheidungen, die geradezu nach einem Touchscreen schreien... Macs werden aber laut Apple keinen bekommen. Der Umstieg auf Apple Silicon ist meiner Meinung nach ein wichtiger Schritt und Apple wird mit dieser tiefen Integration von Hard- und Software viele Erfolge feiern können. Wie seiner Zeit mit dem PowerPC.

Linux verwende ich nebenher auf meinen SBCs, Homeservern und diversen anderen Geräten seit Jahren. Es kommt - für den Desktop - zwar nicht an macOS heran, aber die Vorteile der freien Wahl der Hardware und die Offenheit einer Linux Distribution an sich überwiegen für mich. FreeBSD wäre hier definitiv eine gute Alternative - helloSystem versucht beispielsweise auf dieser Basis sogar die Nutzungserfahrung von macOS nachzubauen - aber ich dachte mir, wenn ich schon von macOS zu einem anderen System wechsle, so nehme ich auch genau die Hardware, die ich mir wünsche. Hier hat Linux dann klar den Vorteil der besseren bzw. umfangreicheren Hardwareunterstützung.

Ich habe mich für ein gebrauchtes Dell Latitude 7212 Rugged Extreme Tablet entschieden. Es ist ein sehr leicht reparierbares und robustes Gerät mit zwei wechselbaren Akkus. Es ist mit einem Intel i5-8350U quasi genauso schnell wie mein Macbook mit einem i7 aus dem Jahr 2012, benötigt aber wesentlich weniger Energie. Mein MNT Reform ist als klassischer Laptop ebenso noch in Gebrauch. Aufgrund der geringen Leistung komment es aber derzeit für mich nicht als daily driver in Frage. Das wird sich sicher noch in ein paar Jahren mit RISC-V ändern, weil ich die offene Hardware und das wirklich angenehme Tippgefühl der Tastatur sehr schätze. Aktuell muss ich beim proprietären x86 bleiben.

Betriebssystem und Desktop Environment

Beim Betriebssystem habe ich mich für Debian Bullseye mit Gnome 40 entschieden. Von Haus aus bringt Debian 11 nur Gnome 3.x mit. Gnome 40 und später sind viel besser auf Touchscreens ausgerichtet. Mittels des experimental-Repositories kann man sich Abhilfe schaffen. Hierzu trägt man das Repository in seine apt sources ein:

sudo nano /etc/apt/sources.list
# folgende Zeile hinzufügen:
deb http://deb.debian.org/debian experimental main

Jetzt noch die Paketquellen aktualisieren, das Upgrade durchführen und neu anmelden oder den Rechner neu starten:

sudo apt update;
sudo apt -t experimental install gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs

Da ich die Gnome Shell an sich für etwas eingeschränkt halte habe ich sie über diverse Erweiterungen etwas angepasst:

Eine etwas hübschere Theme bitte...

Optisches ist Geschmackssache. Aber Adwaita ist nicht so wirklich mein Fall. Es geht in die richtige Richtung aber als Theme verwende ich lieber pho-earth-adaptive und für die Icons Captiva 2. Ersteres habe ich farblich etwas angepasst und habe ich eine dunkle plastische Nutzeroberfläche, die an Mac OS X 10.15 oder Mac OS X Server 1.x angelehnt ist.

pho earth adaptive

Hier meine CSS für die Farbgebung (~/.themes/pho-earth-adaptive/color_themes/rhapsody.css):

@define-color window_fg #cccccc;
@define-color window_bg #4d4d50;
@define-color text_widget_fg #eeeeee;
@define-color text_widget_bg #4d4d50;
@define-color button_fg @text_widget_fg;
@define-color button_bg #6b6c6e;
@define-color button_pushed_fg @button_fg;
@define-color button_pushed_bg #2c2c2a;
@define-color border_color black;
@define-color disabled_fg #818284;
@define-color disabled_bg #6b6c6e;
@define-color selected_fg #ffffff;
@define-color selected_bg #514f7f;
@define-color warning_color #f57900;
@define-color error_color #990000;
@define-color success_color #73d216;
@define-color titlebar_active_fg #cccccc;
@define-color titlebar_active_bg #2e2e2c;
@define-color titlebar_backdrop_fg @window_fg;
@define-color titlebar_backdrop_bg @window_bg;
@define-color hint_fg #000000;
@define-color hint_bg #5696c1;

Zum Aktivieren muss man nur den Link in ~/.themes/pho-earth-adaptive/theme_colors.css auf die Datei zeigen lassen;

cd ~/.themes/pho-earth-adaptive
rm theme_colors.css
ln -s color_themes/rhapsody.css theme_colors.css

Kleiner Disclaimer: Die Theme funktioniert nicht in allen Programmen perfekt!

Programme, Sicherheit und Flatpak

Es ist denke ich Standard aber erwähnen sollte man es dennoch: LUKS ist ein Muss! Ohne Verschlüsselung der SSD sollte man keine portablen Geräte nutzen - erfreunlicher Weise ist das unter Debian natürlich kein Problem. Darauf achten sollte man beim Installieren aber dennoch. Darüber hinaus gibt es mit OpenSnitch einen hervorragenden Ersatz für die von macOS bekannte Application Firewall LittleSnitch. So bekommt man mit, wenn ein Programm nach Hause telefonieren will und kann selbst entscheiden ob es das darf oder nicht.

Das schöne an Firefox und Thunderbird ist, dass man die Profile von einem Betriebssystem zum anderen mitnehmen kann. Man muss dabei nur aufpassen, dass man in der profiles.ini in ~/.mozilla/firefox bzw. ~/.mozilla/thunderbird die richtigen Pfade setzt nachdem man die Profilordner von einem anderen Recher kopiert hat. Außerdem verwende ich persönlich jeweils die Versionen direkt den Homepages der Programme, damit ich immer die aktuellste Version habe. Tarball herunter laden und zum Beispiel in /opt/mozilla/ unterbringen. Damit die Programme auch in der Programmauswahl erscheinen, muss man unter ~/.local/share/applications entsprechende .desktop-Dateien anlegen. Hier meine für Firefox:

[Desktop Entry]
Name=Firefox
Comment=Browse the World Wide Web
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=_waylandenv.sh /opt/mozilla/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Firefox
StartupNotify=true

Das kleine waylandenv-Skript kümmert sich darum, dass, falls ich gerade unter Wayland (Gnome 40) oder einer X11 Session (XFCE beispielsweise) unterwegs bin, die entsprechenden Umgungsvariablen gesetzt werden. Das Skript selbst liegt dann unter ~/.local/bin, welches in der .profile im PATH eingetragen ist:

#!/bin/bash
if [ $XDG_SESSION_TYPE == "wayland" ]; then
export MOZ_DBUS_REMOTE=1
export MOZ_ENABLE_WAYLAND=1
export ELM_DISPLAY=wl
export ECORE_EVAS_ENGINE=wayland_egl
export ELM_ACCEL=opengl
else
export MOZ_DBUS_REMOTE=1
export MOZ_USE_XINPUT2=1
fi
exec $@

Neben Programmen aus den offiziellen Debian Repositories verwende ich auch einige Flatpaks. Bei Flatpak sollte man, wenn man wie ich, eigene GTK-Themes verwendet, noch eine Umgebungsvariable setzen. Ansonsten muss man sich auf die Themes beschränken, die in den Flatpak Repositories vorhanden sind oder damit leben, dass Flatpak Programme anders aussehen als diese über die über apt installiert oder selbst kompiliert werden. Es reicht folgender Kommandozeilenbefehl um dem Problem aus den Weg zu gehen:

flatpak override --filesystem=~/.themes/

Empfehlenswert ist es auch auf "alte Bekannte" zu setzen und nicht immer die neuesten Gnome-Programme zu verwenden. Beispielsweise ist Geany viel mächtiger als Gedit meiner Meinung nach. KeePassXC bietet einen viel größeren Funktionsumfang als "Password-Safe" und das XFCE Terminal oder Terminology sind auch viel erwachsener als das normale Gnome Terminal.

Backups

Seit eh und je setze ich bei Backups auf rsync. Ein kleines Shell-Skript, welches ~/.config, und Teile von ~/.local und ~/.var als Tarball packt und diese inkl. Dokumente, Bilder usw. usf. auf mein NAS spiegelt lasse ich wöchentlich laufen. Wichtig ist hierbei nur, dass man je nach dem über was man das NAS verbunden hat auf solche Spe­renz­chen achten muss, wie Dateien, die im Dateinamen einen Doppelpunkt haben. Links sind außerdem noch ein Problem. Ideal ist es daher über NFS zu gehen oder Backups statt auf ein NAS auf eine externe verschlüsselte EXT4-Festplatte zu spielen.

Gaming

Ich habe mich schon vor über einem Jahr fürs lokale Remotezocken entschieden. Dafür kommt bei mir ein Windows PC mit nVidia Grafikkarte zum Einsatz. Über Moonlight ist es damit sehr einfach überall im Haus das neueste Game zu spielen. Darüber hinaus verbraucht man mit so einer Lösung nicht permanent soviel Energie, wie wenn man einen Gaming-PC für so etwas wie Webbrowsing, Chatten oder Musik hören verwendet. Ansonsten ist GameHub eine hervorragende Möglichkeit seine Spielesammlungen zu verwalten und Steam ist auch perfekt in Linux integriert.

Zusammenfassend kann man sagen,...

... dass ich durchaus zufrieden bin. Ich finde es weiterhin erstaunlich, dass Linux bzw. die Desktopoberflächen allgemein trotz all der Jahre, die sie teilweise schon existieren, einen keinen halbwegs fertigen Eindruck machen. Das liegt wohl darin begründet, dass es nur kleine Teams sind, die in ihrer Freizeit die Programme und Desktop Environments voran treiben. Ich würde auch nicht jedem Gnome empfehlen. Für klassisches Computing mit Laptop oder Desktop ist man wohl mit XFCE oder KDE viel besser beraten. Diese kommen aber mit einem Touchscreen einfach nicht so gut zurecht wie Gnome 40. Seit etwa 5 Monaten nutze ich nun fast ausschließlich Linux. Mein Macbook fahre ich nur noch gelegentlich hoch um das ein oder andere Programm, für das ich noch keinen guten Ersatz gefunden habe, anzuschmeißen.


Update März 2022

Inzwischen ist mein Rhapsody-Farbschema fester Bestandteil der PhoEarth Adaptive Theme. Außerdem bin ich von debian experimental auf unstable umgestiegen. Ich würde aber jedem empfehlen direkt unstable zu installieren. Stabil ist das System und als "quasi Rolling Release" auch immer relativ aktuell. Debian selbst empfiehlt nicht ein "Frankendebian", also stable gemischt mit experimental/unstable zu machen. Man muss sich schon etwas mehr mit dem System befassen, wenn man das macht. Paketkonflikte kommen auf jeden Fall vor.

Im Laufe der Zeit habe ich zudem festgestellt, dass Gnome hin und wieder hängt, wenn man viel mit dem Touchscreen arbeitet. Daher verzichte ich inzwischen auf ein Dock und einige Erweiterungen die Gnome noch instabiler machen und habe nur noch folgene Erweiterungen aktiv:

  • AppIndicator and KStatusNotifierItem Support
  • Tiling Assistant
  • Unite
  • User Themes