Applescript para eliminar archivos de escritorio al cerrar sesión

2

Soy completamente nuevo en Applescript y actualmente estoy muy ocupado en el trabajo. No tengo tiempo de aprenderlo, una vez que encuentre algo de tiempo libre, decidí pedirles ayuda a ustedes, los expertos.

Necesito un Applescript que elimine todos los archivos del escritorio al cerrar sesión. Actualmente estoy ejecutando un Mac Lab con 40 iMacs y nuestros estudiantes guardan archivos archivados constantemente en el escritorio, lo que genera mucho desorden.

    
pregunta Greg 25.10.2013 - 07:22

3 respuestas

1

¿Hay alguna razón específica por la que no quiera que sus estudiantes usen una cuenta de invitado en el sistema? Eso le permitiría proporcionarles acceso restringido al sistema mientras elimina todos sus archivos al cerrar sesión automáticamente.

Para habilitar un usuario invitado:

  • Vaya a Preferencias del sistema > Usuarios & Grupos
  • Haga clic en el icono de bloqueo para desbloquearlo si es necesario y escriba el nombre y la contraseña de un administrador
  • Seleccione el Usuario invitado en la lista de cuentas de la barra lateral izquierda
  • Marque la opción Permitir que los invitados inicien sesión en esta computadora
  • También puede configurar restricciones a través de los controles parentales marcando la opción Habilitar controles parentales y luego haciendo clic en Abrir controles parentales ...

Ver:
Uso de la cuenta de invitado en OS X
OS X Mountain Lion: configura usuarios invitados
OS X Lion: configura una cuenta de invitado

    
respondido por el M K 25.10.2013 - 10:17
1

Podrías usar un script de shell como este en su lugar:

#!/bin/bash

rm -r ~/Desktop/*

O si desea mover los archivos a la papelera:

#!/usr/bin/osascript

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

A continuación, ejecute:

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

Los ganchos de cierre de sesión se han desaprobado en 10.4, pero no he encontrado ninguna manera de ejecutar un programa de forma confiable al cerrar sesión usando launchd.

El enlace de cierre de sesión solo puede ser un script ejecutable y no un comando de shell.

El comando por defecto modifica /var/root/Library/Preferences/com.apple.loginwindow.plist . Ejecute sudo defaults delete com.apple.loginwindow LogoutHook para eliminar la clave LogoutHook.

    
respondido por el user495470 25.10.2013 - 10:41
1

Su requisito básico es borrar archivos entre sesiones de inicio de sesión. Si no puede usar las cuentas de invitado, ya que de todos modos estaría realizando una configuración personalizada para las cuentas de usuario, una solución simple que es fácil de administrar es usar un script de elementos de inicio que se ejecuta al iniciar sesión en lugar de un enlace de cierre de sesión (que está en desuso y puede que no sea una solución a largo plazo).

Cada vez que otro usuario inicie sesión, se borrarán los archivos creados por el usuario anterior en el escritorio.

  • Cree un script con el nombre cleardesktop.command (la extensión .command hace que se ejecute en Terminal de manera predeterminada) que contiene la línea

    rm -rf ~/Desktop/*
    
  • Hazlo ejecutable usando el comando

    chmod +x cleardesktop.command
    
  • Añádalo a la lista de Elementos de inicio de la cuenta de usuario

    • vaya a Preferencias del sistema > Usuarios & Grupos
    • seleccione la cuenta de usuario y vaya a Elementos de inicio de sesión
    • haga clic en (+) debajo de la lista a la derecha.
    • seleccione el script cleardesktop.command y haga clic en Añadir
    • marca la casilla de verificación Ocultar al lado para que la ventana Terminal no se muestre al iniciar sesión.
  • Además, puede evitar que los usuarios eliminen este elemento de inicio con los siguientes pasos

    • vaya a Preferencias del sistema > Controles parentales
    • luego a la pestaña Aplicaciones
    • marcando la casilla Limitar aplicaciones
    • en la lista Aplicaciones permitidas: , desmarca Preferencias del sistema - Aplicaciones

Si desea que esta solución sea un poco más sólida, puede colocar el archivo cleardesktop.command en /usr/bin/ y establecer permisos restringidos con chmod 755 cleardesktop.command de la cuenta del administrador.

    
respondido por el M K 04.11.2013 - 13:17

Lea otras preguntas en las etiquetas