Antworten:
Am Ende habe ich die folgende .plist-Datei erstellt. Es wird beim Start automatisch geladen und startet ein jupiter
Notebook und hält es am Leben.
<?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>KeepAlive</key>
<true/>
<key>Label</key>
<string>cern.chernals.ipython</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/jupyter-notebook</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/chernals/Library/LaunchAgents/jupyter-notebook.stderr</string>
<key>StandardOutPath</key>
<string>/Users/chernals/Library/LaunchAgents/jupyter-notebook.stdout</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Ich bin ein MacOS-Neuling und fand die akzeptierte Antwort sehr hilfreich. Ich habe es so geändert, dass beim Start kein Browser gestartet wird und auch im Verzeichnis ~ / jupyter gestartet wird, in dem ich die meisten meiner Notizbücher speichere.
Zum späteren Nachschlagen können Sie die XML-Daten in einer Datei im Verzeichnis ~ / Library / LaunchAgents ablegen, z. B. ~ / Library / LaunchAgents / org.jupyter.notebook.plist.
Die Liste, mit der ich endete, war die folgende.
<?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>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.jupyter.notebook</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/jupyter-notebook</string>
<string>--no-browser</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/rickard/Library/LaunchAgents/org.jupyter.notebook.stderr</string>
<key>StandardOutPath</key>
<string>/Users/rickard/Library/LaunchAgents/org.jupyter.notebook.stdout</string>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/Users/rickard/jupyter</string>
</dict>
</plist>
Ich habe keine Möglichkeit gefunden, das Home-Verzeichnis des Benutzers dort nicht fest zu codieren. Die Option EnableGlobbing funktioniert nur in ProgramArgument, und es gibt keine Erweiterung für Umgebungsvariablen. Daher muss sie vorerst dort vorhanden sein.