Ich habe eine Reihe von Funktionen im Bash-Skript, die ich nur auf bestimmten Ubuntu-Varianten ausführen möchte. Ich möchte beispielsweise Folgendes ausführen, wenn ich Unity ausführe:
gsettings set com.canonical.indicator.datetime show-week-numbers true
aber das folgende, wenn ich Ubuntu GNOME laufen lasse:
gsettings set org.gnome.shell.calendar show-weekdate true
und in ähnlicher Weise verschiedene Befehle für verschiedene Ubuntu-Varianten.
Ich habe versucht, den Inhalt von zu sehen /etc/os-release
, aber es gibt keine Informationen über den Geschmack von Ubuntu. Folgendes ist, wenn es unter Ubuntu GNOME ausgeführt wird:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
Ist es möglich zu wissen, welche erkannte Geschmacksrichtung ich mit dem Terminal verwende? Ich würde eine Lösung bevorzugen, die sofort funktioniert, ohne andere Pakete für Live- und installierte Umgebungen zu installieren. Es ist möglich, nach den installierten Paketen zu suchen, aber ich würde es vorziehen, diesen Weg nicht zu gehen, obwohl Sie gerne eine Antwort in diese Richtung geben können.
Antworten:
Dies ist der Befehl, den ich benutze. Es funktioniert die ganze Zeit für mich:
Ausgabe (mein System) Zeigt korrekt an, dass ich Kubuntu ausführe
quelle
This
zu mir.Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
Vielleicht keine Variante wie Kubuntu , Xubuntu , Lubuntu usw. Denn wie Oli & Terdon kommentiert, können Sie Kubuntu installieren, aber XFCE als Desktop ausführen .
Sie können also den Wert der Umgebungsvariablen XDG_CURRENT_DESKTOP abrufen, um zu erfahren, was auf dem aktuellen Desktop ausgeführt wird.
z.B:
echo $XDG_CURRENT_DESKTOP
Hinweis:
Die Werte der Variablen können Unity, GNOME, XFCE, KDE, LXDE, Pantheon (Elementary OS ) sein.
Hoffe das hilft.
quelle
cat /var/log/installer/media-info
. arbeitete für mich in virtuellen Maschinen Kubuntu, Ubuntu Gnome, Ubuntu, Xubuntu. (nicht live installiert)Stellen Sie beide ein. Alles einstellen. Feuer und vergessen.
Die Einstellungen sind exklusiv genug, um andere Dinge nicht zu beeinflussen, daher sollte es sicher sein ... Und es ist viel, viel einfacher zu tun, als herauszufinden, was ausgeführt wird ... Es ist möglich, herauszufinden, was installiert ist, aber das ist keine Angabe, was der Benutzer tatsächlich verwendet.
quelle
Folgendes
if
zeigt Ihnen, ob Sie Unity ausführen oder nicht:Auf die gleiche Weise können Sie überprüfen, ob Sie GNOME oder andere Varianten ausführen. Wichtig ist, welchen (Teil-) Namen der Prozess Sie zuerst verwenden
grep
. Sie müssen einen bestimmten Prozess unterscheiden, der ständig nur in dem Geschmack abläuft, an dem Sie interessiert sind.quelle
Wenn Sie einige Standardeinstellungen für Desktop-Einstellungen für alle Benutzer festlegen möchten, ist es viel einfacher, das Betriebssystem dies mithilfe von Gsettings-Schemaüberschreibungen für Sie tun zu lassen. Erstellen Sie beispielsweise Folgendes
/usr/share/glib-2.0/schemas/99_my-settings.gschema.override
mit Ihren Einstellungen:Verwenden Sie den Dconf-Editor oder die CLI-Tools, um das richtige Schema (in eckigen Klammern) für jede Einstellung zu überprüfen. Sie können unter jedem Schema mehrere Einstellungen gruppieren. Führen Sie dies abschließend aus, um die Standardeinstellungen für alle Benutzer festzulegen:
Auf diese Weise müssen Sie nicht einmal Skripte ausführen, da jede Desktop-Umgebung beim Start ihre neuen Standardeinstellungen findet. Außerdem können Benutzer sie personalisieren, ohne dass ein hinterhältiges Startskript sie wieder ändert.
Hier einige weitere Informationen: https://developer.gnome.org/gio/stable/glib-compile-schemas.html
quelle