Miamondo

hatari

  • Automatiser l'extinction et le redémarrage d'un ordinateur avec rtcwake

    Bonjour,

    Hier après-midi, en faisant mes courses, j'ai constaté que Linux Welt était en vente dans le kiosque à journaux de la modeste bourgade allemande où j'habite. Ach! Grosse Freude!

    En feuilletant ma revue gouik préférée et en plongeant mon nez dans les pages pour bien les sentir (j'aime bien l'odeur des livres ou des revues...), je suis tombé sur un article très intéressant qui traite de l'extinction et du redémarrage automatique d'un ordinateur grâce à l'outil rtcwake. J'ai donc envie de vous  montrer comment tout cela fonctionne. Nous ferons une mise en pratique en transformant votre compagnon préféré en radio-réveil pour débuter la journée tout en douceur.

    1. Démarrage : configuration actuelle de mon ordinateur
    2. Configurer l'autologin
    3. Configurer le lancement automatique de startx
    4. Configurer l'extinction et la mise en route automatique
    5. Configurer crontab
    6. Configurer son navigateur brave ou firefox pour un réveil musical tout en douceur
    7. Conclusion (systemd comme alternative?)

     

    1. Démarrage : configuration actuelle de mon ordinateur

    Cela fait plusieurs années que je n'utilise plus de gestionnaire de connexion graphique, tout simplement parce que je n'en vois pas l'utilité. Lorsque j'allume mon fidèle compagnon, c'est une console tty qui s'ouvre et qui m'invite à renseigner mon identifiant et mon mot de passe. Ensuite, il me suffit d'entrer la commande startx et je me retrouve sur mon bureau!

     

    2. Configurer l'autologin

    Nous allons donc d'abord commencer par configurer l'autologin.

     

    2.1. Avec un gestionnaire de connexion graphique, par exemple lightdm

    C'est relativement simple. Il vous suffit d'ouvrir ou de créer le fichier /etc/lightdm/lightdm.conf et d'y ajouter les lignes suivantes:

     

     

    [Seat:*]

    autologin-user=miamondo      # À remplacer par votre nom d'utilisateur

    autologin-user-timeout=0

     

     

     

    2.2. Sans gestionnaire de connexion graphique (ce qui est mon cas)

    Pour ne plus avoir besoin d'entrer vos identifiants dans la console tty, prière d'ouvrir le fichier /etc/systemd/logind.conf et de remplacer la ligne #NAutoVTs=6 par NAutoVTs=1. Puis, ouvrez un terminal et entrez la commande suivante :

     

     

    sudo systemctl edit getty@tty1

     

     

    Le fichier va s'ouvrir. Veuillez entrer ces lignes :

     

     

    ExecStart=

    ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux

     

     

    Maintenant, il faut demander à systemd d'autoriser le service:

     

     

    sudo systemctl enable getty@tty1.service

     

     

    Rebootez. Normalement, l'autologin fonctionne mais en root! Entrez à nouveau cette commande:

     

     

    sudo systemctl edit getty@tty1

     

     

    Remplacez root par votre nom d'utilisateur.

     

     

    [service]

    ExecStart=

    ExecStart=-/sbin/agetty --autologin miamondo --noclear %I 38400 linux

     

     

    Rebootez. Si tout va bien, vous allez vous rendre compte que l'autologin est opérationnel. Mais ce n'est pas terminé puisque vous êtes encore obligés de démarrer la session X à la main, avec la commande startx.

     

    3. Configurer le lancement automatique de startx

    La procédure que je vous décris dans ce paragraphe ne s'applique que dans le cas où vous n'avez pas de gestionnaire de connexion graphique.

    Pour que la session X se lance automatiquement, veuillez rajouter ces lignes à la fin du fichier /etc/profile ou à la fin du fichier ~/bash_profile :

     

     

    if [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]]
    then
        exec startx
    fi

     

     

    Rebootez. Si tout va bien, cette fois-ci, vous allez atterrir sur votre bureau sans avoir besoin de renseigner vos identifiants.

     

    4. Configurer l'extinction et le réveil automatique

    C'est la commande rtcwake qui va nous permettre d'éteindre et de rallumer notre ordinateur à une heure donnée. rtcwake, qui fait partie du paquet util-linux est normalement pré-installé sur tous les systèmes d'exploitation Linux. Nous allons tester une extinction suivie d'une remise en route au bout de 20 secondes :

     

     

    sudo rtcwake -m off -s 20

     

     

    off signifie que nous allons complètement éteindre l'ordinateur et -s 20 signifie que nous allons le rallumer au bout de vingt secondes. Allez-y, entrez cette commande dans un terminal.

    Si tout s'est bien passé, votre ordinateur s'est éteint et s'est rallumé vingt secondes plus tard. Vous avez fait le plus dur!

     

    5. Configurer crontab

    Il ne nous reste plus qu'à automatiser la tâche. Faisons en sorte que l'ordinateur démarre à 7 heures tous les matins et qu'il s'éteigne à 23 heures 15 minutes tous les soirs. Il faut modifier le crontab du root et non pas celui de votre compte utilisateur, car la commande rtcwake nécessite sudo.

    Entrez cette commande dans un terminal:

     

     

    sudo crontab -e -u root

     

     

    Puis rajouter la ligne suivante dans le fichier crontab:

     

     

    15 23 * * * /usr/sbin/rtcwake -m off -s 27900

     

     

    27900 correspond au nombre de secondes écoulées entre l' extinction de l'ordinateur à 23 heures 15 et le démarrage à 7 heures.

     

    6. Configurer son navigateur Brave ou Firefox pour un réveil musical tout en douceur

    Nous voici presque arrivés au terme de ce tutoriel. Il ne nous reste plus qu'à configurer le navigateur Brave ou Firefox pour que celui-ci se lance au démarrage et embraye sur une vidéo qui saura nous extraire des bras de morphée  tout en douceur.

    Pour les deux navigateurs, il vous faut cliquer sur la roue dentée qui symbolise les préférences, et modifier la page d'accueil en y incluant l'adresse de la vidéo youtube immédiatement suivie de &autoplay=1 pour que la vidéo démarre toute seule. Dernière chose, n'oubliez pas de rajouter cette commande dans l'un de vos fichiers autostart (par exemple ~/.config/openbox/autostart si vous utilisez openbox) :

     

     

    brave &       # ou firefox &

     

     

    Et dès demain matin ...

     

     

    Conclusion

    Voici un bien bel outil qui fonctionne très bien sur mon ordinateur portable. Par contre, sur mon PC fixe de bureau, j'ai été confronté à un petit problème. En fait, l'extinction fonctionnait mais pas le redémarrage.

    Je me suis donc tourné vers systemd avec le même résultat. Extinction OK, démarrage KO! Je trouvais ça bien dommage car j'avais pensé réveiller mes deux ordinateurs tous les matins pour leur faire accomplir des tâches de synchronisation et de mises à jour. Eh bien, j'ai fini par trouver la solution : Dans le BIOS, j'ai réglé la valeur de HPET (high precision event timer) sur disabled. C'est-à-dire que j'ai désactivé cette fonctionnalité. Maintenant, tout fonctionne. Ende gut, alles gut!*

    *Tout est bien qui finit bien!