Shell-Skript nicht automatisch ausgeführt wird, obwohl es in Mac OS X Startobjekte registriert

StackOverflow https://stackoverflow.com/questions/335891

Frage

Ich habe den folgenden Shell-Skript in meinen „Login Items“ Präferenzen registriert, aber es scheint keine Wirkung zu haben. Es sollte das Moinmoin-Wiki starten, aber nur funktioniert, wenn es von Hand von einem Terminalfenster ausgeführt wird, nach dem es ausgeführt wird, bis die Maschine weiter heruntergefahren wird.

#!/bin/bash
cd /Users/stuartcw/Documents/Wiki/moin-1.7.2
/usr/bin/python wikiserver.py >> logs/`date +"%d%b%Y"`.log 2>&1 &

Ich würde wie das Wiki wirklich nach dem Neustart zur Verfügung steht, um jede Hilfe beim Verständnis dieser geschätzt würde.

War es hilfreich?

Lösung

launchd ist einer der besten Teile von MacOS X, und es macht mir große Schmerzen nicht in der Lage sein, sie auf anderen Systemen zu finden.

Bearbeiten und Platz dies in /Library/LaunchDaemons als com.you.wiki.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.you.wiki</string>
    <key>LowPriorityIO</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
    <key>WorkingDirectory</key>
    <string>/Users/stuartcw/Documents/Wiki/moin-1.7.2</string> 
    <key>UserName</key>
    <string>user to run this as</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/python</string>
        <string>wikiserver.py</string>
    </array>
</dict>
</plist>

Andere Tipps

Versuchen Sie launchd verwenden. Weitere Informationen unter http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself

Einige hilfreiche Links:

Mac OS X: Erstellen eines Login-Haken

Herstellung von Shell-Skripten starten bei der Anmeldung oder beim Systemstart

Siehe auch Lingon für einen Frontend , sollten Sie sich entscheiden Launchd stattdessen zu verwenden.

Ich weiß nicht viel darüber, da ich Anmeldeobjekte nicht verwenden. Nur ein Vorschlag, vielleicht versuchen, mit Applescript, die diese Shell-Kommandos aufruft, und setzte sich in Anmeldeobjekte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top