¿Puedo reiniciar iTunes de manera remota desde mi iPhone / iPad?

2

Estoy ejecutando iTunes, 10.6.1 en mi Mac mini con OS X Lion 10.7.4. Este Mac mini tiene toda mi biblioteca de medios, incluyendo una tonelada de DVD que fueron grabados y transcodificados para funcionar en Apple TV. Tengo 3 de los televisores Apple más recientes que transmiten contenido de la biblioteca Home Sharing de mi Mac mini. Todo funciona muy bien la mayor parte del tiempo.

Estoy corriendo a un problema con el aumento de la frecuencia, donde los televisores Apple no pueden cargar la biblioteca desde el Mac mini (muestra el engranaje giratorio). La única solución que he encontrado es salir de iTunes en la Mac mini y luego reiniciarla.

Lo que me gustaría hacer es tener algo en mi iPhone que me permita detener y luego reiniciar iTunes en la Mac mini. Ejecuto Apache en esta máquina y he escrito un pequeño script PHP que se detendrá y luego iniciará iTunes utilizando AppleScript y osascript . Funciona bien desde la Terminal, pero no desde el servidor web. Estoy seguro de que es un problema de permisos, pero realmente no quiero ejecutar el servidor web con mi cuenta de usuario.

¿Alguna sugerencia? Puedo comprar una aplicación o script con PHP o AppleScript. No quiero usar solo un cliente SSH o VNC porque quiero que mis hijos también lo hagan fácilmente.

    
pregunta Scott 25.05.2012 - 18:53

2 respuestas

3

Una opción sería ejecutar sudo visudo para editar el archivo sudoers y agregar la siguiente línea:

apacheuser ALL=(youruser) NOPASSWD: /usr/bin/osascript

Asegúrate de cambiar apacheuser a la cuenta con la que se ejecuta apache y youruser a la cuenta con la que corre iTunes. Esto permite a apache ejecutar comandos de AppleScript como el usuario elegido sin solicitar una contraseña. Puede encontrar más información sobre esto en la sudoers man page .

Sin embargo, esto podría introducir un agujero de seguridad, ya que el usuario de apache podría realizar cualquier acción que el usuario permita. Una mejor opción sería crear un script de shell intermediario que tome start y stop como argumento.

#!/bin/sh

case $1 in
    stop)  /usr/bin/osascript -e 'tell application "iTunes" to quit';;
    start) /usr/bin/open /Applications/iTunes.app;;
    *)     echo 'Please use "start" or "stop" as an argument.';;
esac

Guarde esto en un archivo en algún lugar y hágalo ejecutable con chmod +x . En este caso, su línea en el archivo sudoers ahora sería:

apacheuser ALL=(youruser) NOPASSWD: /Some/Directory/iTunesControl.sh

Luego, desde su script PHP, llame al script shell con:

sudo -u youruser /Some/Directory/iTunesControl.sh stop|start
    
respondido por el kccricket 25.05.2012 - 20:54
0

Desde enlace

  

Mantenga presionado Menú y Abajo en su Apple Remote de aluminio durante seis segundos y luego suéltelo cuando vea que la luz LED del Apple TV parpadea rápidamente.

Esto debería solucionar su problema sin tener que hacer nada con iTunes o Mac mini.

    
respondido por el afragen 25.05.2012 - 22:59

Lea otras preguntas en las etiquetas