Couper la session après un délai déterminé

Assistance concernant Linux Mint
Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Couper la session après un délai déterminé

Message par arghlub »

Dernier message de la page précédente :

Salut,

Tu pourrais peut-être faire un “cron” ( https://doc.ubuntu-fr.org/cron) couplé avec la commande “shutdown” (https://www.ionos.fr/digitalguide/serve ... -de-linux/)

Pour éditer les cron, en terminal :

Code : Tout sélectionner

crontab -e
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Avatar du membre
Pingouindumint
Messages : 444
Enregistré le : ven. 6 janv. 2017 17:47
Contact :

Re: Couper la session après un délai déterminé

Message par Pingouindumint »

Merci de la réponse.

Mais éteindre, ce n'est pas exactement ce qu'il faudrait ou qu'il a besoin.
Ils sont 4 petits enfants pour utiliser les 2 tours.
Avec la commande shutdown, un pc sera éteint dès que le premier enfant aura atteint son quota. Il faudra rallumer le pc pour le second enfant qui attendait son tour.
Idem sur le second pc.

C'est peut-être une béta que j'ai installé ubuntu 22.04.1 ?
Je voudrais essayer celle-ci : http://ppa.launchpad.net/mjasnik/ppa/ub ... _amd64.deb :
Mais je ne sais pas à quoi correspondent les chiffres indiqués.
Il y a par exemple la ubuntu 21.10.1 ou la ubuntu 21.04.1

Sur mon pc où je fais mes essais, j'ai la 19.3 mate. Ces différentes versions ont-elles un rapport avec ma mint installée ?
PC1 : Asusrock Kernel: 5.15.0-60-generic x86_64 bits: 64 - Desktop: MATE 1.26.0 Distro: Linux Mint 21.1 Vera
CM ASRock AB350 Pro4 - CPU : AMD Ryzen 5 2600 - 64 - CG Sapphire Radeon HD 6450
Realtek RTL8111/8168/8411 PCI - Hdd : Seagate 1.82 TiB et Kingston SSD : 240 Go - RAM 2x 8 Go
Double boot : Win10-linuxmint

PC 2 : Linux Mint 21.1 Mate 64 - CM : Asus M3A - CPU: AMD Phenom 9350e - CG : MSI Radeon HD 5450 - Realtek RTL-8100/8101L/8139 PCI Fast Ethernet Adapter

Avatar du membre
alain
Administrateur du site
Messages : 14701
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles
Contact :

Re: Couper la session après un délai déterminé

Message par alain »

Bonjour Pingouindumint.

La réponse est non.
Sur Lm19.x qui est basée sur ubuntu 18.04 il te faut choisir la version pour ubuntu 18.04.
Soit celle ci : http://ppa.launchpad.net/mjasnik/ppa/ub ... _amd64.deb

La version pour ubuntu 20.04 est pour LM20.x
Les autres (21.x) ne sont que pour les version béta d'ubuntu.
PC are like air conditioning, they becomes useless when you open Windows (L.T)
PC1 : CM : ASRock 990FX | CPU: AMD FX 8350-8 cores, 4 GHz | RAM: 16 Go DDR3 1600 MHz | CG: ATI RX 580-8 Go | OS : LM 20.3 Uma Xfce 4.16 | K: 5.4
PC2
:Core2 Quad Q9650 @ 3 GHz | CG: Nvidia GTX 650TI | OS: LM 21.3 Xfce 4.18| K: 6.5
PC3 :Core i7-2600 @ 3,5 GHz | CG: ATI HD 4650 | OS: Emmade5 Xfce 4.18.0 | K: 6.1
PC4 : AMD Ryzen 5 3500X 4GHz | CG: GTX 970 | Ram : 8GB |OS : Debian 10.5 | K: 5.10
In a world without walls and fences, who needs windows and gates?

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Couper la session après un délai déterminé

Message par tioker »

Bonsoir,
Excuses mais je suis sous Gnome...
Mais puisque je suis sous Gnome, il y a une commande qui s'appelle

Code : Tout sélectionner

gnome-session-quit
Et cette commande peut être utilisée sous Mint en installant le logiciel

Code : Tout sélectionner

sudo apt-get install gnome-session-bin
Après on peut peut-être lancer un script au démarrage en arrière plan qui éxécute la commande qui va bien

Code : Tout sélectionner

gnome-session-quit --force
où alors le mettre dans le crontab ...
Faut bricoler mais c'est la meilleure façon que j'ai trouvée (et pourtant j'ai cherché, si si). Maintenant si le gamin sait aller dans le terminal et killer un process ou modifier un crontab, là faut l'inscrire au concours d'entrée de l'ESEO ¹ !

¹ Je cite L'ESEO car c'est une école d'ingénieurs à côté de chez moi .. 😅
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Couper la session après un délai déterminé

Message par tioker »

Pingouindumint a écrit :
jeu. 28 oct. 2021 21:54
Mais éteindre, ce n'est pas exactement ce qu'il faudrait ou qu'il a besoin.
Re-bonsoir
Je pense avoir trouvé (éxécuté sur un Mint Mate...).
1- installer le programme gnome-session-quit

Code : Tout sélectionner

sudo apt-get install gnome-session-bin
2- créer un bash sur son $HOME. Contenu

Code : Tout sélectionner

#!/bin/sh
# sleep en nombre de secondes - à adapter
sleep 10
gnome-session-quit --force
3- créer un lanceur en utilisant la commande nohup (excusez, j'ai mis une copie écran, en machine virtuelle le copier/coller ne fonctionne pas)
Image
mettre le chemin entier, le $HOME n'est pas interprété. Ou mettre le script où on veut.
4- quand on ouvre la session, on clique sur le lanceur et le process est en arrière plan. La session se fermera au bout des x secondes du sleep time.

Dis nous si ça fonctionne. Si c'est bon, tu pourras demander au grand-père de nous remercier ... puisque je vais le mettre pour moi quand mes petits-fils viendront s'amuser sur mon ordi.

Source.
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
Pingouindumint
Messages : 444
Enregistré le : ven. 6 janv. 2017 17:47
Contact :

Re: Couper la session après un délai déterminé

Message par Pingouindumint »

Bonsoir à tous,

Tout d'abord, j'ai désinstallé le paquet .deb avec timekpr...... ubuntu 22.04.1 pour installer le paquet ubuntu ... 18.04.1_amd64.deb.
J'obtiens les mêmes messages d'erreur qu'avec le paquet .deb 22.04.1.

Par contre, je n'ai pas eu le temps d'essayer la solution de tioker. J'espère pouvoir l'essayer demain en fin de journée.

Merci.
cdt,
PC1 : Asusrock Kernel: 5.15.0-60-generic x86_64 bits: 64 - Desktop: MATE 1.26.0 Distro: Linux Mint 21.1 Vera
CM ASRock AB350 Pro4 - CPU : AMD Ryzen 5 2600 - 64 - CG Sapphire Radeon HD 6450
Realtek RTL8111/8168/8411 PCI - Hdd : Seagate 1.82 TiB et Kingston SSD : 240 Go - RAM 2x 8 Go
Double boot : Win10-linuxmint

PC 2 : Linux Mint 21.1 Mate 64 - CM : Asus M3A - CPU: AMD Phenom 9350e - CG : MSI Radeon HD 5450 - Realtek RTL-8100/8101L/8139 PCI Fast Ethernet Adapter

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Couper la session après un délai déterminé

Message par tioker »

Pingouindumint a écrit :
ven. 29 oct. 2021 22:22
J'espère pouvoir l'essayer demain en fin de journée.
Bon dimanche. :mrgreen:
J'ai peut-être trouvé mieux - mais dans le même style.
Au lieu de fermer la session ce qui termine tous les travaux en cours, on peut mettre en veille par la commande suivante, ce qui oblige l'utilisateur à se reconnecter (MdP)

Code : Tout sélectionner

systemctl suspend
Et avant de mettre en veille, on peut avertir de la mise en veille par un pop-up avec la commande

Code : Tout sélectionner

notify-send "Mise en veille dans x secondes"
Voilà, pour alimenter la base de tests.
Dis nous
Cdlt
PS: testé sur Mint 20.1 Mate... à voir suivant bureaux et versions.
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Couper la session après un délai déterminé

Message par tioker »

Pingouindumint a écrit :
ven. 29 oct. 2021 22:22
Par contre, je n'ai pas eu le temps d'essayer la solution de tioker. J'espère pouvoir l'essayer demain en fin de journée.
Bonjour,

@Pingouindumint a du être bien occupé car il ne nous a pas fait de retour sur la solution "à l'arrache" que j'ai proposée.
Mais je comprends, tout le monde n'est pas à la retraite comme moi :P .

J'ai donc utilisé cette période d'inter-saison pour écrire un petit programme Python qui, je l'espère, applique le cahier des charges de notre ami. Ce programme n'est qu'en version ZÉRO mais il fonctionne. Comment ? En voici le détail:
- un fichier de type texte extension ".ini" contient tous les paramètres, titres compris (pour l'universalité) Image1
- nous créons un mot de passe (pour éviter le SUDO) avec la fonction sha256 ou 512 de la librairie hashlib (1). Ce mot de passe servira à arrêter le compte à rebours si besoin. C'est la fonction Init du premier écran. Image2. Le mot de passe hashé sera contenu dans le fichier INI (2), on le copiera dans le fichier INI (il est mis dans le presse-papier). Image3
- L'écran de lancement propose de choisir la durée au bout de laquelle on mettra le PC en veille (pas de déconnexion complète) et de lancer le process de surveillance (Submit). On peut alors sortir du lanceur. Les bornes sont paramétrables (.INI). Image4
- le process détaché va sommeiller jusqu'au 9/10 du temps, là il avertira (fenêtre popup) que le temps est bientôt atteint. Et au terme de la durée il mettra la session en veille (3)
- On peut supprimer à tout moment le compte à rebours (supprimer, pas suspendre) à l'aide de l'écran de lancement (le bouton Kill sera alors actif puisqu'il verra qu'un compte à rebours est en cours).

Ce qu'il me reste à faire:
- programmer en belle écriture objet (POO) pour que Cyrille (qui a toujours raison) ne me tire pas les oreilles FAIT
- aujourd'hui je communique par la technologie des sémaphores qui me permettent d'envoyer un process détaché la simulation de <ctrl>c. Mais je ne trouve pas ça propre, j'aurai préféré utiliser des sémaphores privés pour réveiller le process mais je cherche encore comment faire.
- vérifier que les bibliothèques (import python) soient standards dans les distributions OS Linux (pour éviter leur installation). C'est une des raisons pour laquelle j'ai utilisé Tkinter (rustique) plutôt que Gtk (plus élégant) car c'est universel (même sur Raspbian de Raspberry). Seule la fonction de popup nécessite aujourd'hui une installation mais je vais regarder pour m'en passer
- et du coup en écrire une version Gtk pour faire joli (Tkinter ne prend pas en compte le thème alors que Gtk oui - et ça fait une grosse différence)
- regarder si on peut lancer ça au démarrage d'une session
- mettre tout ça dans Github pour la communauté

Voilà. Dites moi ce que vous en pensez, et @Pingouindumint , fais nous un retour sur la solution à l'arrache et son ton [éventuel] intérêt dans ce petit programme. En tous les cas, dans l'ordre, les images.

(1) c'est dingue comment c'est simple.
(2) Rappel, on peut hasher un mot de passe en clair mais on ne peut pas retrouver le mot de passe origine à partir du hash.
(3)évidemment il faut que la connexion ne soit pas automatique et donc nécessite la saisie du mot de passe

Fichier INI
Image
Contrôle d'accès
Image
Hash à mettre dans INI
Image
Lanceur
Image
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Couper la session après un délai déterminé

Message par cyrille »

(2) Rappel, on peut hasher un mot de passe en clair mais on ne peut pas retrouver le mot de passe origine à partir du hash.
techniquement si , mais il faut une armada de proc et pas de temps devant soi ;)
- vérifier que les bibliothèques (import python) soient standards dans les distributions OS Linux (pour éviter leur installation). C'est une des raisons pour laquelle j'ai utilisé Tkinter (rustique) plutôt que Gtk (plus élégant) car c'est universel (même sur Raspbian de Raspberry). Seule la fonction de popup nécessite aujourd'hui une installation mais je vais regarder pour m'en passer
C'est pas à python de vérifier ça mais au paquet debian via le control et les dépendances. S'il a besoin d'une lib externe, il faut l'inclure et elle sera automatiquement installée
Donc la nécessité de fournir un paquet deb (je peux aider à sa construction, c'est assez simple, mais les docs sur le web sont assez différentes en fonction des sites...)
Donc finalement plus simple de filer un paquet .deb qu'un .py

- regarder si on peut lancer ça au démarrage d'une session
Oui comme tout skeud
cf https://framagit.org/CyrilleBiot/create ... t_launcher
Sinon quand tu créés ton paquet débian dans le post install, doit y avoir moyen de l'insérer en autostart de l'user
Pour cela suffit de coller le fichier adéquate dans ~/.config/autostart

ça donne un truc du style

Code : Tout sélectionner

cat .config/autostart/dropbox.desktop 
[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
Exec=dropbox start -i
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
Keywords=file;synchronization;sharing;collaboration;cloud;storage;backup;
StartupNotify=false
Désolé j'ai rien d'autre sous la main ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Pingouindumint
Messages : 444
Enregistré le : ven. 6 janv. 2017 17:47
Contact :

Re: Couper la session après un délai déterminé

Message par Pingouindumint »

Bonjour à tous,

Je vais reprendre le fil de cette discussion.
Tout d'abord, je rappelle que j'essaie vos solutions sur mon pc pour que je puisse livrer une solution "clés en main" car mon ami est encore plus débutant que moi. :)

alain :
Sur Lm19.x qui est basée sur ubuntu 18.04 il te faut choisir la version pour ubuntu 18.04.
Soit celle ci : http://ppa.launchpad.net/mjasnik/ppa/ub ... _amd64.deb
J'ai donc voulu installer la nouvelle sauf que j'ai déjà installé la timekpr-next.... ubuntu 21.10.1.
J'ai donc désinstallé timekpr-next en utilisant synaptic. Mais il ne désinstalle pas tout : il reste des paquets (c'est ce qu'il me dit quand j'essaie d'installer la timekpr-next_0.5.2-1ubuntu1~ppa1~ubuntu18.04.1_amd64.deb).

Comment désinstaller le .deb complètement avant d'aller plus loin.
J'essaierai ensuite l'astuce de tioker et aussi de cyrille mais une chose à la fois.

Merci.
PC1 : Asusrock Kernel: 5.15.0-60-generic x86_64 bits: 64 - Desktop: MATE 1.26.0 Distro: Linux Mint 21.1 Vera
CM ASRock AB350 Pro4 - CPU : AMD Ryzen 5 2600 - 64 - CG Sapphire Radeon HD 6450
Realtek RTL8111/8168/8411 PCI - Hdd : Seagate 1.82 TiB et Kingston SSD : 240 Go - RAM 2x 8 Go
Double boot : Win10-linuxmint

PC 2 : Linux Mint 21.1 Mate 64 - CM : Asus M3A - CPU: AMD Phenom 9350e - CG : MSI Radeon HD 5450 - Realtek RTL-8100/8101L/8139 PCI Fast Ethernet Adapter

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Couper la session après un délai déterminé

Message par tioker »

cyrille a écrit :
ven. 5 nov. 2021 19:26
...Désolé j'ai rien d'autre sous la main ;)
Je vais déjà attendre de voir si notre ami Pingouindumint est intéressé par ma solution (déjà qu'il essaye la tout bête à base de shell) avant de créer un paquet...
J'ai cherché une alternative à notifypy mais pas encore trouvé. Un

Code : Tout sélectionner

subprocess.run(["/usr/bin/notify-send", "--icon=clock", "Timeout", "You are going to be logged off ..."])
n'est pas assez intrusif (pas de son, pas de validation...).
Mais pour la construction d'un paquet .deb, je garde l'idée et l'invitation, mais pas en ce moment, le temps me manque.
Merci.
Cdlt
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Répondre