gnome

Automatischer Hell-Dunkel-Modus

Hat jemand schon einen Weg gefunden, automatisch zwischen "hellem" und "dunklem" Modus zu wechseln, in Bezug auf das "Fensterdesign" in den Ubuntu-Einstellungen (Einstellungen → DarstellungFensterdesignHell / Standard / Dunkel )?

Jeden Morgen oder Abend in die Einstellungen zu graben, ist ein echter Schmerz. Es wäre großartig, bei Sonnenuntergang automatisch in den „dunklen“ Modus und bei Sonnenaufgang automatisch in den „hellen“ Modus wechseln zu können.

Für GNOME gibt es diese Shell-Erweiterung: Night Theme Switcher

Es verfügt über eine ganze Reihe von Optionen und funktioniert bereits ab Werk,ohne dass Sie etwas konfigurieren müssen,aber auch die Konfiguration ist einfach!

Screenshot of the Schedule tab

Screenshot of the GTK theme tab




Der Terminalbefehl zum Ändern des Themas lautet:

gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark

für das Thema Yaru-dunkel,und

gsettings set org.gnome.desktop.interface gtk-theme Yaru-light

für das Thema Yaru-light.

Es gibt etwas,das sich cron-job nennt,um Aufträge zu planen (im Grunde etwas wiederholt zu einer bestimmten Zeit auszuführen).Sie können also einen Cron-Job schreiben,der diese Befehle zu bestimmten Zeiten ausführt (z.B.Wechsel zum dunklen Thema um 21 Uhr und zum hellen Thema um 6 Uhr).

Fügen Sie Folgendes zu einer Datei namens script.sh hinzu :

#!/bin/bash
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > lightscript.sh
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > darkscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-light" >> lightscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark" >> darkscript.sh
chmod 755 lightscript.sh
chmod 755 darkscript.sh

currenttime=$(date +%H:%M)
if [[ "$currenttime" > "21:00" ]] || [[ "$currenttime" < "06:00" ]]; then
  ./darkscript.sh
else
  ./lightscript.sh
fi

Machen Sie die Datei ausführbar:

chmod 755 /path/to/script.sh

or:

chmod +x /path/to/script.sh

Führen Sie gnome-session-properties im Terminal aus. Fügen Sie ein neues Startprogramm hinzu, indem Sie auf der rechten Seite auf Hinzufügen klicken und die script.sh -Datei auswählen, indem Sie sie durchsuchen und mit einem Namen und Kommentar speichern. Dadurch wird GNOME angewiesen, lightscript.sh und darkscript.sh zu erstellen, wenn Sie sich über die GUI anmelden.

Fügen Sie Ihren Job (Design ändern) zu crontab hinzu , indem Sie den folgenden Befehl verwenden:

crontab -e

und einen geeigneten Editor auswählen oder Sie können zu /var/spool/cron/crontabs gehen und die Datei mit Ihrem Benutzernamen bearbeiten. Für den Zugriff auf die Datei auf diese Weise sind sudo - Berechtigungen erforderlich. Fügen Sie die folgenden zwei Zeilen hinzu (wobei /path/to/ durch den tatsächlichen Pfad ersetzt wird):

0 6 * * * /path/to/lightscript.sh
0 21 * * * /path/to/darkscript.sh

Sie wird sagen:

crontab: installing new crontab

nach Beendigung des Befehls.Sie können auch mit überprüfen:

crontab -l

Dies sollte es tun. Die beiden obigen Zeilen weisen cron an, lightscript.sh jeden Tag um 6:00 Uhr und darkscript.sh um 21:00 Uhr auszuführen.

Wir machen diesen Umweg,anstatt nur hinzuzufügen:

0 6 * * * gsettings set org.gnome.desktop.interface gtk-theme Yaru-light

in crontab , da dies erfordert, dass die Variable DBUS_SESSION_BUS_ADDRESS richtig eingestellt ist.