Je commence généralement un téléchargement avant d'aller à l'école.
Quelle commande dois-je utiliser pour effectuer automatiquement les sauvegardes nécessaires et éteindre l’ordinateur une fois la tâche terminée?
(Après l'installation des mises à jour ou le téléchargement d'un fichier volumineux.)
J'ai également posté ce à nix.stackexchange .
Je sais que cela ne répond pas exactement à votre question, mais vous pouvez également le définir en fonction du temps, c'est-à-dire que si vous pensez que le téléchargement s'achèvera en 2 heures, vous pouvez simplement lancer la commande suivante:
shutdown -h +120
À faire une fois pour vous permettre d’éteindre la machine sans mot de passe:
Ouvrez une ligne de commande et tapez:
Sudo visudo
Dans le fichier qui s'ouvre, ajoutez la ligne suivante à la fin:
yourusername ALL=NOPASSWD: /sbin/halt
Puis quittez l'éditeur et protégez-le (Ctrl+X).
Vous pouvez maintenant éteindre votre ordinateur à partir de la ligne de commande, par exemple. après avoir téléchargé quelque chose:
wget UrlOfTheFileYouWantToDownload && Sudo halt
Les autres réponses sont correctes, mais il manque quelque chose:
wget UrlOfTheFileYouWantToDownload ; Sudo halt
contre
wget UrlOfTheFileYouWantToDownload && Sudo halt
Le second niquement éteindra l'ordinateur si wget
retourne avec succès. Le premier s'exécutera si wget
retourne avec succès ou échoue.
Pour arrêter après la mise à jour, vous pouvez utiliser ce script python: http://kotbcorp.blogspot.com/2009/06/shutdown-after-update-in-ubuntu.html
Pour arrêter après le téléchargement, j'utilise cette commande:
wget http://somehwere.com/path/to/some.file && halt
vous pouvez utiliser les gestionnaires de téléchargement ou les clients torrent pour éteindre l'ordinateur après avoir terminé ou supposer que vous défragmentez le disque, vous pouvez cliquer sur arrêter après l'opération, ce qui est disponible dans la plupart des logiciels
Je suppose que cela dépend beaucoup de la façon dont vous avez fait votre "téléchargement".
Si vous parlez d'une mise à jour apt-get, mettez à jour la séquence, en tant que root, vous chaînez vos commandes ensemble à l'aide de && (la séquence continue uniquement s'il n'y a pas d'erreur).
Sudo su -
apt-get update && apt-get upgrade && shutdown -h now
Si vous parlez d'un téléchargement (par exemple, en utilisant wget) [à nouveau, reliez les commandes ensemble en utilisant la notation &&, en vous assurant que les commandes ne sont exécutées que si la commande précédente a abouti]
Sudo su -
wget -t0 -c http://somedownloadsite/path/file.foo && shutdown -h now
Si votre téléchargement a été effectué par un client graphique (interface graphique), cela dépend des mécanismes d'exécution de scripts de ce client après un téléchargement réussi.
J'ai personnellement trouvé qu'il était plus facile d'utiliser gedit pour configurer l'original.
yourusername ALL=NOPASSWD: /sbin/halt
depuis Sudo visudo
me déroutait et ne montrait pas clairement la dernière ligne
Alors j'ai utilisé
Sudo -H gedit /etc/sudoers
puis fini avec une page claire (pour moi)
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
shantiq ALL=NOPASSWD: /sbin/halt
Je pensais juste que je mentionnerais que si quelqu'un d'autre était un peu confus aussi
Au lieu de modifier les autorisations à l’arrêt, procédez comme suit:
Sudo bash -c 'apt-get update; apt-get dist-upgrade; shutdown -h now'
Cela permet d'exécuter une invite bash en tant que root, qui exécute les éléments de la liste unique citée, puis se ferme. L'avantage de cette méthode est qu'Ubuntu oubliera votre authentification initiale Sudo
après un certain temps (en fonction du délai d'attente défini - 15 minutes par défaut) et qu'une personne rencontrant votre ordinateur pourrait uniquement arrêter la commande en cours et ne pas exécuter de commande. nouveau. Aussi, pour tous ceux qui disent utiliser su
, essayez:
Sudo -s
Je ne pense pas que vous puissiez faire cela ... Il est impossible de savoir quand une application spécifique a terminé son travail.
Je faisais Sudo su; sleep 3600; halt;