1 votos

¿Tiene OSX la aplicación de lanzamiento en el reinicio?

Esto puede parecer una pregunta extraña ya que la mayoría de la gente querría saber cómo iniciar un programa en el arranque. Me preguntaba si hay una manera de tener OSX lanzar una aplicación cuando el botón de reinicio se presiona desde el menú de la Apple.

0 votos

Sólo para estar seguro de lo que está preguntando, usted lo que un programa para iniciar cuando el menú de Apple> Reiniciar ... se hace clic en y que el programa se ejecuta y termina su tarea antes de que el proceso de reinicio real se lleva a cabo. ¿Es eso correcto? ¿Qué pasa cuando un shutdown -r now ¿el comando, que es un reinicio, se emite en un Terminal o desde una aplicación?

0 votos

Eso no importa, sólo necesito que este programa se ejecute al hacer clic en el menú Apple > Reiniciar.

0 votos

Como he mencionado, mi método me funciona desde la GUI y la CLI bajo OS X 10.8.5. Qué versión de OS X estás usando para que pueda probar bajo esa versión?

0voto

user3439894 Puntos 5883

Se puede hacer con un proxy de reinicio, es decir, cambiarías el nombre de /sbin/reboot Por ejemplo sudo mv /sbin/reboot /sbin/reboot.ori y luego crear un reboot enlace simbólico al /sbin/reboot_proxy bash script que tiene el(los) comando(s) que debes ejecutar antes del reinicio y por último ejecuta /sbin/reboot.ori . De hecho, tengo esta configuración en mi Mac con OS X 10.8.5 y funciona bien. Estoy atrapando tanto reboot y shutdown comandos. Que son los que se ejecutan al pulsar el botón Apple menú > Reiniciar... y o Apagar... comandos.

  • Nota: Es mejor tener un segundo bash script para alternar el estado del archivo original y el proxy bash script ya que tiene que volver a establecerse antes de que se realicen las actualizaciones de OS X que tocarán el/los archivo/s.

Este es el código en mi shutdown_proxy bash script que tiene un enlace simbólico tanto para el reboot y shutdown Los comandos después del original fueron renombrados con un .ori extensión. Siéntase libre de adaptarla para su uso.

Contenido de reboot_proxy

#!/bin/bash

_name="$0";
echo "Reboot Proxy Executing..."

# Place command(s) to execute before reboot directly below this comment:

_command="$_name.ori"
echo "Executing $_command $@..."

"$_command" "$@"

Permítanme añadir que, desde el punto de vista de la seguridad, hay quienes argumentan que esto es algo malo, y yo diría que, hasta cierto punto, eso es cierto en las condiciones adecuadas; sin embargo, como yo soy el único que ha tocado y tocará mi Mac y tengo varias capas de seguridad más allá de las incorporadas, personalmente no tengo ningún problema en utilizar este método.

0 votos

Gracias por esto, siento que va a funcionar pero por alguna razón incluso después de reemplazar el viejo binario de reinicio con un nuevo bash script ejecutando lo que necesito todavía se reinicia como normal. ¿Podría estar haciendo algo mal?

0 votos

En realidad, cuando se ejecuta desde la terminal el comando de reinicio funciona, parece que OSX está utilizando un comando diferente cuando se utiliza la interfaz gráfica de usuario

0 votos

@CyrodiilSavior, Tal y como tengo configurado el mío, tanto si hago clic en los comandos del menú Apple > Reiniciar... y o Apagar... como si ejecuto reboot y o shutdown en un Terminal lo que está en mi sección "# Comando(s) a ejecutar antes del reinicio" todo termina antes de que ocurra el reinicio/apagado real.

0voto

jwbensley Puntos 2102

Dado que al elegir Menú Apple > Reiniciar se cierra la sesión de forma efectiva, probablemente podrías hacer algo como lo que se sugiere aquí: Ejecutar script al cerrar la sesión sin usar el gancho de cierre de sesión .

Yo evitaría intentar editar o modificar cualquier binario del sistema, scripts, etc y me ceñiría a lo que está disponible en el "espacio de usuario". Más que nada porque cualquier actualización del sistema podría sobrescribir cualquier cambio que hicieras, y si hicieras algo que si se "rompiera" podría impedir el arranque o el inicio de sesión... Bueno, eso puede ser un gran dolor de cabeza.

Nota: Todavía no he tenido la oportunidad de poner a prueba nada de eso, pero parece que puede haber algunas pistas.

0 votos

Es una buena sugerencia, la tendré en cuenta, voy a seguir trabajando con @user3439894 y su método por ahora porque también necesito hacer esto en sistemas linux.

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