Comment puis-je arrêter automatiquement le système après un certain temps?

35

Comment puis-je arrêter automatiquement le système après un certain temps personnalisable?

    
posée NES 02.01.2011 - 23:33
la source

4 réponses

46

Ouvrez une fenêtre de terminal et tapez:

sudo shutdown -h +60

et remplacez simplement 60 par le nombre de minutes que vous souhaitez prendre.

Plus d'infos ici:

lien lien

    
réponse donnée Daniel 02.01.2011 - 23:57
la source
8
  • Vous pouvez utiliser gshutdown
  • Après l’installation, il se trouve sous Applications → Accessoires → GShutdown
  • Consultez également cette méthode .
réponse donnée karthick87 03.01.2011 - 06:14
la source
1

Vous pouvez utiliser

ComplexShutdown lien

ou EasyShutdown lien

    
réponse donnée Emad Habib 06.09.2013 - 14:49
la source
0

Étant donné que le sujet concernant l’arrêt du PC après une certaine période d’inactivité est redirigé sur ce sujet, je vous expliquerai ce problème ici.

J'ai passé beaucoup de temps à résoudre ce problème, alors je trouve utile de le partager, de simplifier le même problème pour les autres. J'ai essayé différents programmes mais ils n'ont pas fonctionné pour moi. J'ai donc trouvé un script court avec cronjob la meilleure solution.

Tout d'abord, je me suis référé à la publication Timed Shutdown - arrêt après 30 minutes

Je vais le copier ci-dessous et ensuite expliquer les améliorations pour que cela fonctionne:

  

Installez xprintidle. Cet outil donne le temps d'inactivité d'un utilisateur.

sudo apt-get install xprintidle
     

Créez un script autoshutdown.sh qui vérifie le temps d'inactivité et   indique à l'ordinateur de s'arrêter s'il est inactif pendant 30 minutes.

idle=$(xprintidle)

if [ $idle -gt 1800000 ]; then
    shutdown -h now
fi
     

Faites un cronjob pour cela qui vérifie de temps en temps si le système   a été inactif pendant trop longtemps et s’il est resté inactif plus longtemps que   30 minutes, il va s'arrêter. Notez que le cronjob doit être fait pour   l'utilisateur root.

Ce script a besoin d’améliorations pour fonctionner, comme par exemple:

idle='env DISPLAY=:0 su OUR_USER -c xprintidle 2>&1'

OUR_USER est l'utilisateur auquel nous nous référons pour vérifier le temps d'inactivité (pas l'utilisateur root)

DISPLAY=:0 est correct pour un affichage sur le bureau (exécutez la commande env pour lire DISPLAY dans votre situation)

si le script est exécuté par OUR_USER , la ligne ci-dessus peut être réduite:

idle='env DISPLAY=:0 xprintidle 2>&1'

Ce sujet est décrit lien

si le script est exécuté par OUR_USER , la commande shutdown doit être précédée de sudo

sudo shutdown -h now

Mon script a été exécuté à partir de cron par ligne dans le fichier cron:

*/5 * * * * /home/OUR_USER/autoshutdown.sh 
  • toutes les 5 minutes
  • OUR_USER doit être remplacé comme précédemment par l’utilisateur auquel nous nous référons.

Si le script n'est pas exécuté par root, n'oubliez pas d'ajouter la ligne:

ALL ALL=(ALL) NOPASSWD: /sbin/shutdown 

dans le fichier sudoers , la commande shutdown n’a donc pas besoin d’un mot de passe pour être exécutée.

J'ai essayé ces cronjobs sur 2 distributions similaires Lubuntu 12.04.4 RC LXLE 32 bits ( lien )

Dans un système, il ne fonctionne qu'avec le cronjob racine défini dans le fichier:

/ var / spool / cron / crontabs / root

CAVEAT

Un autre problème est que xprintidle dans mon système a parfois donné des valeurs aléatoires et parfois logiquement incrémentielles. Le résultat final - mon système a généralement été arrêté après 20 minutes, si je mets la valeur maximale d'inactivité à 30 minutes. Je pense que le coupable est xscreensaver , qui ne fonctionne pas comme défini par les paramètres entrés.

    
réponse donnée Michał 24.04.2014 - 19:27
la source

Lire d'autres questions sur les étiquettes