Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/08/2012, à 19:50

shubakas

Programmer une heure de mise en veille et de reveille sur Ubuntu

Bonjour,

J'ai une tache qui est programmée sur un PC Ubuntu 11.04 pour se lancer à 20h15 et à 23h.

En dehors de ça, le pc ne sert à rien. Est-il possible de programmer une mise en veille à 00h15 par exemple et un réveil à 20h ?

Merci

Hors ligne

#2 Le 09/08/2012, à 21:16

Zakhar

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Un réveil : non, pas directement.

Il existe 2 solutions indirectes :
- soit ton BIOS sait allumer ton PC à une heure données, et alors tu peux programmer cela dans ton BIOS
- soit tu as une autre machine allumée, et tu peux envoyer un signal d'allumage (Wake on LAN).

Si tu peux faire une de ces deux choses, éteindre le PC après un temps donné est facile, par exemple pour 2 heures (120 min):

sudo shutdown -P 120

P.S.: mise en veille ou éteint c'est pareil, aucun de tes programmes ne tourne de toute façon.


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#3 Le 10/08/2012, à 09:19

shubakas

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Ok super merci, je vérifie ce que mon bios est capable de faire !!

Hors ligne

#4 Le 10/08/2012, à 09:38

shubakas

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Ok le bios le permet. Donc le PC s'allumera tous les jours à 20h00.

Mais avec ta commande, il s'éteindra bien tout seul au bout de ce temps donné, tous les jours ?

Hors ligne

#5 Le 10/08/2012, à 23:50

Zakhar

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Oui absolument, le seul "problème" avec cette commande, c'est qu'elle est "privilégiée", donc elle te demandera un mot de passe. Il faudra donc être devant la machine pour le taper... ce qui n'est probablement pas ce que tu souhaites.

Si ta machine est vraiment uniquement dédiée à cet usage, tu peux toujours tenter de mettre cette commande dans l'init (puisque l'init tourne sous root)... mais du coup, si un jour tu as envie de te servir "normalement" du PC, il va se couper quand même au bout du temps défini...

Je sais qu'il existe aussi une commande pour éteindre sans droits roots. De mémoire c'est un truc DBUS, mais j'ai oublié exactement, tu devrais trouver en cherchant un peu.
Et donc à mon sens, la "meilleure" solution, serait de faire un script au lancement de session avec un fenêtre Zenity temporisée (au temps que tu définis pour laisser allumé le PC) et ensuite la PC s'éteint si personne n'est intervenu dessus. Si par contre tu fermes la fenêtre ainsi apparue, ça annule l'extinction automatique.
Ca permet alors d'avoir une extinction auto si personne n'est devant, et de pouvoir se servir "normalement" du PC.


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#6 Le 12/08/2012, à 12:01

shubakas

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Ok merci beaucoup pour tout !!

Hors ligne

#7 Le 13/08/2012, à 12:42

Haleth

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

rtcwake


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#8 Le 13/08/2012, à 13:04

GP974

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

il y a une commande qui permet de faire ce que tu veut je t'invite a voir cette page plutôt bien expliquer comme le dis Haleth

Plus d'info sur cette Page

Dernière modification par GP974 (Le 13/08/2012, à 13:06)


Ubunteros depuis 10.04 Restez libre avec Linux :)
Fixe : i7 i930@3.2ghz | DDR3 12go | Amd Rx580 | SSD - 120Go S2 | 14.04.05 & Arch
Fixe2 : I5 6500U@2.8ghz | DDR4 8GO | SSD 120 M2 | Arch
Développeur de nvidiux

Hors ligne

#9 Le 16/12/2012, à 12:07

kironux

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Bonjour,

Voilà un petit script que j'ai mis en place afin de pouvoir rapidement choisir une date à laquelle on éteint sa machine :

#!/bin/bash

if (date -d "$1" +%s &>/dev/null)
	then
	now=$(date +%s)
	selected=$(date -d "$1" +%s)
	diff=$(($selected-$now))
	if [ $diff -ge 10 ]
		then
		wake=$(date -d @$selected)
		echo "Wake on $wake"
		echo -n "Confirm ? (y/n) "
		read choice
		if [ "$choice" = "y" ]
			then
			sudo rtcwake -m mem -s $diff
		else
			echo "Cancel"
		fi
	else
		echo "Error"
	fi
else
	echo "Invalid format"
fi

Je tiens à préciser que la ligne suivante :

sudo rtcwake -m mem -s $diff

permet de passer en root afin d'effectuer la mise en veille en fin de ligne.
L'option "-m mem" est le seul type de mise en veille qui fonctionne chez moi, il est donc conseillé d'aller voir ici :
http://askubuntu.com/questions/61708/au … ific-times
http://korben.info/faire-hiberner-et-re … heure.html
pour plus d'informations à propos des paramètres à passer à la commande rtcwake.

Pour utiliser le script, il faut passer en paramètre une date au format de la commande date avec le paramètre -d :
http://studio.jacksay.com/tutoriaux/sys … ande-date+
On aura donc une ligne dans le genre :

bash script.sh "tomorrow"

(réveil le lendemain)
ou encore :

bash script.sh "19:00"

(réveil à 19:00, de la même journée)
ou spécifier une date précise :

bash script.sh "2012-12-21 09:54"

(réveil le 21 décembre 2012 à 9h54)

Usage simplifié si vous l'utilisez avec un alias dans le fichier ~/.bashrc :

alias wakeup='$HOME/script.sh'

réduisant ainsi la commande à :

wakeup "7:00"

Couplé à du Wake-On-Lan (et avec la redirection qui va bien sur votre *box/routeur, faire du Wake-On-Wan), vous pouvez très simplement allumer votre machine quand vous le souhaitez ou la mettre en veille et la redémarrer ensuite (via le WOL ou WOW), depuis n'importe où.

Par exemple, sur Android, on peut utiliser :
https://play.google.com/store/apps/deta … connectbot
(pour se connecter en SSH et lancer le script afin de mettre en veille sa machine quand on veut)
https://play.google.com/store/apps/deta … .wakeonlan
(pour démarrer la machine à n'importe quelle heure (même si elle est en veille))
(pour activer le WOL : http://doc.ubuntu-fr.org/wakeonlan)

Voilà wink

Dernière modification par kironux (Le 16/12/2012, à 14:36)

Hors ligne

#10 Le 07/09/2014, à 22:18

BNC

Re : Programmer une heure de mise en veille et de reveille sur Ubuntu

Bonsoir,

Je me permets de déterrer le topic pour avoir quelques précisions.
Le script de kironux m'intéresse beaucoup, je voudrais pouvoir l'utiliser pour mettre en veille mon ordi le soir en allant me coucher, tout en le faisant sortir de veille automatiquement le matin 1 ou 2 minutes avant que l'alarm clock se lance.

C'est la 1ère fois que je créé un script et j'y connais pas grand chose, donc je viens chercher quelques conseils.

Pour commencer, j'ai créé un nouveau document vide que j'ai appelé "script.sh" et j'ai copier / coller dedans le script de kironux.
Je suis ensuite allé dans les propriété du fichier pour autoriser son exécution comme un programme.

Et après, je sais pas trop quoi faire...

J'ai tenté de le lancer en tapant "bash script.sh "19:00"" (mais avec l'heure voulue) dans le terminal, mais le terminal me répond "bash: script.sh: Aucun fichier ou dossier de ce type"

Est-ce que quelqu'un pourrait me filer un petit coup de main ?

Merci
Camille

Hors ligne