Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 05-02-2017 13:36:36

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

[résolu]¡Gestion fonctionnement PC

Je cherche une commande pour mettre mon PC en hibernation et le remettre en service à heures fixes.
Je débute, donc une solution gérable pour un " petit nouveau " serait la bienvenue.

Merci.

Dernière modification par Pierre16 (03-03-2017 08:44:07)

Hors ligne

#2 05-02-2017 14:03:21

raleur
Membre
Inscription : 03-10-2014

Re : [résolu]¡Gestion fonctionnement PC

A ma connaissance, le réveil ne peut être paramétré que dans le BIOS.

Hors ligne

#3 05-02-2017 15:09:26

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Qshutdown aurait pu faire l'affaire mais cet outil ne peut agir qu'une seule fois me semble-t-il ....
On peut programmer le redémarrage,l'hibernation ou la veille....mais pas l'hibernation suivie du redémarrage.
C'est mon avis,je peux me tromper .

Hors ligne

#4 06-02-2017 06:38:25

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Bonjour

Besoin de précision :

Est-ce le réveil qui doit être à heure fixe ?
ou alors
Est-ce le réveil et l'hibernation qui doivent se faire à heure fixe ?

Un exemple genre une suite temporelle avec les conditions de déclenchement des actions serait un plus.

Merci

EDIT : Attention : hibernation et mise en veille sont des modes différents :

hibernation => sauvegarde sur le disque (RAM copiée et relue dans et depuis la  partition de swap)
"mise en veille prolongée" <=> "hibernation"
"mise en veille"

Voir aussi : https://fr.wikipedia.org/wiki/Advanced_ … _states.29
et

man rtcwake

Dernière modification par MicP (06-02-2017 06:55:27)

Hors ligne

#5 06-02-2017 11:03:56

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Nous parlons bien d'hibernation et réveil qui doivent s'opérer à heure fixe.
Hibernation >> 22h30  et réveil >> 07h30.

Hors ligne

#6 06-02-2017 11:06:53

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Merci beaucoup pour la réponse précise.

Vu les options possibles de rtcwake cette commande semble convenir pour le but recherché,
mais je ne l'ai encore jamais testé car j'utilise une autre méthode (et je n'utilise pas l'hibernation sur ma machine).

=======
J'avais pratiqué le réveil par la RTC (c'était en 2013) sans utiliser la commande rtcwake
Mais je ne sais pas si ça réveillerait une machine qui est déjà en état d'hibernation…

Dernière modification par MicP (09-02-2017 21:29:04)

Hors ligne

#7 07-02-2017 13:54:12

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

On ne peut qu'essayer si tu veux....

Hors ligne

#8 08-02-2017 10:20:00

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Ok : En fait, la RTC est l'horloge qui sert de référence de temps à la machine.
Elle a la possibilité de déclencher une interruption BIOS qui va envoyer un signal de réveil
et cette heure de réveil peut être programmée à une date/heure choisie.

On peut lire/écrire certains registres mémoire de cette RTC.

Par exemple, pour afficher les valeurs de certains de ces registres mémoire, il suffit de faire :

cat /proc/driver/rtc


rtc_time  : 07:48:13
rtc_date  : 2017-02-08
alrm_time : 02:16:40
alrm_date : 2018-02-08
alarm_IRQ : no
alrm_pending  : no
update IRQ enabled  : no
periodic IRQ enabled  : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr    : yes
periodic_IRQ  : no
update_IRQ  : no
HPET_emulated : yes
BCD   : yes
DST_enable  : no
periodic_freq : 1024
batt_status : okay
 

On remarque que : alarm_IRQ est à no => pas d'heure de réveil encore programmé.

Avec la ligne de commandes suivante, je programme une heure de réveil pour dans 3 heures :

echo 0 >/sys/class/rtc/rtc0/wakealarm && echo $(date '+%s' -d '+ 3 hours') >/sys/class/rtc/rtc0/wakealarm


Et si après avoir lancé la ligne de commandes ci-dessus,

je relis les registres mémoire de la RTC :

cat /proc/driver/rtc


rtc_time  : 07:59:05
alrm_time : 10:58:53
alrrtc_date : 2017-02-08
m_date  : 2017-02-08
alarm_IRQ : yes
alrm_pending  : no
update IRQ enabled  : no
periodic IRQ enabled  : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr    : yes
periodic_IRQ  : no
update_IRQ  : no
HPET_emulated : yes
BCD   : yes
DST_enable  : no
periodic_freq : 1024
batt_status : okay


Je constate que alarm_IRQ est passé à yes => une heure de réveil a donc bien été programmée,

et je peux lire la date/heure de réveil que j'ai programmé :

alrm_time    : 10:58:53
alrrtc_date    : 2017-02-08


Mais attention : la RTC est normalement à l'heure UTC => penser au décalage horaire heure d'été/heure d'hiver.

De toutes façons, avec la ligne de commandes que j'ai utilisé, c'est bien dans 3 heures que la machine va redémarrer toute seule…si je l'ai bien sûr arrêtée.

=======
Voilà, de ton côté, tu n'a plus qu'à programmer une heure de réveil et mettre ta machine en état d'hibernation
pour vérifier que le signal de réveil la fera sortir d'hibernation.

Je suis pratiquement certain que ça va fonctionner.

À toi de jouer…

=======
Voir aussi :

man date

Dernière modification par MicP (09-02-2017 21:30:35)

Hors ligne

#9 08-02-2017 12:54:32

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Merci,je teste et te tiens au courant........

Ceci,c'est pour sortir de l'hibernation .
Très bien.
Mais si ça marche,nous devrons penser à la mise en hibernation automatique aussi.

Suite au prochain numéro ....

Hors ligne

#10 08-02-2017 16:37:50

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

J'ai passé ta commande avec "3 hours" et je constate 15h à 17h soit 2 heures au lieu de 3 comme demandé.

root@PC-Debian:/home/pit16# echo 0 >/sys/class/rtc/rtc0/wakealarm && echo $(date '+%s' -d '+ 3 hours') >/sys/class/rtc/rtc0/wakealarm


bloc à supprimer si la commande n’affiche rien




root@PC-Debian:/home/pit16# cat /proc/driver/rtc
rtc_time  : 15:25:33
rtc_date  : 2017-02-08
alrm_time : 17:25:12
alrm_date : 2017-02-08
alarm_IRQ : yes
alrm_pending  : no
update IRQ enabled  : no
periodic IRQ enabled  : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr    : yes
periodic_IRQ  : no
update_IRQ  : no
HPET_emulated : yes
BCD   : yes
DST_enable  : no
periodic_freq : 1024
batt_status : o


bloc à supprimer si la commande n’affiche rien

kay

Qu'en penses-tu ?

Hors ligne

#11 08-02-2017 21:18:24

èfpé
Membre
Inscription : 10-07-2016

Re : [résolu]¡Gestion fonctionnement PC

Bonsoir Pierre16,

As-tu vérifié que ton horloge matérielle est en UTC ?

cat /proc/driver/rtc | grep rtc_time ; echo -e 'sys_time\t: '$(date +%X)

rtc_time        : 18:58:32
sys_time        : 19:58:32


edit: Y'a quelque chose qui cloche là-dedans...

Dernière modification par èfpé (08-02-2017 23:42:18)

Hors ligne

#12 09-02-2017 04:58:25

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

@ Pierre16

Il était 15:25:12 (heure en France) quand tu avais lancé la ligne de commandes pour programmer l'heure de réveil pour dans 3 heures.
À 16:25:33 (heure en France),  tu as lancé la commande : cat /proc/driver/rtc
Ensuite, tu as rédigé et envoyé ton message à 16:37:50 (heure en France)

=======
Depuis le compte root, copie/colle toute la ligne de commandes suivante en un seul bloc.

echo;                                     \
date;                                     \
date --date '+ 3 hours';                  \
echo;                                     \
date --utc;                               \
date --utc --date '+ 3 hours';            \
echo;                                     \
date +%s;                                 \
date +%s --date '+ 3 hours';              \
echo;                                     \
echo 0 > /sys/class/rtc/rtc0/wakealarm && echo $(date +%s --date '+ 3 hours') > /sys/class/rtc/rtc0/wakealarm; cat /proc/driver/rtc
 

jeudi 9 février 2017, 04:59:07 (UTC+0100)
jeudi 9 février 2017, 07:59:07 (UTC+0100)

jeudi 9 février 2017, 03:59:07 (UTC+0000)
jeudi 9 février 2017, 06:59:07 (UTC+0000)

1486612747
1486623547

rtc_time  : 03:59:07
rtc_date  : 2017-02-09
alrm_time : 06:59:07
alrm_date : 2017-02-09
alarm_IRQ : yes
alrm_pending  : no
update IRQ enabled  : no
periodic IRQ enabled  : no
periodic IRQ frequency  : 1024
max user IRQ frequency  : 64
24hr    : yes
periodic_IRQ  : no
update_IRQ  : no
HPET_emulated : yes
BCD   : yes
DST_enable  : no
periodic_freq : 1024
batt_status : okay



=======

Pierre16 a écrit :

…nous devrons penser à la mise en hibernation automatique aussi.…

Pour que la commande de mise en hibernation soit lancée à 22:30
et que le réveil automatique soit programmé au lendemain 07:30
tu peux créer un fichier contenant les commandes qui seront exécutées par la commande at

Sous le compte root, tu crée un fichier nommé (par exemple) jobAtFromRoot
dont le contenu sera le suivant :

echo 0 > /sys/class/rtc/rtc0/wakealarm                                                                              && \
echo $(date +%s --date "$(LC_TIME=C date +'%h %d %Y') + 1 days 7 hours 30 minutes") > /sys/class/rtc/rtc0/wakealarm && \
systemctl hibernate

Et après chaque démarrage de la machine, un script devra lancer,
avec les privilèges du compte root, la commande suivante:

at 2230 < jobAtFromRoot

Je n'ai pas encore bien cherché comment faire lancer cette commande automatiquement, je pense utiliser systemd,
mais tu peux déjà (depuis le compte root) lancer "manuellement" la ligne de commande at ci-dessus.

Voir aussi :

man at


==============
==============
@ èfpé

èfpé a écrit :

…Y'a quelque chose qui cloche là-dedans...

Non : Tout va bien.

rtc_time est l'heure de la RTC <=> heure UTC

La commande date +%X donne l'heure utilisée par le système d'exploitation de ta machine.

Ton système d'exploitation calcule et applique lui même le décalage "heure d'été" ou "heure d'hiver" à l'heure UTC (récupérée depuis la RTC)
en fonction de ce que tu as donné comme informations au cours de l'installation.

Nous sommes à l'heure d'hiver => (heure en France) = (heure UTC + 1 heure)

Nous sommes à l'heure d'hiver => (Heure UTC) = (Heure en France moins une heure)

Si, à la même heure (19:58:32 heure en France), mais le dimanche 26 mars 2017 tu lance la même ligne de commandes que tu avais lancé :

cat /proc/driver/rtc | grep rtc_time ; echo -e 'sys_time\t: '$(date +%X)

rtc_time        : 17:58:32
sys_time        : 19:58:32

Dernière modification par MicP (09-02-2017 13:56:53)

Hors ligne

#13 09-02-2017 18:10:05

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Désolé,je suis tout nouveau dans Debian et malgré mes nombreuses recherches,je ne sais pas comment créer un fichier sous le compte root.

Par contre,j'ai testé la cde hibernation en root et ça marche.

Hors ligne

#14 09-02-2017 18:36:48

èfpé
Membre
Inscription : 10-07-2016

Re : [résolu]¡Gestion fonctionnement PC

@MicP : grand merci pour le topo sur l'heure d'hiver et tout et tout, mais je connaissais déjà un peu, et avais un doute sur le fuseau horaire dans lequel se trouve l'horloge matérielle de la machine de Pierre16, qui a posté le message #10 hier à 15:37:50 heure légale française (UTC+01:00) et non à 16:37:50... par ailleurs pourquoi aurait-il attendu presque 60 minutes entre les commandes 'echo machin' et 'cat machin' ?

@Pierre16 : pourrais-tu tout de même exécuter la commande (purement informative) proposée au post #11 ?

Dernière modification par èfpé (09-02-2017 18:40:48)

Hors ligne

#15 09-02-2017 18:43:49

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Voilà....

pit16@PC-Portable:~$ cat /proc/driver/rtc | grep rtc_time ; echo -e 'sys_time\t: '$(date +%X)
rtc_time  : 16:40:57
sys_time  : 17:40:57




Merci.

Dernière modification par Pierre16 (09-02-2017 18:44:56)

Hors ligne

#16 09-02-2017 18:49:48

èfpé
Membre
Inscription : 10-07-2016

Re : [résolu]¡Gestion fonctionnement PC

@Pierre16 : impeccable, l'horloge matérielle de ta machine est en UTC+00:00 comme il se doit, merci à toi smile

Hors ligne

#17 09-02-2017 18:53:07

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Pirerre16 a écrit :

…Par contre,j'ai testé la cde hibernation en root et ça marche. …

Impeccable. J'avais oublié que j'avais donné une commande pour mettre en hibernation:

systemctl hibernate


Pour lancer la même commande en utilisant les privilèges du compte root depuis un compte utilisateur :

su -c "systemctl hibernate"

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

Pour passer sous le compte root :

su -

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

=======
@èfpé

Vu le retour en #15 de la commande lancée par Pierre16, on peut constater l'heure de décalage entre l'heure du système et la RTC
La RTC de sa machine est donc bien à l'heure UTC et l'heure de son système d'exploitation a bien pris en compte l'heure d'hiver française => 1 heure de décalage.

=======
AVERTISSEMENT : Il faut quand même que je précise que si ça fonctionne, ce n'est quand même que le premier service sytemd que je poste sur un forum.
Même si, depuis que systemd existe chez debian, j'ai passé pas mal de temps à lire la documentation, je n'ai pratiquement aucune expérience dans ce domaine.
Alors, si des personnes plus qualifiées (facile à trouver ça) veulent intervenir…

=======
Depuis le compte root, créez un fichier /etc/systemd/system/hiberRestart.service dont le contenu sera :

#
# Unit "maison" dont le but est de
#  lancer un script qui va programmer :
# - une mise en hibernation le jour même à 22:30
# - un redémarrage auto le lendemain à 07:30
#

[Unit]
Description=Lancer le script /root/script/monHiberRestart.sh

[Service]
Type=oneshot
ExecStart=/root/script/monHiberRestart.sh

[Install]
WantedBy=multi-user.target


Ensuite, créez le répertoire qui va contenir les commandes à lancer :

mkdir ~/script

et créez le fichier des commandes à lancer /root/script/monHiberRestart.sh dont le contenu sera :

#!/bin/sh

# Lancé par hiberRestart.service

# Hibernation à 22:30 le jour même
#      Réveil à 07:30 le lendemain

cejour0h=$(LC_TIME=C date +'%h %d %Y')

echo "0"                                                          > /sys/class/rtc/rtc0/wakealarm && \
echo $(date +%s --date "${cejour0h} + 1 days 7 hours 30 minutes") > /sys/class/rtc/rtc0/wakealarm && \
echo "systemctl hibernate" | at 2230


=======
Voilà : Il n'y a plus qu'à redémarrer, ou lancer la première commande at manuellement, et à chaque démarrage de la machine,
systemd lancera les commandes qui programmeront l'heure d'arrêt et de redémarrage demandées.

=======
Pour désactiver le service lancez la commande suivante :

systemctl disable hiberRestart.service


Pour désactiver le réveil,  lancez la commande suivante :

echo "0" > /sys/class/rtc/rtc0/wakealarm && echo $(date +%s --date now) > /sys/class/rtc/rtc0/wakealarm


Pour désactiver la mise en veille programmée :
récupérez le N° du job

atq

4    Fri Feb 10 18:34:00 2017 a root

et donc, supprimez le job N°4 :

atrm 4

Dernière modification par MicP (10-02-2017 05:58:40)

Hors ligne

#18 09-02-2017 21:45:40

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Pierre16 a écrit :

…je ne sais pas comment créer un fichier sous le compte root.…

Vu tes précédents messages sur ce forum, tu semble savoir faire des copier/coller avec la souris,

alors je vais t'indiquer une méthode simple.

On va faire un essai avec ton compte utilisateur.

Ouvres une fenêtre de terminal, et tu es normalement en face de ça :

pit16@PC-Debian:~$

Alors, tu entre la commande suivante :cat monFichier

ça devrait te donner ça :

pit16@PC-Debian:~$ cat monFichier
cat: monFichier: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$

Ce qui est rassurant : le fichier n'existe pas encore, et on est maintenant sûr qu'on ne va pas écraser le fichier monFichier s'il avait existé,
s'il existait déjà, la commande suivante risquerait de l'écraser <=> le contenu qu'il avait avant serait impossible à récupérer.

=======
Bon, on se lance.

Tape une fois sur la touche flèche vers le haut,
et tu verra la commande précédente réapparaître, ce qui va donner :

pit16@PC-Debian:~$ cat monFichier
cat: monFichier: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$ cat monFichier


ensuite, modifie cette ligne de commande pour que ca devienne comme ci-dessous :

pit16@PC-Debian:~$ cat monFichier
cat: monFichier: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$ cat > monFichier

Et maintenant, tape sur la touche Entrée pour valider cette ligne de commande

reviens sur ce texte et sélectionne avec la souris cette ligne de texte et celle en dessous (dans ce message que tu lis),
et colle tout ça dans la fenêtre de terminal

une fois le texte collé à la souris,
tape sur la touche Entrée pour revenir au début de la ligne suivante (si besoin)
puis entre le raccourcis clavier Ctrl-d

Ça devrait donner ça :

pit16@PC-Debian:~$ cat monFichier
cat: monFichier: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$ cat > monFichier
reviens sur ce texte et sélectionne avec la souris cette ligne de texte et celle en dessous (dans ce message que tu lis),
et colle tout ça dans la fenêtre de terminal.
pit16@PC-Debian:~$


Maintenant, tape 2 fois sur la touche flèche vers le haut
pour rappeler l'avant dernière commande que tu avais entré : cat monFichier (sans le > entre les deux mots)
et Tape sur la touche Entrée

ça devrait donner ça :

pit16@PC-Debian:~$ cat monFichier
cat: monFichier: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$ cat > monFichier
reviens sur ce texte et sélectionne avec la souris cette ligne de texte et celle en dessous (dans ce message que tu lis),
et colle tout ça dans la fenêtre de terminal.
pit16@PC-Debian:~$ cat monFichier
reviens sur ce texte et sélectionne avec la souris cette ligne de texte et celle en dessous (dans ce message que tu lis),
et colle tout ça dans la fenêtre de terminal.
pit16@PC-Debian:~$


Voilà : tu viens de créer un fichier nommé monFichier.

Si à la place de Ctrl-d tu avais entré
Ctrl-c rien n'aurait été enregistré dans le fichier car la commande aurait été annulée.

=======

Avant d'appuyer sur ta touche Entrée, et surtout depuis le compte root,
vérifie toujours plusieurs fois la ligne de commande

Quand on a les privilèges du compte root, on peut tout faire : on a tous les pouvoirs,
même celui de foutre en l'air toute son installation rien que parce qu'on avait fait une toute petite faute de frappe de rien du tout.

=======
Je te recommande de créér les 2 fichiers qu'il faut dans ton compte utilisateur,
comme ça tu ne prendra pas de risque avec la compte root.

Une fois que tu aura créé les fichiers hiberRestart.service et monHiberRestart.sh
avec la même méthode que pour la création de monFichier : dans le répertoire personnel de ton compte utilisateur,
je t'indiquerai les commandes à entrer pour leur donner les attributs et propriétés nécessaires
et pour les déplacer au bon endroit.

Ça sera un bon exercice pour apprendre deux commandes de plus.

=======
Finalement, comme tu peux le constater, c'est beaucoup plus long à lire qu'à faire.

Si tu le veux, tu peux supprimer ton fichier nommé monFichier depuis ton compte utilisateur (et depuis n'importe que répertoire),
avec la commande :

rm ~/monFichier


.

Dernière modification par MicP (10-02-2017 06:10:33)

Hors ligne

#19 10-02-2017 16:46:29

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Voilà,les 2 fichiers hiberRestart.service et monHiberRestart.sh sont créés.

A suivre et merci.


pit16@PC-Debian:~$ cat hiberRestart.service
#
# Unit "maison" dont le but est de
#  lancer un script qui va programmer :
# - une mise en hibernation le jour même à 22:30
# - un redémarrage auto le lendemain à 07:30
#

[Unit]
Description=Lancer le script /root/script/monHiberRestart.sh

[Service]
Type=oneshot
ExecStart=/root/script/monHiberRestart.sh

[Install]
WantedBy=multi-user.target
pit16@PC-Debian:~$






pit16@PC-Debian:~$ cat monHiberRestart.sh
cat: monHiberRestart.sh: Aucun fichier ou dossier de ce type
pit16@PC-Debian:~$ cat > monHiberRestart.sh
#!/bin/sh

# Lancé par hiberRestart.service

# Hibernation à 22:30 le jour même
#      Réveil à 07:30 le lendemain

cejour0h=$(LC_TIME=C date +'%h %d %Y')

echo "0"                                                          > /sys/class/rtc/rtc0/wakealarm && \
echo $(date +%s --date "${cejour0h} + 1 days 7 hours 30 minutes") > /sys/class/rtc/rtc0/wakealarm && \
echo "systemctl hibernate" | at 2230
pit16@PC-Debian:~$ cat monHiberRestart.sh
#!/bin/sh

# Lancé par hiberRestart.service

# Hibernation à 22:30 le jour même
#      Réveil à 07:30 le lendemain

cejour0h=$(LC_TIME=C date +'%h %d %Y')

echo "0"                                                          > /sys/class/rtc/rtc0/wakealarm && \
echo $(date +%s --date "${cejour0h} + 1 days 7 hours 30 minutes") > /sys/class/rtc/rtc0/wakealarm && \
echo "systemctl hibernate" | at 2230
pit16@PC-Debian:~$

Hors ligne

#20 11-02-2017 04:06:35

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Bonjour

Les retours de commandes que tu as postés dans ton message sont parfaits (enfin…pour moi) : prompt de départ, ligne de commande(s), prompt de retour.
C'est assez rare, et c'est pour ça que je t'en remercie.

=======
Pour information :

Le caractère ~/ ("tilde" suivit de "slash") est un alias représentant le chemin absolu du compte utilisateur qui lance la commande :

Si c'est le compte utilisateur pit16 qui utilise ~/ dans une ligne de commande(s), ~/ sera remplacé par /home/pit16/
Si c'est le compte utilisateur root  qui utilise ~/ dans une ligne de commande(s), ~/ sera remplacé par /root/

Donc, pour le compte utilisateur pit16

ls -l ~/

est équivalent à :

ls -l /home/pit16/


et pour le compte utilisateur root

ls -l ~/

est équivalent à :

ls -l /root/



=======
su -c <=> su --command

Et les commandes lancées par su -c ou su --command seront exécutées (par défaut) par le compte root


==============
==============
Pour les commandes qui suivent, je suppose que les fichiers hiberRestart.service et monHiberRestart.sh sont dans le répertoire courant.

Comme tu avais créé les fichiers hiberRestart.service et monHiberRestart.sh dans ton répertoire personnel, ils doivent donc être dans le répertoire /home/pit16
et si tu ouvres une fenêtre de terminal, ton répertoire personnel devrait être le répertoire courant (ce que tu devrais voir dans ton prompt indiqué par le caractère ~).

Tu peux vérifier le chemin absolu du répertoire courant en entrant la commande pwd

pit16@PC-Debian:~$ pwd
/home/pit16
pit16@PC-Debian:~$
 


pit16@PC-Debian:~$ cd Images
pit16@PC-Debian:~/Images$ pwd
/home/pit16/Images
pit16@PC-Debian:~/Images$ cd
pit16@PC-Debian:~$



=======
Voir les propriétés des fichiers hiberRestart.service et monHiberRestart.sh

ls -l hiberRestart.service monHiberRestart.sh



Changer le propriétaire et le groupe des fichiers hiberRestart.service monHiberRestart.sh :

su -c 'chown root:root hiberRestart.service monHiberRestart.sh'

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

Vérifier le changement effectués par la commande précédente :

ls -l hiberRestart.service monHiberRestart.sh



=======
Créer un répertoire /root/script :

su -c 'mkdir ~/script'

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

Déplacer le fichier monHiberRestart.sh dans le répertoire /root/script/ :

su -c 'mv monHiberRestart.sh ~/script/'

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

Il reste à positionner l'attribut exécutable par le propriétaire de ce fichier

~~~
Edit à toto :
il manque l'attribut à la ligne ici :

su -c 'chmod ~/script/monHiberRestart.sh'


Elle doit donc s'écrire ainsi pour donner les droits d'exections à l'user :

su -c 'chmod u+x ~/script/monHiberRestart.sh'


~~~

=======
Déplacer le fichier hiberRestart.service dans le répertoire /etc/systemd/system/ :

su -c 'mv hiberRestart.service  /etc/systemd/system/'

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.


=======
Et pour finir, activer le service hiberRestart :

su -c 'systemctl enable hiberRestart.service'

Le mot de passe du compte root sera demandé pour que la ligne de commande ci-dessus puisse être exécutée.

Il n'y a plus qu'à redémarrer, ou lancer la première commande at manuellement, et à chaque démarrage de la machine,
systemd lancera les commandes qui programmeront l'heure d'arrêt et de redémarrage demandées.


==============
==============
Voir les pages man (manuel) des commandes cd chown mkdir mv et su

man cd

man chown

man mkdir

man mv

man su




==============
Pour faire afficher les pages man en couleur,
Je te propose de rajouter ( avec >> au lieu de >)
cet qui suit dans ton fichier ~/.bashrc

Mais pour ne pas risquer de perdre ton fichier ~/.bashrc original
il vaut mieux en faire une copie de sauvegarde avant de le modifier

Pour créer un fichier ~/.bashrc.original qui sera une copie du fichier ~/.bashrc
lance la commande suivante :

cp ~/.bashrc{,.original}


Et pour vérifier vérifie que la copie a bien été créée :

ls -la ~/.bashrc*



Ensuite, tu pourra ajouter l'extrait suivant à la fin de ton fichier .bashrc
avec la même méthode que tu avais utilisé pour créer les fichiers,
sauf qu'il faut utiliser deux > au lieu d'un seul
(sinon, tu "écraserais" le contenu original du fichier.)

cat >> ~/.bashrc

et tu copie/colle l'extrait ci-dessous.

# pager less en couleurs
#  Voir aussi :
#    man termcap
#    man console_codes
export                           \
LESS_TERMCAP_mb=$'\e[1;31m'      \
LESS_TERMCAP_md=$'\e[1;38;5;74m' \
LESS_TERMCAP_me=$'\e[0m'         \
LESS_TERMCAP_se=$'\e[0m'         \
LESS_TERMCAP_so=$'\e[1;44;33m'   \
LESS_TERMCAP_ue=$'\e[0m'         \
LESS_TERMCAP_us=$'\e[1;32m'


Une fois fait, tu ouvres une autre fenêtre de terminal,
et tu lance une commande man pour voir la différence d'affichage
Par exemple :

man ls



NOTE : Les fichiers (et donc les répertoires aussi) dont le nom commence par un point sont des "fichiers cachés"

Pour voir la liste de tous les fichiers qui sont dans ton répertoire personnel, et même ceux qui sont des fichiers "cachés",
il faut utiliser l'option a de la commande ls

ls -a ~/

tu peux aussi utiliser en même temps d'autres options de la commande ls
Par exemple, pour afficher la liste avec un fichier par ligne :

ls -1a

Dernière modification par MicP (11-02-2017 08:40:13)

Hors ligne

#21 11-02-2017 08:37:25

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 3.16.0-4-amd64 - 3.16.39-1
(G)UI : gnome 1:3.14+3
Inscription : 21-10-2008

Re : [résolu]¡Gestion fonctionnement PC

Le tuto des répertoires et chemins :
https://debian-facile.org/doc:programma … epertoires

Merci de ces posts très enrichissants par les détails qu'ils fournissent en commun.

"Théo et Adama te rappellent pourquoi Zyed et Bouna couraient…"
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#22 11-02-2017 08:51:59

MicP
Membre
Distrib. : debian stable
Noyau : Linux 3.16.0-4-amd64
(G)UI : Xfce
Inscription : 29-02-2016

Re : [résolu]¡Gestion fonctionnement PC

Remarque perso : Oui ça fonctionne, et même très bien, mais je ne suis pas sûr du tout que la méthode "systemd" que j'ai utilisé ici soit vraiment "propre"

Ce matin, après quelques lectures supplémentaires concernant systemd, j'ai pensé mettre le fichier service dans ~/.config/systemd/user/
mais il me faudra en lire un peu plus pour savoir vraiment comment utiliser "proprement" les services de systemd créés par le compte utilisateur root

Dernière modification par MicP (11-02-2017 19:19:54)

Hors ligne

#23 12-02-2017 12:24:54

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

1er essai,voilà ce que ça donne....

pit16@PC-Portable:~$ pwd
/home/pit16
pit16@PC-Portable:~$



pit16@PC-Portable:~$ pwd
/home/pit16
pit16@PC-Portable:~$ cd Images
pit16@PC-Portable:~/Images$ pwd
/home/pit16/Images
pit16@PC-Portable:~/Images$ cd
pit16@PC-Portable:~$



pit16@PC-Portable:~$ ls -l hiberRestart.service monHiberRestart.sh
-rw-r--r-- 1 root  root  350 févr. 20 18:25 hiberRestart.service
-rw-r--r-- 1 pit16 pit16 404 févr. 21 17:47 monHiberRestart.sh



pit16@PC-Portable:~$ su -c 'chown root:root hiberRestart.service monHiberRestart.sh'
Mot de passe :
su : Échec d'authentification



Edit à toto :
Mise en exemples des balises du forum avec séparation de la commande de son retour :

pwd


/home/pit16


cd Images


pwd


/home/pit16/Images


ls -l hiberRestart.service monHiberRestart.sh


-rw-r--r-- 1 root  root  350 févr. 20 18:25 hiberRestart.service
-rw-r--r-- 1 pit16 pit16 404 févr. 21 17:47 monHiberRestart.sh


su -c 'chown root:root hiberRestart.service monHiberRestart.sh'


Mot de passe :
su : Échec d'authentification

Dernière modification par Pierre16 (27-02-2017 18:49:09)

Hors ligne

#24 15-02-2017 18:56:32

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

[code=user]pit16@PC-Portable:~$ su -c 'chown root:root hiberRestart.service monHiberRestart.sh'
Mot de passe :
su : Échec d'authentification[/code]




ECHEC D'AUTHENTIFICATION ..........  ET JE SUIS BLOQUE  pour tester ce PC

Je suis en sudo -c

J'ai hâte de connaître tes conseils pour la suite de cette manipulation.


Encore merci pour ton aide.

Edit à toto :
Mis en exemple des balises du forum avec la commande seule séparée de son retour :

su -c 'chown root:root hiberRestart.service monHiberRestart.sh'


Mot de passe :
su : Échec d'authentification

Dernière modification par Pierre16 (27-02-2017 18:52:11)

Hors ligne

#25 03-03-2017 08:41:25

Pierre16
Membre
Distrib. : debian_version 8.7
Noyau : Linux PC-Debian 3.16.0-4-686-pae #1 SMP Debian 3.1
(G)UI : XFCE
Inscription : 26-01-2017

Re : [résolu]¡Gestion fonctionnement PC

Ca fonctionne très bien.
Merci à tous.

Hors ligne

Pied de page des forums