¿Cómo puedo hacer que mi Mac monte una unidad de red cuando se inicia una aplicación?

7

Externalicé el almacenamiento de mis "iTunes Media", "iTunes Music" y "Mobile Applications" utilizando enlaces simbólicos en una unidad de red.

No externalicé la biblioteca multimedia completa por motivos de rendimiento con iTunes.

Sería bueno conectarme a mi unidad de red cuando inicie iTunes, ya que falla poco si no está ya montado el almacenamiento de red.

¿Hay alguna manera de montar una unidad de red antes de que se inicie una aplicación en particular?

    
pregunta choise 20.06.2012 - 02:50

4 respuestas

5

Al utilizar Automator y la excelente utilidad SleepWatcher , tengo una configuración que se conecta automáticamente a mi unidad de red cuando se inicia la computadora. luego se vuelve a conectar automáticamente cuando la computadora se despierta de la suspensión.

He escrito un tutorial en una publicación de blog .

Una actualización en respuesta a la pregunta de CajunLuke:

La aplicación Automator se conecta a la unidad de red e incorpora un retraso de 10 segundos para garantizar que la conexión de red esté lista.

SleepWatcher se ejecuta como un demonio y le permite programar la ejecución de scripts cuando su computadora se apaga o se despierta. En este caso, configúrelo para ejecutar un script de shell cuando la computadora se despierte y llame a la aplicación Automator mencionada anteriormente.

    
respondido por el Rob Schmitt 03.10.2012 - 12:39
2

Y una solución fácil sería tener tus recursos compartidos de red automáticamente montados cuando inicies sesión. Un programa como Network Drive Launcher ayudaría en la creación automática de scripts y la conexión a los recursos compartidos en red cuando inicie sesión.

Alternativamente, puedes escribir un Apple Script que reemplace el hacer clic en el ícono de iTunes para iniciar iTunes, no es ideal, ya que primero deberías hacer clic en el script.

  1. Abra la aplicación Editor de AppleScript.
  2. Escriba lo siguiente

:

--open the network location first
tell application "Finder"
    open location "smb://... OR afp://..."
end tell

--wait 10 seconds adjust this time to meet your needs
delay 10

--open iTunes
tell application "iTunes"
    activate
end tell
  1. Guarde el archivo de script > Guardar

  2. Asígnele el nombre que desee, pero asegúrese de establecer el formato de archivo en "Aplicación" en el menú desplegable "Formato de archivo:".

  3. Ejecute el script, puede tratarlo como cualquier otra aplicación.

Por último, parece que es posible escribir un Apple Script que haga exactamente lo que quieres, aquí hay un enlace a algo que puede funcionar con alguna modificación. No pude hacerlo funcionar en Lion, algunos problemas de sintaxis deben resolverse. Ejecutar un script cada vez que se abre una aplicación

  

Lo que necesita es un applecript que permanece abierto todo el tiempo y realiza sus tareas periódicamente. Así que aquí hay un ejemplo de AppleScript para usted. Guárdelo como una aplicación y marque la casilla "Mantener abierto" para que permanezca abierto después de iniciarlo. La forma en que funciona un script de permanencia abierta es que hay 2 controladores principales, el "en ejecución" y el "en inactivo". "on run" se ejecuta una vez en el inicio de la aplicación. "en ralentí" se ejecuta cada cierto tiempo. Usted establece la frecuencia con la que se ejecuta al devolver un número de segundos al final del controlador. Así que aquí está el ejemplo ... configura los parámetros de la aplicación en el controlador "en ejecución" y luego en "inactivo" puede verificar esos parámetros. En este momento, este script solo muestra los resultados, pero puede hacer que haga lo que quiera en este momento.   Global ApplicationsToWatch, idleTime ...

    
respondido por el MrDaniel 20.06.2012 - 16:44
1

Hice un script que se conecta a una unidad de red cuando iTunes se está ejecutando. Puede descargarlo desde esta página principal (busque "en bruto" enlace de descarga).

#!/bin/sh

HOST="hostname" # AFP server, e.g. server.local or 192.168.1.94 or…
USER="your_user_name" # for connection to AFP server
PASS="your_password" # for connection to AFP server
VOLUMENAME="your_volume_name" # name of volume to be mounted, typically username on AFP server.

while :
do
    if [[  $(ps axo pid,command | grep "/Applications/[i]Tunes.app/Contents/MacOS/iTunes ") ]]; then

        if [ ! -d "/Volumes/${VOLUMENAME}" ]; then # iTunes runs, Server not mounted
            echo "iTunes runs, now mounting ${VOLUMENAME}..."
            mkdir "/Volumes/${VOLUMENAME}"
            mount_afp afp://${USER}:${PASS}@${HOST}/${VOLUMENAME} "/Volumes/${VOLUMENAME}"
        fi
    fi
sleep 2
done # start over

Básicamente, se ejecuta en un bucle infinito y comprueba cada dos segundos si iTunes.app se está ejecutando. Si es así, comprueba si tu volumen AFP ya está montado, y si no lo hace, si lo hace.

Tendrá que configurar el script antes de ejecutarlo por primera vez, vea las variables en la parte superior del script. VOLUMENAME es el nombre del diálogo de conexión normal de AFP ( ssd en este caso):

Paraverificarsilacosafuncionaenprincipio:digamosqueelscriptestáenDesktop,eneltipodeterminalcd~/Desktop/,luego./mount_afp_when_itunes_running.sh.

EnelcasodePermissiondenied,configurelospermisosdearchivoparaquepuedaejecutarelscriptconchmod755mount_afp_when_itunes_running.sh,luegointentenuevamente.

Finalmente,sitodofunciona,podríainiciarestescript automáticamente a través de un Agente de lanzamiento .

    
respondido por el myhd 07.09.2012 - 14:08
0

Esto puede ser un poco fuera de tema, pero no es necesario vincular los directorios de iTunes. Para seleccionar cualquier biblioteca de iTunes que resida en cualquier lugar de cualquier disco, simplemente mantenga presionada inmediatamente después de iniciar iTunes.

    
respondido por el myhd 07.08.2012 - 23:11

Lea otras preguntas en las etiquetas