gnome

Modalità automatica luce/buio

Qualcuno ha già trovato un modo per passare automaticamente tra le modalità "chiaro" e "scuro", per quanto riguarda il "Tema finestra" nelle impostazioni di Ubuntu (Impostazioni → AspettoTema finestraChiaro / Standard / Scuro )?

Scavare nelle impostazioni ogni mattina o sera è un vero dolore. Sarebbe fantastico poter passare automaticamente alla modalità "buio" al tramonto e passare automaticamente alla modalità "luce" all'alba.

Per GNOME esiste questa estensione della shell: Night Theme Switcher

Dispone di un gran numero di opzioni e funziona già dalla scatola,senza dover configurare nulla,ma anche la configurazione è semplice!

Screenshot of the Schedule tab

Screenshot of the GTK theme tab




Il comando da terminale per cambiare il tema è:

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

per il tema Yaru-dark e

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

per il tema Yaru-light.

Ora,esiste una cosa chiamata cron-job per la pianificazione dei lavori (in pratica l'esecuzione di qualcosa,ripetutamente a un'ora specifica).Quindi,è possibile scrivere un cron-job per eseguire questi comandi a orari specifici (come passare al tema scuro alle 21:00 e al tema chiaro alle 6:00).

Aggiungi quanto segue a un file chiamato script.sh :

#!/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

Rendere il file eseguibile in esecuzione:

chmod 755 /path/to/script.sh

or:

chmod +x /path/to/script.sh

Esegui gnome-session-properties nel terminale. Aggiungi un nuovo programma di avvio facendo clic su aggiungi sul lato destro e selezionando il file script.sh sfogliandolo e salvandolo con un nome e un commento. Questo dirà a GNOME di creare lightscript.sh e darkscript.sh ogni volta che accedi tramite la GUI.

Aggiungi il tuo lavoro (cambia tema) a crontab usando il comando:

crontab -e

e scegliendo un editor adatto oppure puoi andare su /var/spool/cron/crontabs e modificare il file con il tuo nome utente. L'accesso al file in questo modo richiede i privilegi sudo .Aggiungi le seguenti due righe (con /path/to/ sostituito dal percorso effettivo):

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

Si dirà:

crontab: installing new crontab

dopo l'uscita dal comando.Si può anche controllare con:

crontab -l

Questo dovrebbe farlo. Le due righe precedenti indicano a cron di eseguire lightscript.sh alle 6:00 e darkscript.sh alle 21:00 tutti i giorni.

Stiamo facendo questa deviazione invece di aggiungere semplicemente:

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

a crontab perché ciò richiede che la variabile DBUS_SESSION_BUS_ADDRESS sia impostata correttamente.