• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

crontab erstellen

j@n

Eierleder-Apfel
Registriert
03.01.07
Beiträge
1.230

Pinky69

Apfel der Erkenntnis
Registriert
10.03.06
Beiträge
727
Das mit launchd und LIGNON habe ich schon versucht, jedoch funktioniert das nicht richtig, warum auch immer.
Habe im Basic-Mode das eingetragen:
Punkt 1 - com.servername.appdatei
Punkt 2 - hier habe ich die App-Datei ausgewählt (liegt zum testen auf den Schreibtisch)
Punkt 3 - hier habe ich eine bestimmte Zeit eingetragen (glaube war das vierte Häckchen)

Die plist-Datei liegt in /System/Library/LaunchDaemons

Habe ich da einen denkfehler oder fehlt noch etwas?
Muß ich den launchd extra aktivieren oder ist der automatisch beim Neustart des Mac aktiv?
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Punkt 2 - hier habe ich die App-Datei ausgewählt
Sorry, my fault.
Vergass ich zu erwähnen: das Progrämmchen hat hier einen kleinen Fehler.
Normalerweise benutzt man launchd Daemons nur um an sicheren Orten gespeicherte Programme oder Skripten aus der Unix ("BSD") Umgebung auszuführen. Pfadbezeichnungen dort hin (meist sind das Orte unter /usr/* ) haben grundsätzlich weder Leer- noch Sonderzeichen im Namen.
Wählst du per Button ein OS X Programmpaket (eine *.app) aus und im Pfad zur darin enthaltenen ausführbaren Datei sind solche Zeichen enthalten, werden sie falsch eingefügt (da hat der Autor wohl nicht so toll aufgepasst). Das Resultat ist eine fehlerhaft formatierte Befehlszeile.

Lässt sich leicht beheben. Wie du beobachten kannst, werden bestimmte Zeichen im Pfad, die in einer Terminal-Befehlszeile normalerweise eine Sonderbehandlung erfordern, durch einen vorangestellten Backslash "maskiert". Beispiel:
Das Programmpaket "Programme > Mein kleines Tool.app" würde einen Pfad erzeugen, der so aussieht:
Code:
[SIZE="-1"]/Applications/Mein[COLOR="Blue"]\[/COLOR] kleines[COLOR="Blue"]\[/COLOR] Tool.app/Contents/MacOS/Mein[COLOR="Blue"]\[/COLOR] kleines[COLOR="Blue"]\[/COLOR] Tool[/SIZE]
Entferne im Textfeld diese hinzugefügten Backslashes und fass die ganze Zeile in Gänsefüsschen, so dass folgendes dabei rauskommt:
Code:
[SIZE="-1"][COLOR="Blue"]"[/COLOR]/Applications/Mein kleines Tool.app/Contents/MacOS/Mein kleines Tool[COLOR="Blue"]"[/COLOR][/SIZE]
Und schon stimmt das ganze wieder.

Die plist-Datei liegt in /System/Library/LaunchDaemons
Das dürfte kaum notwendig sein. Was dort liegt, wird beim Bootvorgang des Systems mit root-Privilegien ausgeführt. In deinem Fall wirst du eher etwas wollen, das erst bei der Anmeldung eines Benutzers aktiv wird und das auch mit seinen ganz normalen Anwenderprivilegien läuft.
Der richtige Platz dafür wäre:
"/Library/LaunchAgents/" (alle Benutzer) oder
"${HOME}/Library/LaunchAgents/" (nur dieser eine Benutzer).
Lingon legt das automatisch im richtigen Ordner ab, wenn du bei der Erstellung die passende Auswahl triffst.

Muß ich den launchd extra aktivieren oder ist der automatisch beim Neustart des Mac aktiv
launchd läuft immer.
ABER Einträge die du neu hinzugefügt oder geändert hast, erfordern (je nach Art) entweder einen Neustart des Systems oder eine Neuanmeldung des Benutzers, damit sie wirksam werden.
(Ansonsten müsstest du die Erstaktivierung per Terminal "von Hand" anstossen, was ich dir als "Newcomer" aber noch nicht empfehlen würde.)

Ach ja, noch was: Das "Label" (der Name) eines jeden launchd-Items muss unbedingt einzigartig sein (sonst würdest du etwas erschaffen, mit dem man systemeigene Items übersteuern kann). Wenn du also später weitere Items erzeugst, gib unbedingt jedem einen eigenen (und möglichst selbsterklärenden) Namen. Ich gehe mal davon aus, dass du das logische Prinzip der "rückwärts geschriebenen URL" längst durchschaut hast.
 
Zuletzt bearbeitet:

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
… Die plist-Datei liegt in /System/Library/LaunchDaemons

Habe ich da einen denkfehler oder fehlt noch etwas? …

Dein Programm will mit der GUI reden, weil es AppleScript ist. Das kann es nur, wenn es zur Login-Session der aktiven GUI gehört.

Ein LaunchDaemon unter /System/Library/LaunchDaemons läuft aber standardmä0ig unter root und nicht in Deiner Login-Session.

In Deinem Fall würde ich die plist unter ~/Library/LaunchAgents ablegen.

Siehe dazu auch
http://www.macmark.de/osx_launchd.php#arten
 
Zuletzt bearbeitet:

Pinky69

Apfel der Erkenntnis
Registriert
10.03.06
Beiträge
727
Also ich habe das mit LIGNON jetzt so eingerichtet:
siehe Anhang

Und die plist-Datei liegt jetzt in ~/Library/LaunchAgents

Was meint ihr, funktioniert es ?
 

Anhänge

  • Bildschirmfoto 2010-01-13 um 09.36.54.png
    Bildschirmfoto 2010-01-13 um 09.36.54.png
    80 KB · Aufrufe: 95

Pinky69

Apfel der Erkenntnis
Registriert
10.03.06
Beiträge
727
Kurzer Zwischenstand:
Habe es soweit am laufen, aber nur über ein Shell-Script welches mir das Applescript-Script aufruft.
Das Shell-Script wird im crontab aufgerufen und ausgeführt.

Gibt es eigentlich den Befehl "dot_clean" in OSX 10.4.11 Server nicht? Wollte da auch einmal das Script testen, lief aber immer auf Fehler das es kein "dot_clean" kennt.
 

Pinky69

Apfel der Erkenntnis
Registriert
10.03.06
Beiträge
727
Hallo,
ich habe das ganze jetzt am laufen, und zwar über den launchd.
Ich rufe hier ein Shellscript auf was wiederum das Applescript startet und ausführt.
Ist zwar etwas um die Ecke aber die Applescripte musste ich nur etwas umstricken und kann sie jetzt verwenden.
Aber ist das etwas besonderes wenn ich ein Applescript als ausführbares Programm abspeichere? Direkt kann der launchd solch ein Programm nicht starten. Hmmm, seltsam.
Muß ich eben mehr über Shellscripte machen.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
… Aber ist das etwas besonderes wenn ich ein Applescript als ausführbares Programm abspeichere? …
Das "Programm" ist ein Verzeichnis mit allem, was gebraucht wird, und enthält auch das auführbare Binary. Bei Safari beispielsweise ist das Safari.app/Contents/MacOS/Safari. Ich schätze, Du mußt dieses Binary angeben bei launchd und nicht die app.
 

Pinky69

Apfel der Erkenntnis
Registriert
10.03.06
Beiträge
727
Hi MacMark,

ja das hatte ich aber auch schon das hier versucht.
/Users/username/Desktop/intelli_dot_clean/dct-test.app/Contents/MacOS/applet