Ich habe den Speicher für meine "iTunes Media", "iTunes Music" und "Mobile Applications" mittels Symlinks auf ein Netzlaufwerk ausgelagert.
Die komplette Mediathek habe ich aus Performancegründen nicht bei iTunes ausgelagert.
Es wäre schön, eine Verbindung zu meinem Netzlaufwerk herzustellen, wenn ich iTunes starte, da dies weniger als ordnungsgemäß fehlschlägt, wenn der Netzwerkspeicher nicht bereits bereitgestellt ist.
Gibt es eine Möglichkeit, ein Netzlaufwerk zu mounten, bevor eine bestimmte Anwendung gestartet wird?
Mit Automator und dem ausgezeichneten Dienstprogramm SleepWatcher habe ich ein Setup, das automatisch eine Verbindung zu meinem Netzlaufwerk herstellt, wenn der Computer startet, und sich dann automatisch wieder verbindet, wenn der Computer aus dem Ruhezustand erwacht.
Ich habe ein Tutorial in einem Blogbeitrag geschrieben .
Ein Update als Antwort auf CajunLukes Frage:
Die Automator-App stellt eine Verbindung zum Netzlaufwerk her und integriert eine Verzögerung von 10 Sekunden, um sicherzustellen, dass die Netzwerkverbindung bereit ist.
SleepWatcher wird als Daemon ausgeführt und ermöglicht es Ihnen, die Ausführung von Skripten zu planen, wenn Ihr Computer in den Ruhezustand wechselt oder aus dem Ruhezustand aufwacht. In diesem Fall konfigurieren Sie es so, dass es beim Aufwachen des Computers ein Shell-Skript ausführt, das die oben erwähnte Automator-App aufruft.
Und eine einfache Lösung wäre, Ihre Netzwerkfreigaben automatisch für Sie bereitzustellen, wenn Sie sich anmelden. Ein Programm wie Network Drive Launcher würde beim automatischen Skripten und Verbinden mit Netzwerkfreigaben helfen, wenn Sie sich anmelden.
Alternativ könnten Sie ein Apple-Skript schreiben, das das Klicken auf das iTunes-Symbol ersetzen würde, um iTunes zu starten, nicht ideal, da Sie zuerst auf das Skript klicken müssten.
:
--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
Speichern Sie das Skript Datei > Speichern
Benennen Sie es nach Belieben, stellen Sie jedoch sicher, dass das Dateiformat im Dropdown-Menü „Dateiformat:“ auf „Anwendung“ eingestellt ist.
Führen Sie das Skript aus, Sie können es wie jede andere Anwendung behandeln.
Schließlich sieht es so aus, als wäre es möglich, ein Apple-Skript zu schreiben, das genau das tut, was Sie wollen. Hier ist ein Link zu etwas, das möglicherweise mit einigen Änderungen funktioniert. Ich konnte es unter Lion nicht zum Laufen bringen, einige Syntaxprobleme müssen gelöst werden. Führen Sie ein Skript aus, wenn eine Anwendung geöffnet wird
Was Sie brauchen, ist ein Applescript, das die ganze Zeit geöffnet bleibt und seine Aufgaben regelmäßig ausführt. Hier ist ein Beispiel-Applescript für Sie. Speichern Sie es als Anwendung und aktivieren Sie das Kontrollkästchen "Geöffnet bleiben", damit es nach dem Start geöffnet bleibt. Ein Stay-Open-Skript funktioniert so, dass es zwei Haupthandler gibt, den "On Run" und den "On Idle". "on run" wird einmal beim Anwendungsstart ausgeführt. "im Leerlauf" läuft ab und zu. Sie legen fest, wie oft es ausgeführt wird, indem Sie am Ende des Handlers eine Anzahl von Sekunden zurückgeben. Hier ist also das Beispiel ... es richtet die Anwendungsparameter im Handler "on run" ein und kann diese Parameter dann in "on im Leerlauf" überprüfen. Im Moment zeigt dieses Skript nur die Ergebnisse an, aber Sie können es an dieser Stelle tun lassen, was Sie wollen. globale AnwendungenToWatch, Leerlaufzeit ...
Ich habe ein Skript erstellt, das eine Verbindung zu einem Netzlaufwerk herstellt, wenn iTunes ausgeführt wird. Sie können es von dieser Gist-Seite herunterladen (suchen Sie nach dem Download-Link "raw" ).
#!/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
Im Grunde läuft es in einer Endlosschleife und überprüft alle zwei Sekunden, ob iTunes.app läuft. Wenn ja, prüft es, ob Ihr AFP-Volume bereits gemountet ist, und tut dies, wenn nicht.
Sie müssen das Skript konfigurieren, bevor Sie es zum ersten Mal ausführen, siehe die Variablen über dem Skript. VOLUMENAME ist der Name aus dem normalen AFP-Verbindungsdialog ( in diesem Fall ssd ):
Um zu prüfen, ob das Ding grundsätzlich funktioniert: Angenommen, das Skript liegt auf dem Desktop
, im Terminal tippe cd ~/Desktop/
dann ./mount_afp_when_itunes_running.sh
.
Legen Sie im Fall von Permission denied
die Dateiberechtigungen so fest, dass Sie das Skript mit ausführen können chmod 755 mount_afp_when_itunes_running.sh
, und versuchen Sie es dann erneut.
Wenn alles funktioniert, könnten Sie dieses Skript schließlich automatisch über einen Launch Agent starten .
Dies mag ein wenig vom Thema abweichen, aber es besteht keine Notwendigkeit, die iTunes-Verzeichnisse zu symbolisieren! Um eine beliebige iTunes-Mediathek auszuwählen, die sich irgendwo auf einer beliebigen Festplatte befindet, halten Sie einfach ⌥unmittelbar nach dem Start von iTunes gedrückt.
myhd
Wahl
Ryan Hollingsworth