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 01/11/2019, à 21: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, à 13: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, à 21: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, à 23: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 02/11/2019, à 00: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, à 09: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, à 09:37)

#6 Le 02/11/2019, à 09:16

Compte supprimé

Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab

Watael a écrit :

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, à 09: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, à 09: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, à 09:57

Compte supprimé

Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab

crontab -e
doc a écrit :

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, à 12: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, à 12: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 wink

#11 Le 02/11/2019, à 23: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, à 13: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, à 15:23

Sciensous

Re : [RÉSOLU] Programmer la déconnexion du PC avec Crontab

pourquoi pas smile
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, à 21: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