Ich habe ein Skript monta.sh
zum Mounten eines externen Volumes:
#!bin/sh
mkdir -p /Volumes/remvol
mount_smbfs //user:password@server/folder /Volumes/remvol
Dann habe ich ein com.jo.monta.plist
Skript zum Starten des Skripts nach dem Systemstart platziert in /Library/LaunchDaemons
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.jo.monta</string>
<key>Disabled</key>
<false/>
<key>UserName</key>
<string>admin</string>
<key>ProgramArguments</key>
<array>
<string>/Users/admin/scripts/monta.sh</string>
</array>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Ich habe das Skript von der Befehlszeile aus getestet und es funktioniert, aber wenn ich mich nach dem Booten anmelde, wird das Volume nicht gemountet.
Es scheint, als würde die Plist-Datei nicht geladen? Was ist los mit dir?
Das Skript und die Plist funktionieren einwandfrei, wenn Sie folgende Änderungen vornehmen:
Fügen Sie einen Schrägstrich in /Users/admin/scripts/monta.sh hinzu:
#!/bin/sh
mkdir -p /Volumes/remvol
mount_smbfs //user:password@server/folder /Volumes/remvol
ordnungsgemäßes Eigentum an com.jo.monta.plist:
sudo chown root:wheel /Library/LaunchDaemons/com.jo.monta.plist
richtige Dateimodusbits von /Users/admin/scripts/monta.sh:
chmod 755 /Users/admin/scripts/monta.sh
Laden Sie den Launch-Daemon:
sudo launchctl load /Library/LaunchDaemons/com.jo.monta.plist
chmod 755 /Users/admin/scripts/monta.sh
Graham Mill
#!bin/sh
sollte sein#!/bin/sh
Graham Mill
system.log
Bezug auf diesen launchd-Job?system.log
Sie können den Inhalt von Applications > Utilities > Console.app anzeigen .Naio
com.jo.monta
im Systemprotokoll gesehen, ich habe auch verwendetlaunchctl list | grep monta
, um zu sehen, ob es etwas gab, und auch keinen Hinweis.kein Hang
ProgramArguments
stattdessenProgram
(was ein einfaches Schlüssel/Wert-Paar ist, kein Array, sieheman launchd.plist
für Details)?