Wie kann ich meinen Mac ein Netzlaufwerk mounten lassen, wenn eine Anwendung gestartet wird?

8

Ich habe den Speicher für meine "iTunes Media", "iTunes Music" und "Mobile Applications" mithilfe von Symlinks auf ein Netzwerklaufwerk ausgelagert.

Ich habe die gesamte Medienbibliothek aus Leistungsgründen nicht mit iTunes ausgelagert.

Es wäre schön, eine Verbindung zu meinem Netzwerklaufwerk herzustellen, wenn ich iTunes starte, da es weniger ordnungsgemäß ausfällt, wenn der Netzwerkspeicher noch nicht bereitgestellt ist.

Gibt es eine Möglichkeit, ein Netzwerklaufwerk vor dem Start einer bestimmten Anwendung bereitzustellen?

wählen
quelle
Was ist das für ein Server? AFP, SMB ...?
Myhd
es ist ein AFP - Protokoll
Wahl
Wenn Sie das Gefühl haben, dass die Lastmontage Sie nicht dahin bringt, wo Sie möchten, können Sie die Montage beim Start definitiv durchführen. Sie mounten einfach das Laufwerk, öffnen die Benutzereinstellungen in den Einstellungen, ziehen die Serververbindung per Drag & Drop in die Liste der Anwendungen, die beim Start gestartet werden sollen, und aktivieren das Kontrollkästchen, wenn es nicht aktiviert ist.
Ryan Hollingsworth

Antworten:

5

Mit Automator und dem hervorragenden SleepWatcher- Dienstprogramm habe ich ein Setup, das beim Starten des Computers automatisch eine Verbindung zu meinem Netzwerklaufwerk herstellt und sich dann automatisch wieder verbindet, wenn der Computer aus dem Ruhezustand aufwacht.

Ich habe ein Tutorial in einem Blog-Beitrag geschrieben .

Ein Update als Antwort auf CajunLukes Frage:

Die Automator-App stellt eine Verbindung zum Netzlaufwerk her und enthält 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 beim Aufwachen des Computers ein Shell-Skript ausgeführt wird, das die oben genannte Automator-App aufruft.

Rob Schmitt
quelle
Können Sie den Kern Ihres Blogposts hier posten? Wir bevorzugen es wirklich, mehr Inhalt in einer Antwort zu haben als nur einen Link (im Allgemeinen aufgrund von Link Rot).
Cajunluke
2

Eine einfache Lösung besteht darin, Ihre Netzwerkfreigaben beim Anmelden automatisch für Sie bereitzustellen. Ein Programm wie Network Drive Launcher hilft beim automatischen Erstellen von Skripten und beim Herstellen einer Verbindung zu Netzwerkfreigaben, wenn Sie sich anmelden.

Alternativ können Sie ein Apple-Skript schreiben, das das Klicken auf das iTunes-Symbol ersetzt, um iTunes zu starten. Dies ist nicht ideal, da Sie zuerst auf das Skript klicken müssten.

  1. Öffnen Sie die AppleScript Editor-Anwendung.
  2. Geben Sie Folgendes ein

::

--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. Speichern Sie das Skript Datei> Speichern

  2. Nennen Sie es wie Sie möchten, aber stellen Sie sicher, dass Sie das Dateiformat in der Dropdown-Liste "Dateiformat:" auf "Anwendung" setzen.

  3. Führen Sie das Skript aus, Sie können es wie jede andere Anwendung behandeln.

Schließlich scheint es möglich zu sein, ein Apple-Skript zu schreiben, das genau das tut, was Sie wollen. Hier ist ein Link zu etwas, das möglicherweise mit einigen Änderungen funktionieren kann. Ich konnte es nicht zum Laufen bringen, einige Syntaxprobleme müssen behoben werden. Führen Sie ein Skript aus, wenn eine Anwendung geöffnet wird

Was Sie brauchen, ist ein Applescript, das ständig geöffnet bleibt und seine Aufgaben regelmäßig ausführt. Hier ist ein Beispiel für ein Applescript für Sie. Speichern Sie es als Anwendung und aktivieren Sie das Kontrollkästchen "Offen bleiben", damit es nach dem Start geöffnet bleibt. Die Art und Weise, wie ein Skript zum Offenhalten funktioniert, besteht darin, dass es zwei Haupthandler gibt, den "on run" und den "on idle". "on run" wird einmal beim Start der Anwendung ausgeführt. "on idle" läuft von Zeit zu Zeit. Sie legen fest, wie oft es ausgeführt wird, indem Sie am Ende des Handlers einige Sekunden zurückgeben. Hier ist das Beispiel ... es richtet die Anwendungsparameter im Handler "on run" ein und kann dann in "on idle" diese Parameter ü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, IdleTime ...

MrDaniel
quelle
1
Vielen Dank für Ihre ausführliche Antwort. Ich sehe hier einige Probleme: Ich benutze die Option, um meine Netzwerklaufwerke beim Start zu mounten (fügen Sie sie einfach unter den Einstellungen im Benutzerbereich in Startobjekten hinzu), aber ich schalte meinen Computer nie aus (mb air). Wenn ich nach draußen gehe, schließe ich es einfach und komme ohne Netzlaufwerke zurück. Die zweite Option sieht besser aus, funktioniert jedoch nicht, wenn iTunes von selbst gestartet wird (Gerät verbunden, Remote). wahrscheinlich muss ich einen Hintergrund-Helfer codieren, der auf den Start von iTunes wartet? Ich will das nicht: D Ich werde versuchen, dieses "Führen Sie ein Skript aus, wenn eine Anwendung geöffnet wird" zum Laufen zu bringen.
Wählen Sie den
Vielleicht möchten Sie dies prüfen
MrDaniel
Nur eine freundliche Erinnerung für Leute, die nützliche Antworten hochstimmen (und abstimmen / kommentieren, wenn sie Hilfe benötigen). Die Seite macht es besser, wenn die Abstimmung nette Beiträge wie diesen erkennt ....
bmike
1

Ich habe ein Skript erstellt, das eine Verbindung zu einem Netzwerklaufwerk herstellt, wenn iTunes ausgeführt wird. Sie können es von dieser Hauptseite herunterladen (suchen Sie nach dem "rohen" Download-Link).

#!/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

Grundsätzlich läuft es in einer Endlosschleife und überprüft alle zwei Sekunden, ob iTunes.app läuft. In diesem Fall wird überprüft, ob Ihr AFP-Volume bereits bereitgestellt ist, und wenn nicht.

Sie müssen das Skript konfigurieren, bevor Sie es zum ersten Mal ausführen. Weitere Informationen finden Sie in den Variablen oben im Skript. VOLUMENAME ist der Name aus dem normalen AFP-Verbindungsdialog ( in diesem Fall ssd ):

Verbindungsdialog

Um zu überprüfen , ob das Ding funktioniert im Prinzip: Lassen Sie uns sagen , dass das Skript auf das ist Desktop, in Terminal - Typ cd ~/Desktop/, dann ./mount_afp_when_itunes_running.sh.

Stellen Sie in diesem Fall Permission denieddie Dateiberechtigungen so ein, dass Sie das Skript mit ausführen können chmod 755 mount_afp_when_itunes_running.sh, und versuchen Sie es erneut.

Wenn alles funktioniert, können Sie dieses Skript automatisch über einen Launch Agent starten .

myhd
quelle
0

Dies mag ein wenig vom Thema abweichen, aber es ist nicht erforderlich, die iTunes-Verzeichnisse zu verknüpfen! Um eine iTunes-Mediathek auszuwählen, die sich irgendwo auf einer Festplatte befindet, halten Sie sie unmittelbar nach dem Start von iTunes gedrückt.

Geben Sie hier die Bildbeschreibung ein

myhd
quelle
2
Der Grund für einen Symlink ist ein anderer. Wenn ich Symlinking verwende, anstatt meine iTunes-Mediathek so auszuwählen, wie Sie es beschrieben haben, werden alle Metadaten und Miniaturansichten auf meinem Computer gespeichert, anstatt auf einem Netzwerklaufwerk, das iTunes UNGLAUBLICH beschleunigt.
Wählen Sie den