gnome
Modo automático Luz/Escuridão
Alguém encontrou uma maneira de alternar automaticamente entre os modos "claro" e "escuro" ainda, com relação ao "Tema da janela" nas configurações do Ubuntu (Configurações → Aparência → Tema da janela → Claro / Padrão / Escuro )?
Escavar as configurações todas as manhãs ou noites é uma verdadeira dor. Seria ótimo poder alternar automaticamente para o modo "escuro" ao pôr do sol e alternar automaticamente para o modo "claro" ao nascer do sol.
Para o GNOME, existe esta extensão de shell: Night Theme Switcher
Tem bastantes opções e já funciona fora da caixa,sem ter de configurar nada,mas a configuração também é directa!
O comando terminal para mudar de tema é:
gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark
para o tema Yaru-dark,e
gsettings set org.gnome.desktop.interface gtk-theme Yaru-light
para o tema Yaru-light.
Agora,há algo chamado cron-job para agendar trabalhos (basicamente executar algo,repetidamente em tempo específico).Assim,pode escrever um cron-job para executar estes comandos em horários específicos (algo como mudar para tema escuro às 21 horas e tema claro às 6 horas da manhã).
Adicione o seguinte a um arquivo chamado 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
Tornar o ficheiro executável em execução:
chmod 755 /path/to/script.sh
or:
chmod +x /path/to/script.sh
Execute gnome-session-properties
no terminal. Adicione um novo programa de inicialização clicando em adicionar no lado direito e selecionando o arquivo script.sh
navegando e salve-o com algum nome e comentário. Isso dirá ao GNOME para criar lightscript.sh
e darkscript.sh
sempre que você efetuar login através da GUI.
Adicione seu trabalho (alterar tema) ao crontab
usando o comando:
crontab -e
e escolhendo um editor adequado ou você pode ir para /var/spool/cron/crontabs
e editar o arquivo com seu nome de usuário. Acessar o arquivo dessa maneira requer privilégios sudo
.Adicione as duas linhas a seguir (com /path/to/
substituído pelo caminho real):
0 6 * * * /path/to/lightscript.sh
0 21 * * * /path/to/darkscript.sh
Dirá:
crontab: installing new crontab
após ter saído do comando.Também pode verificar com:
crontab -l
Isso deve servir. As duas linhas acima dizem ao cron
para executar lightscript.sh
às 6h e darkscript.sh
às 21h todos os dias.
Estamos a fazer este desvio em vez de apenas acrescentar:
0 6 * * * gsettings set org.gnome.desktop.interface gtk-theme Yaru-light
para crontab
porque isso requer que a variável DBUS_SESSION_BUS_ADDRESS
seja definida corretamente.