Ich hätte nie gedacht, dass dieser Tag kommt. Eigentlich war es wie in Stein gemeißelt!
„Auf dem Desktop: Linux Mint/LMDE + Cinnamon“
Was hat sich geändert? Nun… Ich habe vor knapp 6 Monaten mit meiner Frau getauscht. Sie bekam meinen Laptop, und ich dafür ihr Surface Go 2. Nach langem Distro-Hopping hat sich zunächst der Gnome-Desktop als beste Lösung für das GO 2 herausgestellt. Es folgte eine sehr nervige Phase, in der ich herausfinden musste, dass Gnome eben nicht immer Gnome ist, egal ob der Unterbau Fedora, Ubuntu, Debian, Pop_OS! oder OpenSUSE heißt. Und ganz ehrlich: Ich habe keinen Bock, mir in meinem fortgeschrittenen Alter yay, pacman, zypper oder dnf noch draufzuschaffen…
Am Ende ist es Ubuntu geworden, und ich bin auf dem Tablet sehr glücklich damit. Nur so nebenbei: Ich finde, Microsoft macht die besten Linux-Tablets. Alle zwei Monate kommen und gehen Kickstarter-Kampagnen. Jedes Mal wird gesagt: „DAS ist DAS Linux-Tablet“. Könnte schon fast so ein Running Gag wie "Das Jahr des Linux-Desktops" werden.
Jetzt bin ich aber mal wieder abgeschweift. Also, ich werde auch auf dem PC wechseln, und zwar von LMDE zu Debian mit Gnome. Damit kommen aber schon die ersten Schwierigkeiten, denn Vanilla-Gnome ist nicht mein Ding. Ich hätte gerne eine Prise Ubuntu, aber ohne Ubuntu. Macht das Sinn? Naja, ich möchte, dass Gnome sich so verhält wie Gnome-Ubuntu (richtige Bezeichnung).
Auf dem GO 2 hatte ich das Problem, dass mir bei skalierter Auflösung die Maus trotzdem zu klein war, das lässt sich aber nicht über das UI lösen (warum auch immer). Google hilft! Und was ich gefunden habe, hat mich so neugierig gemacht, dass ich mehr wissen wollte.
Thema Heute: gsettings
Mit gsettings können Anpassungen vorgenommen werden, ohne eine grafische Oberfläche zu nutzen.
Das geübte Auge sieht hier natürlich ein Muster aus Schlüsseln und Werten.
Das Muster lautet: gsettings set SCHEMA[:PATH] KEY VALUE".
Anmerkung: Im Folgenden erläutere ich ausschließlich die Theming-Aspekte von gsettings. Man kann über list-keys auslesen, welche Konfigurationsmöglichkeiten es noch gibt. Die Gefahr, im System etwas ungewollt zu verstellen, ist jedoch groß.
Grundlagen
1. Lesen von Einstellungen Um eine Einstellung auszulesen und ihren aktuellen Wert anzuzeigen, verwenden man den Befehl gsettings get. Beispiele: gsettings get org.gnome.desktop.background picture-uri Dies zeigt uns den Pfad unseres Desktop-Hintergrundes an. 2. Ändern von Einstellungen Um eine Einstellung zu ändern, verwenden man den Befehl gsettings set. Beispiele: gsettings set org.gnome.desktop.background picture-uri "file:///path/to/your/image.jpg" |
Anwendungs-Beispiele
Es gibt ein paar Dinge, die ich in Gnome ändern möchte. Hier gilt wieder: "Was ich im Terminal machen kann, kann ich auch in ein Script packen". Auf geht's!
Ich will mich in den Desktop einloggen einen USB-Stick mit dem Script offen und my_gnome_config.sh starten. Danach sollte der Desktop schon einige Grundvoraussetzungen haben, damit ich wie gewohnt arbeiten kann. Der Rest kommt dann in die Bonus-Kategorie.
- Cursor-Größe
- Wallpaper
- Dark-Mode
- Icon-Theme
- Minimize- u. Maximize-Button
Cursor-Größe
gsettings get org.gnome.desktop.interface cursor-size
#Setzt einen neuen wert für den Schüssel cursor-size
gsettings set org.gnome.desktop.interface cursor-size 32
#Mögliche Werte
#[24,32,64,96]
Dark-Mode/Desktop-Theme (Yaru-Theme ist nachinstalliert)
❯ ls /usr/share/themes
Adwaita Yaru-bark-dark Yaru-magenta-dark Yaru-red-dark
Adwaita-dark Yaru-blue Yaru-olive Yaru-sage
Default Yaru-blue-dark Yaru-olive-dark Yaru-sage-dark
Emacs Yaru-dark Yaru-prussiangreen Yaru-viridian
HighContrast Yaru-dark-hdpi Yaru-prussiangreen-dark Yaru-viridian-dark
Raleigh Yaru-dark-xhdpi Yaru-purple Yaru-xhdpi
Yaru Yaru-hdpi Yaru-purple-dark
Yaru-bark Yaru-magenta Yaru-red
#z.B. Yaru-red-dark
gsettings set org.gnome.desktop.interface gtk-theme "Yaru-red-dark"
Alles anzeigen
Minimize- u. Maximize-Button
#Nach Rechts aus gerichtet
gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
Icon-Theme
❯ ls /usr/share/icons
Adwaita ePapirus-Dark hicolor Papirus-Dark
default gnome HighContrast Papirus-Light
desktop-base gnome-logo-text-dark.svg locolor vendor
ePapirus gnome-logo-text.svg Papirus
#z.B. Papirus-Dark
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
Wallpaper
#gsettings set org.gnome.desktop.background picture-uri "file:///path/to/your/image.jpg"
#Dark-Theme-Wallpaper
gsettings set org.gnome.desktop.background picture-uri-dark "file:///~/Bilder/Wallpapers/my_little_pony_pink.jpg"
#Light-Theme-Wallpaper
gsettings set org.gnome.desktop.background picture-uri "file:///~/Bilder/Wallpapers/all_150_pokemon.jpg"
Wie könnte ein initiales Script aussehen?
Beispiel: Debian 12 + Gnome
Das Script liegt auf meinem USB-Stick im Ordner "INIT-INST-GNOME-DEB" zusammen mit My_Wallpaper.jpg und Bibata-Modern-Classic
#!/bin/bash
# Implementiert das Papirus-Repo
sudo sh -c "echo 'deb http://ppa.launchpad.net/papirus/papirus/ubuntu jammy main' > /etc/apt/sources.list.d/papirus-ppa.list"
sudo wget -qO /etc/apt/trusted.gpg.d/papirus-ppa.asc 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9461999446FAF0DF770BFC9AE58A9D36647CAE7F'
# Installiert das Yaru-Theme & papirus + folders
sudo apt update && sudo apt install yaru-theme-gtk papirus-icon-theme papirus-folders
# Setzt Papirus-Folders auf Yaru
papirus-folders -C yaru --theme Papirus-Dark
# Checkt ob der Pfad exsistiert oder erstellt ihn
if [ ! -d ~/Bilder/Wallpapers ]; then
mkdir -p ~/Bilder/Wallpapers
fi
# Kopiert das Wallapaper in das Verzeichnis (Bitte ersetzen Sie My_Wallpaper.jpg durch den tatsächlichen Dateinamen)
cp My_Wallpaper.jpg ~/Bilder/Wallpapers/
## gsettings
# Setzt Papirus-Dark als Icon-Theme
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
# Dark-Theme-Wallpaper
gsettings set org.gnome.desktop.background picture-uri-dark "file://$HOME/Bilder/Wallpapers/My_Wallpaper.jpg"
# Kopiert das Cursor-Theme nach:
sudo cp -r Bibata-Modern-Classic /usr/share/icons/
# Setzt das Cursor-Theme
gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic'
# Fügt Minimieren und Maximieren zu Fenstern hinzu
gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
# Setzt das GTK-Theme auf Yaru-Dark
gsettings set org.gnome.desktop.interface gtk-theme "Yaru-dark"
# Setzt die Cursor-Größe auf 32
gsettings set org.gnome.desktop.interface cursor-size 32
echo "Alles erledigt"
Alles anzeigen
Am ende bleiben noch ein paar ungeklärte Fragen:
- Warum wusste ich sowas noch nicht viel früher?
- Warum versteckt Gnome solche Einstellungsmöglichkeiten?
- Und warum ist Kylo-Ren so eine verdammte heulSUSE?
Bonus
User Themes - GNOME Shell-Erweiterungen
Caffeine - GNOME Shell Extensions
Kommentare 3