2 votos

Applescript para borrar los archivos del escritorio al cerrar la sesión

Soy completamente nuevo en Applescript y actualmente estoy muy ocupado en el trabajo. No tengo tiempo para aprenderlo, lo haré cuando encuentre algo de tiempo libre, así que he decidido pediros ayuda a vosotros, los expertos.

Necesito un Applescript que borre todos los archivos del escritorio al cerrar la sesión. Actualmente dirijo un laboratorio de Mac con 40 iMacs y nuestros estudiantes guardan constantemente archivos en el escritorio, lo que crea mucho desorden.

1voto

M K Puntos 8307

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

Para habilitar un usuario invitado:

  • Ir a Preferencias del Sistema > Usuarios y Grupos
  • Pulse el icono del candado para desbloquearlo si es necesario y escriba un nombre y una contraseña de administrador
  • Seleccione el Usuario invitado en la lista de cuentas de la barra lateral izquierda
  • Marque la opción Permitir que los invitados se conecten a este ordenador
  • También puede configurar las restricciones a través del control parental marcando la opción Activar el control parental y luego hacer clic en Abrir el control parental...

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

1voto

En su lugar, puedes utilizar un shell script como este:

#!/bin/bash

rm -r ~/Desktop/*

O si quieres mover los archivos a la basura:

#!/usr/bin/osascript

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

Entonces corre:

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

Los ganchos de cierre de sesión fueron desaprobados en 10.4, pero no he encontrado ninguna manera de ejecutar un programa de forma fiable al cierre de sesión utilizando launchd.

El hook de cierre de sesión sólo puede ser un script ejecutable y no un comando del shell.

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

1voto

M K Puntos 8307

Su requisito básico es limpiar los archivos entre las sesiones de inicio de sesión. Si no puede utilizar las cuentas de invitados, ya que de todos modos tendría que hacer alguna configuración personalizada para las cuentas de usuario, una solución sencilla y fácil de gestionar es utilizar un elemento de inicio script que se ejecute al iniciar la sesión en lugar de un gancho de cierre de sesión (que está obsoleto y puede no seguir siendo una solución a largo plazo).

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

  • Crea un script con el nombre comando.cleardesktop (el .command hace que se ejecute en Terminal por defecto) que contiene la línea

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

    chmod +x cleardesktop.command
  • Añádelo a la cuenta de usuario Artículos de inicio lista

    • ir a Preferencias del Sistema > Usuarios y Grupos
    • seleccione la cuenta de usuario y vaya a Elementos de acceso
    • haga clic en el (+) debajo de la lista de la derecha.
    • seleccione el comando.cleardesktop script y haga clic en Añadir
    • compruebe el Ocultar junto a ella para que el Terminal la ventana no aparece al iniciar la sesión.
  • Además, puede evitar que los usuarios eliminen este Elemento de inicio con los siguientes pasos

    • ir a Preferencias del sistema > Control parental
    • luego a la Aplicaciones ficha
    • comprobación de la Limitar las aplicaciones casilla de verificación
    • en el Aplicaciones permitidas: lista, desmarque Preferencias del sistema - Aplicaciones

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X