2 votes

Applescript pour supprimer les fichiers du bureau lors de la déconnexion

Je suis totalement novice en matière d'Applescript et je suis actuellement très occupé au travail. Je n'ai pas le temps de l'apprendre, mais je le ferai dès que j'aurai du temps libre. J'ai donc décidé de vous demander de l'aide, vous, les experts.

J'ai besoin d'un Applescript qui supprime tous les fichiers du bureau lors de la déconnexion. Je dirige actuellement un laboratoire Mac avec 40 iMacs et nos étudiants enregistrent constamment des fichiers sur le bureau, ce qui crée beaucoup de désordre.

1voto

M K Points 10691

Y a-t-il une raison particulière pour laquelle vous ne voudriez pas que vos élèves utilisent plutôt un compte d'invité sur le système ? Cela vous permettrait de leur fournir un accès restreint au système tout en supprimant automatiquement tous leurs fichiers lors de la déconnexion.

Pour activer un utilisateur invité :

  • Aller à Préférences système > Utilisateurs et groupes
  • Cliquez sur l'icône de verrouillage pour le déverrouiller si nécessaire et tapez un nom et un mot de passe d'administrateur.
  • Sélectionnez le Utilisateur invité dans la liste des comptes de la barre latérale gauche
  • Vérifiez l'option Autoriser les invités à se connecter à cet ordinateur
  • Vous pouvez également définir des restrictions par le biais du contrôle parental en cochant l'option Activez le contrôle parental puis cliquez sur Ouvrir les contrôles parentaux...

Voir :
Utilisation du compte d'invité dans OS X
OS X Mountain Lion : Configurer les utilisateurs invités
OS X Lion : Configurer un compte invité

1voto

Vous pourriez utiliser un script shell comme ceci à la place :

#!/bin/bash

rm -r ~/Desktop/*

Ou si vous voulez déplacer les fichiers vers la corbeille :

#!/usr/bin/osascript

tell app "Finder" to move items of desktop to trash

Alors cours :

chmod +x /path/to/script
sudo defaults write com.apple.loginwindow LogoutHook /path/to/script

Les hooks de déconnexion ont été dépréciés dans la 10.4, mais je n'ai trouvé aucun moyen de lancer un programme de manière fiable lors de la déconnexion en utilisant launchd.

Le crochet de déconnexion ne peut être qu'un script exécutable et non une commande shell.

La commande defaults modifie /var/root/Library/Preferences/com.apple.loginwindow.plist . Exécuter sudo defaults delete com.apple.loginwindow LogoutHook pour supprimer la clé LogoutHook.

1voto

M K Points 10691

Votre exigence de base est d'effacer les fichiers entre les sessions de connexion. Si vous ne pouvez pas utiliser les comptes d'invités, puisque vous devrez de toute façon effectuer une configuration personnalisée pour les comptes d'utilisateurs, une solution simple et facile à gérer est la suivante utiliser un Startup Item script qui s'exécute à la connexion au lieu d'un crochet de déconnexion (qui est déprécié et peut ne pas rester une solution à long terme).

Chaque fois qu'un autre utilisateur se connecte, les fichiers créés par l'utilisateur précédent sur le bureau sont effacés.

  • Créer un script avec le nom cleardesktop.command (le .command le fait fonctionner en Terminal par défaut) contenant la ligne

    rm -rf ~/Desktop/*
  • Rendez-le exécutable en utilisant la commande

    chmod +x cleardesktop.command
  • Ajoutez-le au dossier du compte de l'utilisateur Articles de démarrage liste

    • aller à Préférences système > Utilisateurs et groupes
    • sélectionnez le compte d'utilisateur et allez dans Articles de connexion
    • cliquez sur le (+) en dessous de la liste de droite.
    • sélectionnez le cleardesktop.command script et cliquez sur Ajouter
    • vérifier le Cacher à côté d'elle pour que la Terminal La fenêtre ne s'affiche pas à la connexion.
  • De plus, vous pouvez empêcher les utilisateurs de supprimer ce fichier. Élément de démarrage avec les étapes suivantes

    • aller à Préférences système > Contrôles parentaux
    • puis à la Apps onglet
    • la vérification de la Applications des limites case à cocher
    • dans le Apps autorisées : liste, décochez Préférences système - Applications

Si vous souhaitez rendre cette solution un peu plus robuste, vous pouvez placer l'option cleardesktop.command dans /usr/bin/ et définir des permissions restreintes avec chmod 755 cleardesktop.command depuis le compte administrateur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X