Applescript per l'eliminazione di file desktop al momento del logout

2

Sono completamente nuovo in Applescript e attualmente molto impegnato al lavoro. Non ho tempo per impararlo, una volta trovo del tempo libero, quindi ho deciso di chiedere a voi, esperti, di aiutarci.

Ho bisogno di un oggetto Applescript che cancellerà tutti i file del desktop al logout. Attualmente gestisco un Mac Lab con 40 iMac e i nostri studenti salvano costantemente archiviati su Desktop, il che crea un sacco di confusione.

    
posta Greg 25.10.2013 - 07:22
fonte

3 risposte

1

C'è qualche ragione specifica per cui non vorresti che i tuoi studenti usassero un account Guest sul sistema? Ciò ti consentirebbe di fornire loro un accesso limitato al sistema eliminando automaticamente tutti i loro file al logout.

Per abilitare un utente ospite:

  • vai a Preferenze di sistema > Utenti e amp; Gruppi
  • Fai clic sull'icona del lucchetto per sbloccarlo se necessario e digita un nome e una password amministratore
  • Seleziona Utente ospite nell'elenco degli account nella barra laterale sinistra
  • Verifica l'opzione Consenti agli ospiti di accedere a questo computer
  • Puoi anche impostare le restrizioni tramite il Controllo genitori selezionando l'opzione Attiva controlli censura e poi facendo clic su Apri controllo genitori ...

Vedi:
Utilizzo dell'account ospite in OS X
OS X Mountain Lion: imposta gli utenti guest
OS X Lion: configura un account guest

    
risposta data 25.10.2013 - 10:17
fonte
1

Potresti usare uno script di shell come questo:

#!/bin/bash

rm -r ~/Desktop/*

O se vuoi spostare i file nel cestino:

#!/usr/bin/osascript

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

Quindi esegui:

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

I hook di logout erano deprecati in 10.4, ma non ho trovato alcun modo per eseguire un programma in modo affidabile al logout usando launchd.

L'hook di logout può essere solo uno script eseguibile e non un comando di shell.

Il comando defaults modifica /var/root/Library/Preferences/com.apple.loginwindow.plist . Esegui sudo defaults delete com.apple.loginwindow LogoutHook per eliminare la chiave LogoutHook.

    
risposta data 25.10.2013 - 10:41
fonte
1

Il tuo requisito di base è di cancellare i file tra le sessioni di accesso. Se non è possibile utilizzare gli account Guest, dal momento che si eseguirà comunque una configurazione personalizzata per gli account utente, una soluzione semplice e facile da gestire è utilizzare uno script Elemento di avvio che viene eseguito all'accesso invece di un hook di logout (che è deprecato e potrebbe non rimanere una soluzione a lungo termine).

Ogni volta che un altro utente effettua l'accesso, i file creati dall'utente precedente sul desktop verranno cancellati.

  • Crea uno script con il nome cleardesktop.command (l'estensione .command lo esegue in Terminal per impostazione predefinita) contenente la riga

    rm -rf ~/Desktop/*
    
  • Rendilo eseguibile usando il comando

    chmod +x cleardesktop.command
    
  • Aggiungilo all'elenco Elementi di avvio dell'account utente

    • vai a Preferenze di sistema > Utenti e amp; Gruppi
    • seleziona l'account utente e vai a Elementi di accesso
    • fai clic sul (+) sotto l'elenco a destra.
    • seleziona lo script cleardesktop.command e fai clic su Aggiungi
    • seleziona la casella di controllo Nascondi accanto in modo che la finestra Terminal non venga visualizzata al momento del login.
  • Inoltre, puoi impedire agli utenti di rimuovere questo Elemento di avvio con i seguenti passaggi

    • vai a Preferenze di sistema > Controllo genitori
    • quindi nella scheda App
    • verifica la casella di controllo Limita applicazioni
    • nell'elenco App consentite: , deseleziona Preferenze di sistema - Applicazioni

Se desideri rendere questa soluzione un po 'più solida, puoi inserire il file cleardesktop.command in /usr/bin/ e impostare autorizzazioni limitate con chmod 755 cleardesktop.command dall'account dell'amministratore.

    
risposta data 04.11.2013 - 13:17
fonte

Leggi altre domande sui tag