gnome

Modo automático de luz/oscuridad

¿Alguien ha encontrado una manera de cambiar automáticamente entre los modos "claro" y "oscuro", con respecto al "Tema de la ventana" en la configuración de Ubuntu (Configuración → AparienciaTema de la ventanaClaro / Estándar / Oscuro )?

Profundizar en la configuración cada mañana o tarde es un verdadero dolor. Sería genial poder cambiar automáticamente al modo "oscuro" al atardecer y cambiar automáticamente al modo "claro" al amanecer.

Para GNOME, existe esta extensión de shell: Night Theme Switcher

Tiene bastantes opciones y ya funciona desde el principio,sin tener que configurar nada,pero la configuración también es sencilla.

Screenshot of the Schedule tab

Screenshot of the GTK theme tab




El comando de terminal para cambiar de tema es:

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

para el tema Yaru-dark,y

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

para el tema de Yaru-light.

Ahora,hay algo llamado cron-job para programar trabajos (básicamente ejecutar algo,repetidamente en un momento específico).Por lo tanto,puede escribir un cron-job para ejecutar estos comandos en momentos específicos (algo así como cambiar al tema oscuro a las 9 PM y al tema claro a las 6 AM).

Agregue lo siguiente a un archivo llamado 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

Hacer que el archivo sea ejecutable en marcha:

chmod 755 /path/to/script.sh

or:

chmod +x /path/to/script.sh

Ejecute gnome-session-properties en la terminal. Agregue un nuevo programa de inicio haciendo clic en agregar en el lado derecho y seleccionando el archivo script.sh navegando y guárdelo con algún nombre y comentario. Esto le indicará a GNOME que cree lightscript.sh y darkscript.sh cada vez que inicie sesión a través de la GUI.

Agregue su trabajo (cambiar tema) a crontab usando el comando:

crontab -e

y elegir un editor adecuado o puede ir a /var/spool/cron/crontabs y editar el archivo con su nombre de usuario. Acceder al archivo de esta manera requiere privilegios de sudo .Agregue las siguientes dos líneas (con /path/to/ reemplazada por la ruta real):

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

Lo dirá:

crontab: installing new crontab

después de salir del comando.También puede comprobarlo con:

crontab -l

Esto debería hacerlo. Las dos líneas anteriores le dicen a cron que ejecute lightscript.sh a las 6:00 a. m. y darkscript.sh a las 9:00 p. m. todos los días.

Estamos tomando este desvío en lugar de simplemente añadir:

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

a crontab porque esto requiere que la variable DBUS_SESSION_BUS_ADDRESS se configure correctamente.



Tema de la pantalla de inicio de sesión roto
¿Cuál es la relación entre GNU y GNOME?
Integración de un sistema de archivos basado en etiquetas en Gnome y Nautilus
Qué es Xwayland,qué pasa si lo quito de ubuntu 22.04