[vider la corbeille en quittant] comment faire [résolu]

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

[vider la corbeille en quittant] comment faire [résolu]

Message par nestorburma » mar. 24 mars 2020, 09:29

bonjour
je voudrais savoir si il existe un moyen automatique pour vider la corbeille et les documents récents ou biens d'autres fichiers à l'arret de l'ordi
merci
Dernière modification par nestorburma le mer. 25 mars 2020, 18:56, modifié 1 fois.
asus r702u,mate desktop

benjarobin
Maître du Kyudo
Messages : 15713
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vider la corbeille en quittant] comment faire

Message par benjarobin » mar. 24 mars 2020, 09:50

Bonjour,
Utilises tu un environnement de bureau ? Est-ce bien "MATE" ?
Tu peux déjà regarder du coté de : trash-cli
Après le plus simple est de créer un service systemd utilisateur qui appelle trash-empty
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mar. 24 mars 2020, 10:57

bonjour benjarobin
mon environnement de bureau c'est mate, creer un service je sais pas comment faire
asus r702u,mate desktop

benjarobin
Maître du Kyudo
Messages : 15713
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vider la corbeille en quittant] comment faire

Message par benjarobin » mar. 24 mars 2020, 13:47

C'est parfaitement le temps d'apprendre :-)
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mar. 24 mars 2020, 16:08

re
le principe si je comprends bien ,ce serait de creer un fichier nommé par éxemple trash.service dans /etc/systemd/system,mais quoi mettre dedans et comment l'executer à la fermeture de l'ordi parce que en principe les services dans systemd s'executent au démarrage
asus r702u,mate desktop

benjarobin
Maître du Kyudo
Messages : 15713
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vider la corbeille en quittant] comment faire

Message par benjarobin » mar. 24 mars 2020, 16:58

J'ai bien parlé d'un service utilisateur et non d'un service system (désolé je suis débordé)...
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mer. 25 mars 2020, 09:02

re
je vois pas bien la difference,mais en principe les actions s'éxecutent au démarrage et moi il faudrait que cette action s'éxecute juste avant l'arrêt de la machine
actuellement j'ai un raccourci pour eteindre l'ordi immediatement "systemctl poweroff".C'est pas possible à partir de ce raccourci d'appeller une commande de nettoyage et une fois que cette commande est exécutée d'eteindre la machine ?? une commande qui appelle une action ,je prends un exemple tout bête trash-empty cette commande s'éxecute et une fois exécutée elle appelle systctl poweroff qui eteint la machine
ça c'est l'idée ,mais la réalisation je sais pas faire.
asus r702u,mate desktop

benjarobin
Maître du Kyudo
Messages : 15713
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vider la corbeille en quittant] comment faire

Message par benjarobin » mer. 25 mars 2020, 09:17

Un service, cela démarre (en début de session) et cela s'arrête (en fin de session : Donc exécution d'une commande d'arrêt) :-) Et c'est vraiment la meilleur solution ce que je te propose. Dès que j'ai 5s j’essayerai de te pondre un truc.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mer. 25 mars 2020, 13:37

re
j'ai regardé dans les parametres de systemctl,il y a une fonction clean,mais je n'arrive pas à la parametrer
asus r702u,mate desktop

Avatar de l’utilisateur
CoudUr
archer
Messages : 147
Inscription : sam. 06 avr. 2013, 17:12

Re: [vider la corbeille en quittant] comment faire

Message par CoudUr » mer. 25 mars 2020, 15:57

Salut,

Ce que tu cherches à faire n'est pas très compliqué en soit, le contenu de la poubelle se trouve dans deux répertoires.
Vider la corbeille se fait alors en effaçant ce qui se trouve dans ces deux répertoires avec la simple commande "rm" .

Un script ultra simple:

Code : Tout sélectionner

$ cat ~/bin/script_vide_corbeille.sh
#!/usr/bin/env bash
rm -f ~/.local/share/Trash/files/* && 
rm -f ~/.local/share/Trash/info/* 
On le rend exécutable.

Code : Tout sélectionner

$ chmod +x ~/bin/script_vide_corbeille.sh
On automatise le tout à l'aide de systemd, d'abord on crée le répertoire utilisateur qui va bien:

Code : Tout sélectionner

$ mkdir -p ~/.config/systemd/user/ 
Puis en créant le service:

Code : Tout sélectionner

$ cat ~/.config/systemd/user/vide_corbeille.service
[Unit]
Description=Vider la corbeille avant arrêt du système 
DefaultDependencies=no
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/home/ton_nom/bin/script_vide_corbeille.sh
TimeoutStartSec=0

[Install]
WantedBy=shutdown.target
On met en route le service:

Code : Tout sélectionner

$ systemctl --user daemon-reload

Code : Tout sélectionner

$ systemctl --user enable vide_corbeille.service
Voilà en principe à la prochaine extinction du système la poubelle devrait se vider automatiquement.
J'ai fais du très basique et au plus simple (comme bien souvent ^^) en faisant un peu de recherche pour 'systemd --user' tout en étant convaincu qu'il est possible de faire bien mieux.
Des solutions plus professionnelles que celle-ci apparaîtront sûrement ensuite, mais ça te donne un exemple de ce qu'il est possible de faire .
;)

Avatar de l’utilisateur
papajoke
Elfe
Messages : 572
Inscription : sam. 30 août 2014, 19:54
Contact :

Re: [vider la corbeille en quittant] comment faire

Message par papajoke » mer. 25 mars 2020, 16:28

bonjour
CoudUr a écrit :
mer. 25 mars 2020, 15:57
ExecStart=/home/ton_nom/bin/script_vide_corbeille.sh
ou ?
plutôt mettre "le vidage" à ExecStop et mettre une function vide qui retourne true à ExecStart (plus de before=*)

car pas sur d'avoir un shutdown.target en mode user ! nous n'avons pas plutot un logout bien avant l’extinction du pc ?
et ici nous gérons + la déconnexion que l’arrêt ce qui ne semble plus normal en mode user
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mer. 25 mars 2020, 17:08

bonjour papajoke
le script de vidage il fonctionne et je peux le lancer avec un raccourci,donc ce qu'il faudrait c'est que dans le script de vidage il y ait une instruction à la fin pour appeller systemctl poweroff pour eteindre l'ordi
asus r702u,mate desktop

benjarobin
Maître du Kyudo
Messages : 15713
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vider la corbeille en quittant] comment faire

Message par benjarobin » mer. 25 mars 2020, 17:35

@CoudUr Hum, as tu testé ton service ? Il ne devrait pas faire correctement le boulot...

Normalement ceci suffit (avec ton utilisateur) :

Code : Tout sélectionner

sudo pacman -S trash-cli
mkdir -p ~/.config/systemd/user/
Créer le fichier ~/.config/systemd/user/empty-trash.service

Code : Tout sélectionner

[Unit]
Description=Empty trash

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/true
ExecStop=/usr/bin/trash-empty

[Install]
WantedBy=default.target
Et finalement active le service

Code : Tout sélectionner

systemctl --user enable --now empty-trash
Attention si le "lingering" est activé, la corbeille n'est pas vidé à la fermeture de la session, la suppression se fera durant l'extinction du PC
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
waitnsea
Maître du Kyudo
Messages : 2032
Inscription : jeu. 15 mars 2012, 05:08

Re: [vider la corbeille en quittant] comment faire

Message par waitnsea » mer. 25 mars 2020, 17:42

AMHA une corbeille vidée non examinée auparavant ... autant supprimer les dossiers/fichiers d'emblée sans passer par la corbeille...

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire

Message par nestorburma » mer. 25 mars 2020, 18:54

re
j'ai résolu mon problème j'ai rajouté une ligne à la fin, j'y suis allé au pif
$ cat ~/bin/script_vide_corbeille.sh
#!/usr/bin/env bash
rm -f ~/.local/share/Trash/files/* &&
rm -f ~/.local/share/Trash/info/*
rm -f ~/.local/share/recently-used.xbel
systemctl poweroff
ça marche,je clique sur le raccourci ça vide la corbeil ça efface les documents récents et ça éteint l'ordi
merci à tous
asus r702u,mate desktop

Avatar de l’utilisateur
CoudUr
archer
Messages : 147
Inscription : sam. 06 avr. 2013, 17:12

Re: [vider la corbeille en quittant] comment faire

Message par CoudUr » mar. 31 mars 2020, 18:31

benjarobin a écrit :
mer. 25 mars 2020, 17:35
@CoudUr Hum, as tu testé ton service ? Il ne devrait pas faire correctement le boulot...
Lorsque je l'ai testé oui cela fonctionnait bien, chez toi il ne fonctionne pas ?

nestorburma
Chu Ko Nu
Messages : 331
Inscription : lun. 31 mars 2014, 17:28
Localisation : 13105

Re: [vider la corbeille en quittant] comment faire [résolu]

Message par nestorburma » mer. 01 avr. 2020, 06:50

bonjour CoudUr
je n'ai pas crée de service ,j'ai juste utilisé ton script dans lequel j'ai rajouté 2 lignes ,une pour vider les documents récents et une pour eteindre l'ordi
asus r702u,mate desktop

Répondre