10.8 Mountain Lion Supprimer automatiquement des fichiers du finder

James_Winston

Membre enregistré
5 Avril 2016
2
0
34
Bonjour,

je m'occupe d'un petit parc d'iMac 27" sous OS 10.8.5, sur lequel je donne des formations à de jeunes étudiants et je souhaiterais mettre en place une action automatique qui efface du finder tous les dossiers ou fichiers présents sur le bureau avant d'éteindre l'ordinateur, sauf ceux que j'ai créés (raccourcis vers dossier élèves...)

J'ai déjà trouvé comment programmer l'extinction des ordinateurs, mais pour la suppression automatique, j'ai recherché une fonction dans automator, j'ai cherché dans Google et dans le forum MacGé mais rien qui ne corresponde à mon problème.

Merci pour votre aide!
 
Bonjour,

je m'occupe d'un petit parc d'iMac 27" sous OS 10.8.5, sur lequel je donne des formations à de jeunes étudiants et je souhaiterais mettre en place une action automatique qui efface du finder tous les dossiers ou fichiers présents sur le bureau avant d'éteindre l'ordinateur, sauf ceux que j'ai créés (raccourcis vers dossier élèves...)

J'ai déjà trouvé comment programmer l'extinction des ordinateurs, mais pour la suppression automatique, j'ai recherché une fonction dans automator, j'ai cherché dans Google et dans le forum MacGé mais rien qui ne corresponde à mon problème.

Merci pour votre aide!
Le plus simple est de lancer un script bash à l'ouverture de session qui procédera à la suppression des fichiers/dossiers indésirables.
Il est aussi possible de faire cela en AppleScript, mais là je ne sais pas faire.
http://stackoverflow.com/questions/6442364/running-script-upon-login-mac
 
Salut,
j'ai entendu parlé d'une fonction permettant de remettre le bureau comme l'administrateur du parc l'a prévu à chaque redémarrage à l'aide d'Apple Remote Desktop: http://www.apple.com/chfr/remotedesktop/


Je te laisse approfondir la piste que je n'ai pas moi même testée...
 
Bonjour James

Je repêche ton fil qui, de fil en anguille
361608_original.png
, était en train de filer dans les profondeurs de la mare. Car la question que tu as soumise m'intéresse (spéculativement parlant). Elle comporte 2 points (théoriquement) distincts, que tu souhaites articuler (pratiquement) :

- a) la forme de la commande capable de supprimer tous les fichiers ou dossiers qui résident sur ton Bureau, en échappant ceux que tu as créés toi-même.

- b) la forme du procédé permettant d'exécuter automatiquement la commande précédente.​

=> je reviens successivement sur ces 2 points.

--------------------​

- a) la forme de la commande.

Il est possible pour réaliser ce que tu souhaites d'appeler l'utilitaire find ("trouver") avec l'instruction de supprimer tous les objets résidant sur ton Bureau de session, à l'exception de ceux dont l'user est toi dans la mesure où tu es leur créateur (je vais supposer ici que ton username est jameswinston - il suffirait que tu le modifies dans ma commande, à sa place exacte, s'il y avait lieu de le faire). Voici la commande la plus simplifiée possible (syntaxiquement) capable de faire ce que tu demandes :

Bloc de code:
find /Users/jameswinston/Desktop/* ! -user jameswinston | xargs rm -rf

Je te l'éclaire. L'utilitaire find ("trouver") est appelé sur la cible /Users/jameswinston/Desktop/* (tous les objets dans l'espace du sous-dossier Bureau du dossier de compte jameswinston du répertoire des Utilisateurs) avec la restriction ! (échapper dans le processus de la recherche les objets correspondant au critère suivant) -user jameswinston (si jameswinston est l'user des objets trouvés) => find va donc chercher tous les objets résidant sur ton Bureau à l'exception de ceux dont l'user est jameswinston qui vont être échappés de la recherche.

La barre verticale | qui suit est un pipe : une redirection de l'action qui précède sur l'action qui suit. C'est comme une proposition subordonnée dans une phrase complexe. Donc le | va passer le produit de la recherche de find qui précède à l'utilitaire appelé ensuite qui est xargs (abrégé de execute argument : exécuter l'argument stipulé). Cet argument appelle l'utilitaire rm (comme remove : supprimer) avec la double option -rf (recursive : sur toute les profondeur des dossiers s'ils existent ; force : sans demande interactive de confirmation en cas de conflit).

=> Je t'invite à tester cette commande en manuel (dans le «Terminal» at: Applications/Utilitaires) pour vérifier si elle te convient. Les icônes de volumes montés affichées sur le Bureau ne sont pas des "objets" relevant du répertoire Desktop, ce ne sont que des affichages icôniques du Finder de ce qui est contenu dans le répertoire /Volumes. Donc évidemment, ces éléments d'affichage ne sont pas concernés.

--------------------​

- b) l'exécution de la commande.

Je trouve (personnellement) assez dangereux d'automatiser ce genre de commande de destruction (même si elle échappe les objets dont jameswinston est l'user). Au moindre re-démarrage pour une raison quelconque en cours de journée (voire au moindre dé-loggement de session), ton Bureau va être nettoyé, alors que ton intention était qu'il ne le soit qu'en interruption d'exercice correspondant à une journée, disons.

Si donc par prudence tu préférais une action volontaire en un clic qui nettoierait ton Bureau seulement si et quand tu le décides, sans qu'il s'agisse d'un automatisme aveugle, alors le plus simple serait de transformer la commande précédente en petite application AppleScript. Voici comment faire : va à : Applications/Utilitaires et lance l'«Éditeur de script».

Dans la fenêtre vierge qui s'affiche, tu fais un copier-coller de la commande (mutatis mutandis pour le nom d'user jameswinston s'il y a lieu) :

Bloc de code:
do shell script "find /Users/jameswinston/Desktop/* ! -user jameswinston | xargs rm -rf"

et tu presses le petit bouton du marteau tire-clous au-dessus pour compiler ta ligne. Cela fait, tu vas au menu supérieur : Fichier > Exporter et tu remplis les champs ainsi (par exemple) :

Exporter comme : Vide-Bureau
Emplacement : tu laisses Applications (default)
Format de fichier : tu bascules Script (default) vers Application (important !)

et tu presses le bouton "Enregistrer". Ta petite application se trouve copiée dans le dossier d'Applications de ton compte personnel jameswinston (pas le répertoire général des Applications) sous l'intitulé : «Vide-Bureau.app» => tu peux en faire un glisser-déposer dans ton Dock où désormais tu peux activer l'application en un clic lorsque tu le souhaites.

Personnellement, je préférerais ce clique-bouton délibéré, pour ne pas me laisser prendre à l'improviste par des re-démarrages ou des dé-loggements de session qui effaceraient les objets du Bureau (même en échappant ceux dont dont l'ouvreur de la session est l'user), si tu en as pas mal qui transitent en cours de journée qui n'ont pas jameswinston comme user et qui ne devraient être supprimés qu'à complétion d'exercice journalier.

Si, malgré tout, tu préférais une action automatisée, je pense comme daffyb :coucou: que le procédé le plus ustensile (le plus manipulable par l'utilisateur, qui peut très simplement gérer graphiquement cette action : la créer vs la résilier), serait alors pour toi d'aller à : Menu  > Préférences Système > Utilisateurs et groupes > James Winston > Ouverture, de presser le bouton + et d'ajouter l'application résidant at: /Users/jameswinston/Applications/Vide-Bureau.app parmi les processus destinés à se lancer en ouverture de session => ton Bureau serait nettoyé automatiquement au déploiement de ta session individuelle jameswinston de tous les objets dont l'user n'est pas jameswinston (attention : l'action serait suivie d'effet à chaque simple dé-loggement de session suivi d'un re-loggement).

--------------------​
 
Dernière édition par un modérateur:
(attention : l'action serait suivie d'effet à chaque simple dé-loggement de session suivi d'un re-loggement).
Sauf si on se 'logge' en maintenant pressée la touche shift qui, justement, empêche le lancement automatiques des applications ;)