#1 Le 01/11/2019, à 20:05
- Uru
[RÉSOLU] Programmer la déconnexion du PC avec Crontab
Bonjour,
Je suis sous Xubuntu, et j'essaie tant bien que mal de programmer crontab pour qu'il me faire apparaître le menu pour éteindre le PC tous les soirs à 22h30.
Voici ce que j'ai fait.
Dans un terminal j'ai fait crontab -e pour éditer la table de cron ainsi:
* 22 * * * xfce4-session-logout
Mais voilà, à l'heure en question rien ne se passe. J'ai essayé avec d'autres commandes telle que:
* * * * * shutdown now
sans plus de succès. A chaque fois j'ai conne retour de commande:
crontab: installing new crontab
ma programmation est bien visible en faisant crontab -l mais la commande ne s’exécute pas.
Avez-vous une idée du problème?
Dernière modification par Uru (Le 09/04/2020, à 12:39)
Notez que je suis débutant, nul en informatique (et bête de surcroît ! ) alors faites preuve de patience et de pédagogie dans vos réponses ;)
CPU: Intel 3160 / RAM: DDR3L 4Go
OS: Xubuntu 22.04 (64 bits)
Hors ligne
#2 Le 01/11/2019, à 20:57
- Sciensous
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
il faut mettre le chemin complet du soft: /sbin/shutdown
pour le xfc4-logout, il y a du graphique, donc il faut des export DISPLAY et XAUTHORITY
voir la doc
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#3 Le 01/11/2019, à 22:18
- Watael
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
et puis il faut être root pour utiliser shutdown.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 01/11/2019, à 23:44
- Uru
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Pourriez-vous me dire ce que je dois écrire exactement ?
En fait, je suis un éternel débutant qui utilise plus Linux par conviction que par compétence en informatique...
J'ai essayé :
* * * * * DISPLAY=:0 xfce4-session-logout
L'opération se déclenche bien mais j'ai l'erreur suivante:
Erreur reçue lors de la déconnexion
Could not get owner of name 'org.xfce.SessionManager': no such name
Notez que je suis débutant, nul en informatique (et bête de surcroît ! ) alors faites preuve de patience et de pédagogie dans vos réponses ;)
CPU: Intel 3160 / RAM: DDR3L 4Go
OS: Xubuntu 22.04 (64 bits)
Hors ligne
#5 Le 02/11/2019, à 08:02
- Compte supprimé
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Bonjour,
systemctl poweroff -i
?
Avec cette commande, nul besoin des droits root...
édit : pour la proposition avec shutdown, il faut utiliser l'option -h (voir man)
* 22 * * * /sbin/shutdown -h now
Dernière modification par Compte supprimé (Le 02/11/2019, à 08:37)
#6 Le 02/11/2019, à 08:16
- Compte supprimé
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
et puis il faut être root pour utiliser shutdown.
Bonjour Watael,
Je ne crois pas . Je viens d'en faire l'essai sans être root et la commande fonctionne ..
#7 Le 02/11/2019, à 08:42
- Christophe C
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Cron permet à l'utilisateur root de lancer des programmes. l'utilisateur root n'a pas d'écran (display) c'est l'utilisateur courant qui l'a.
Donc lancer un programme graphique avec un cron (come le menu d'extinction) ne marche pas.
Cron c'est vraiment pour de l'administration système.
A noter que crontab (le fichier d'instruction), lui, est avec l'utilisateur courant (mais est lancé par root).
On peut réaffecter cron à l'utilisateur courant (je ne sais pas faire), ou au moins lui donner un affichage graphique : https://doc.ubuntu-fr.org/cron#lancement_graphique
Dernière modification par Christophe C (Le 02/11/2019, à 08:49)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#8 Le 02/11/2019, à 08:57
- Compte supprimé
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
crontab -e
Les commandes ci-dessus sont stockées dans un fichier crontab appartenant à votre compte d'utilisateur et exécutées avec votre niveau des permissions.
sudo crontab -e
---> crontab root, avec les permissions root
#9 Le 02/11/2019, à 11:18
- Christophe C
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Oui, tu peux les éditer avec ton niveau de permission, et non, elles restent attacher à Mr Root, lequel n'a PAS d'accès à l'écran.
Comme tu as pu le constater, d'ailleurs.
test la redirection du display
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#10 Le 02/11/2019, à 11:37
- Compte supprimé
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Oui Christophe,
mon intervention était plutôt d'autre informative, je ne remettais nullement en cause tes propos...
D'ailleurs je ne suis qu'un débutant et tu fais parti de ceux avec qui j'ai appris
#11 Le 02/11/2019, à 22:53
- Uru
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Merci Christophe C et pseudofab de vous être penchés sur la question !
Tout cela n'est décidément pas de mon niveau. Mais j'ai pu contourner le problème avec Qshutdown, un soft en mode graphique qui permet de programmer l'extinction, l'hibernation de la machine etc. On peut aussi définir soi-même la commande à appliquer j'ai donc mis mon 'xfce4-session-logout' et ça fonctionne impec !
Je passe donc le sujet en [résolu] ou plutôt [abandonné]
Notez que je suis débutant, nul en informatique (et bête de surcroît ! ) alors faites preuve de patience et de pédagogie dans vos réponses ;)
CPU: Intel 3160 / RAM: DDR3L 4Go
OS: Xubuntu 22.04 (64 bits)
Hors ligne
#12 Le 09/04/2020, à 12:49
- Uru
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Bon, je déterre ce fil car j'ai finalement trouvé la solution et je pense qu'elle pourrait être utile à d'autres.
Pour afficher le menu de déconnexion d'XFCE, mettons tous les soirs à 22h30, il faut
• Éditer le fichier ~/.bashrc pour y ajouter la ligne suivante :
export | egrep "DBUS_SESSION_BUS_ADDRESS|DISPLAY" > ~/.xsession-export
• Créer le script qui va rendre effective la déconnexion :
#!/bin/bash
. $HOME/.xsession-export
/usr/bin/xfce4-session-logout
• Rendre ce script exécutable
• Éditer le crontab pour y ajouter l’exécution du script à 22h30 :
30 22 * * * cd dossier_du_script && ./script >/dev/null 2>&1
Notez que je suis débutant, nul en informatique (et bête de surcroît ! ) alors faites preuve de patience et de pédagogie dans vos réponses ;)
CPU: Intel 3160 / RAM: DDR3L 4Go
OS: Xubuntu 22.04 (64 bits)
Hors ligne
#13 Le 09/04/2020, à 14:23
- Sciensous
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
pourquoi pas
sauf la fin: cd dossier_du_script && ./script >/dev/null 2>&1
peut être remplacé par: dossier_du_script/script >/dev/null 2>&1
(et changer dans le script $HOME par le chemin en dur)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#14 Le 09/04/2020, à 20:31
- kamaris
Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab
Il vaudrait mieux aussi mettre la première commande (qui écrit dans ~/.xsession-export) dans ~/.bash_profile (ou peut-être ~/.profile, selon comment est appelé le shell d'ouverture de session), parce que là on écrit les commandes d'export à chaque ouverture d'un shell interactif (c'est pas grave, mais bon…).
Hors ligne