Ajuste automatiquement la luminosité de l'écran en fonction du lever et du coucher du soleil

8

Demander à Ubuntu de poser des questions et des réponses similaires:

mais ils nécessitent soit la saisie manuelle des heures de lever et de coucher du soleil, soit ils ajustent simplement la balance des couleurs et ajoutent plus de rouge la nuit.

Je recherche une solution qui obtient automatiquement les heures de lever et de coucher du soleil chaque jour et ajuste physiquement la luminosité de l'écran. De plus, je souhaite un effet de transition sur une période de 60 à 120 minutes, je ne remarque donc pas de changement d'affichage.

La reconfiguration par temps nuageux (gradateur extérieur) ou lorsque le soleil se couche entre deux bâtiments de trois étages au lieu de leurs toits (plus lumineux avant le coucher du soleil) devrait être un processus simple et rapide.

    
posée WinEunuuchs2Unix 19.03.2017 - 01:10
la source

2 réponses

7

Introduction

Ceci est une solution bash sans avoir besoin d'installer des programmes supplémentaires. Une connexion Internet est nécessaire (si vous lisez ceci, vous en avez une) pour obtenir automatiquement les heures de lever et de coucher du soleil chaque jour. Il fournit un écran de configuration convivial. Il démarre automatiquement avec cron et ne nécessite aucune intervention de l'utilisateur.

Cette réponse est divisée en plusieurs parties

  • Obtenir automatiquement les heures de lever et de coucher du soleil chaque jour avec cron
  • Configurer les paramètres de luminosité et le temps de transition
  • Script principal pour ajuster la luminosité en fonction de l'heure du jour
  • Démarrer automatiquement display-auto-brightness à chaque démarrage avec cron
  • Réglage instantané / transparent de la luminosité à partir de la suspension
  • Résumé

Obtenir automatiquement les heures de lever et de coucher du soleil chaque jour avec cron

Il existe de nombreux sites Web pour signaler les heures de lever et de coucher du soleil pour votre position. Ce script utilise ( lien ) un site connu depuis longtemps.

Avec sudo powers, éditez le fichier /usr/local/bin/sun-hours et collez ceci:

#!/bin/bash

# Called daily from /etc/cron.daily/sun-hours
while true; do

### "-q"= quiet, "-O-" pipe output
echo $(wget -q -O- https://www.timeanddate.com/sun/canada/edmonton | grep -oE 'Sunrise Today.{35}' | awk -F\> '{print }' | tr --delete "<") > /tmp/sunrise
echo $(wget -q -O- https://www.timeanddate.com/sun/canada/edmonton | grep -oE 'Sunset Today.{35}' | awk -F\> '{print }' | tr --delete "<") > /tmp/sunset

## If network is down files will have one byte size
size1=$(wc -c < /tmp/sunrise)
size2=$(wc -c < /tmp/sunset)

if [ $size1 -gt 1 ] && [ $size2 -gt 1 ] ; then
    cp /tmp/sunrise /usr/local/bin/sunrise
    cp /tmp/sunset  /usr/local/bin/sunset
    chmod 666 /usr/local/bin/sunrise
    chmod 666 /usr/local/bin/sunset
    rm /tmp/sunrise
    rm /tmp/sunset
    exit 0
else
    logger "/etc/cron.daily/sun-hours: Network is down. Waiting 5 minutes to try again."
    sleep 300
fi

done

Avant d’enregistrer le script, remplacez les deux occurrences de /canada/edmonton par votre pays et votre ville. Visitez le site www.timeanddate.com pour obtenir le nom ou le numéro exact. Par exemple, "Paris, USA" contient des dizaines de noms, donc ils contiendront un nombre tel que /worldclock/@5205082 pour "Paris, PA USA".

Utilisez cron pour exécuter le script sun-hours chaque jour

Avec sudo powers, éditez le fichier /etc/cron.daily/sun-hours et collez ceci:

#!/bin/sh
#
# Each day /etc/cron.daily/sun-hours will get sunrise and sunset times.

sleep 60 # give time for network to come up.
/usr/local/bin/sun-hours

Marquez les deux fichiers comme exécutables avec sudo chmod a+x ___/sun-hours où "

réponse donnée WinEunuuchs2Unix 19.03.2017 - 02:10
la source
3

Je viens d'écrire un programme qui fait presque ce que vous cherchez. Il modifie la luminosité de l'écran en fonction des images prises par votre webcam pour obtenir la luminosité ambiante. Vous pouvez choisir l'intervalle pour détecter vous-même la luminosité et la vitesse de variation.

lien

    
réponse donnée wandersalamander 18.12.2017 - 00:11
la source

Lire d'autres questions sur les étiquettes