¿Cómo puedo crear una APP independiente para ejecutar un comando de terminal?

1

Tengo el requisito de ejecutar manualmente los scripts de mantenimiento OSX en OSX (Lion / Mountain Lion). Me gustaría crear una aplicación completamente independiente que logre los siguientes objetivos:

  • ejecuta el comando del terminal: sudo periodic daily weekly monthly
  • Ser ejecutable a través de Finder
  • Sea independiente (todo lo que se necesita para ejecutar el proceso es un solo archivo, de modo que un usuario sin conocimientos técnicos pueda simplemente hacer doble clic para ejecutar dicho comando)
  • Sea portátil (copie un solo archivo en una unidad flash USB u otro medio portátil)
  • Poder ejecutarse en Mac con OSX Lion o Mountain Lion

No necesariamente necesito ver los resultados al finalizar la ejecución, ya que siempre puedo ir al directorio / var / log para averiguarlo, pero si alguien sabe de una manera de eliminar este paso adicional, todo mejor.

Encontré esta respuesta pero no cumple con todos los requisitos. No soy un programador / programador pero puedo (y estoy dispuesto) a seguir instrucciones sencillas para lograr mis objetivos.

    
pregunta Mort 05.03.2013 - 18:35

5 respuestas

5

Cree una aplicación Automator que active un AppleScript. Deberá ingresar las credenciales administrativas cada vez que lo haga, ya que estoy seguro de que la contraseña podría ser diferente en cada sistema que use.

    
respondido por el bispymusic 07.03.2013 - 04:03
5

La respuesta por bispymusic debería funcionar bien, pero una respuesta aún más simple (menos capas de programa para iniciar) sería abrir Editor de AppleScript y crear un Nuevo guión. El guión es el mismo que el anterior:

 do shell script "periodic daily weekly monthly" with administrator privileges

Guarde el script como una aplicación . Hecho. Automator es genial, pero en este caso, solo está llamando a un AppleScript, por lo que podemos eliminar al intermediario del automator y simplemente crear un AppleScript directamente.

Esto debería cumplir con los cinco requisitos, con la advertencia técnica de que tanto el script automator como la aplicación AppleScript son técnicamente carpetas y no un solo archivo. Sin embargo, para el usuario final no técnico, se comportan como archivos individuales y se puede hacer doble clic para ejecutar, arrastrar y soltar, etc.

    
respondido por el Daniel 08.03.2013 - 03:49
1

Aquí hay una forma de ejecutar un script con privilegios de administrador y no tener que ingresar la contraseña cada vez (no recuerdo dónde lo encontré):

property userpassword : "" -- <<< !!! DO NOT FILL !!! Script will ask if needed.

-- Will ask for password on first run
getPassword()

-- Now userpassword contains the password filled the first time
-- You can for example do :
-- do shell script "sudo ipfw list" password userpassword with administrator privileges

--
-- Your script here
--

on getPassword()
    if userpassword is "" then
        display dialog "Please enter your password:" default answer "" with hidden answer
        set userpassword to text returned of result
        -- The repeat section below is an optional error checking routine to ensure the password is valid
        set the_password to "Undefined"
        repeat until the_password is "Correct"
            try
                set theFinderPID to do shell script "ps -axww | /usr/bin/grep '[/]Finder'| awk '{print $1}' | head -1"
                do shell script "renice 1 " & theFinderPID password userpassword with administrator privileges
                do shell script "renice 0 " & theFinderPID password userpassword with administrator privileges
                set the_password to "Correct"
            on error
                display dialog "Wrong password :" default answer "" with hidden answer
                set userpassword to text returned of result
            end try
        end repeat
    end if
end getPassword
    
respondido por el Bibou 08.03.2013 - 20:11
1

Parece que lo que necesita es Platypus , que le permite crear envoltorios de aplicaciones en torno a scripts.

    
respondido por el svth 30.11.2015 - 21:54
0

No sé si necesitas esto más o no. Podría causar más problemas de los que cura la aplicación. Mira esta página para sugerencias. La página podría estar desactualizada. enlace

"El mantenimiento es una utilidad de limpieza y mantenimiento del sistema. Le permite ejecutar diversas tareas de mantenimiento del sistema: reparar permisos, ejecutar secuencias de comandos periódicas, restablecer el índice de Spotlight, reconstruir la base de datos de LaunchServices, eliminar la caché de aplicaciones, fuentes y sistemas, y verificar El estado del disco duro ".

enlace

    
respondido por el historystamp 07.03.2013 - 00:54

Lea otras preguntas en las etiquetas