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
Ele tem muitas opções e já funciona fora da caixa, sem precisar configurar nada, mas a configuração também é simples!
O comando do terminal para alterar o tema é:
para o tema Yaru-escuro, e
para o tema Yaru-luz.
Agora, existe algo chamado cron-job para agendar trabalhos (basicamente executar algo, repetidamente em um horário específico). Assim, você pode escrever um cron-job para executar esses comandos em horários especificados (algo como mudar para tema escuro às 21h e tema claro às 6h).
Adicione o seguinte a um arquivo chamado
script.sh
:Torne o arquivo executável em execução:
ou:
Execute
gnome-session-properties
no terminal. Adicione um novo programa de inicialização clicando em adicionar no lado direito e selecionando oscript.sh
arquivo navegando e salve-o com algum nome e comentário. Isso dirá ao GNOME para criarlightscript.sh
edarkscript.sh
sempre que você fizer login pela GUI.Adicione seu trabalho (alterar tema)
crontab
usando o comando:e escolhendo um editor adequado ou você pode ir
/var/spool/cron/crontabs
e editar o arquivo com seu nome de usuário. Acessar o arquivo dessa maneira requersudo
privilégios. Adicione as duas linhas a seguir (/path/to/
substituídas pelo caminho real):Vai dizer:
após sair do comando. Você também pode verificar com:
Isso deve servir. As duas linhas acima dizem
cron
para executarlightscript.sh
às 6h edarkscript.sh
às 21h todos os dias.Estamos fazendo esse desvio em vez de apenas adicionar:
para
crontab
porque isso requer que aDBUS_SESSION_BUS_ADDRESS
variável seja definida corretamente.Podemos conseguir isso com a ajuda da resposta
crontab
de @shubhzgang .Adicionamos
@reboot
para que o script seja executado mesmo se o PC for desligado no momento do disparo do cron.