Wie hält man BetterTouchTool am Leben?

BetterTouchTool wird immer wieder beendet. Wie stelle ich sicher, dass es beim Beenden wieder geöffnet wird und dass keine doppelten Prozesse erzeugt werden?

Danke

Ich möchte diese Frage besser verstehen ... wollen Sie sagen, dass BTT beendet wird und seine Funktionalität aufhört, was bedeutet, dass Sie neu starten müssen? Wenn Sie sich Sorgen über einen doppelten Prozess machen, reagiert das Programm nicht mehr, obwohl ein aktiver Prozess damit verbunden ist (auch bekannt als abgestürzt)? Welches Betriebssystem verwenden Sie?
@WalrustheCat Wenn BTT abstürzt und BEVOR Sie es neu starten, können Sie uns das Systemprotokoll zur Verfügung stellen. Starten Sie "console" (Applications --> Utilities --> Console) und lassen Sie es laufen. Wenn es abstürzt, öffnen Sie es und posten Sie alles, was in den letzten 10 Minuten oder so passiert ist.

Antworten (2)

Sie könnten einen Startagenten erstellen, der startet, wenn Sie sich zum ersten Mal anmelden, und neu startet, wenn er beendet wird. Obwohl ich sicher bin, dass die App eine für sich selbst erstellt hat und einige Einstellungen möglicherweise nicht richtig eingestellt sind. Erstellen auf ist ganz einfach. Hier ist ein Beispiel, wenn BetterTouchTool im /ApplicationsOrdner installiert wurde und die ausführbare Datei im MacOS-Ordner im Paket enthalten war. Sie müssen nach dem Erstellen und Speichern dieser Plist-Datei im ~/Library/LaunchAgents/Ordner neu starten.

<?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>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
    <key>Label</key>
    <string>BetterTouchTool</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/BetterTouchTool.app/Contents/MacOS/BetterTouchTool</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Wenn Sie keinen Neustart wünschen, können Sie dies ausführen, um den Agenten zu starten:

launchctl load <path to the newly created plist file>

Sie können den Wert des Programmarguments nach Belieben ändern und mehr über Startagenten lesen, indem Sie man launchd.plistim Terminal eingeben. Dieser informiert Sie über alle verfügbaren Optionen. Es gibt auch GUI-Apps, um diese Plist-Dateien für Sie zu erstellen, mein Favorit ist Lingon X .

Ich würde jedoch empfehlen, dass Sie sich zuerst an den Support für die App wenden, da dies zu unerwartetem Verhalten führen und die Funktionen beeinträchtigen kann. Selbst wenn Sie das Beenden jetzt erzwingen, wird es automatisch gestartet (es hängt vom Wert des Schlüssels "SuccessfulExit" ab).

danke @user14492. Mein Vorbehalt ist, dass Ihre Plist-Datei unter der KeepAliveBedingung angezeigt wird, dass SuccessfulExit? Mein Problem ist, dass das Programm (erfolglos) abstürzt und ich es neu starten muss? Vielversprechende Antwort.
@WalrustheCat Wenn SuccessfulExit wahr ist, wird der Job neu gestartet, solange das Programm beendet wird und der Exit-Status null (erfolgreich) ist. Wenn falsch, wird der Job im umgekehrten Zustand neu gestartet. In Ihrer Bedingung sollte es falsch sein, weil es, wie Sie sagen, abstürzt. Ich dachte, dass es erfolgreich beendet wurde. Sie können SuccesfulExit auch vollständig entfernen und den Wert von KeepAlive auf true setzen; das würde die ganze Zeit neu starten, aber dann ist es unmöglich zu töten, es sei denn, Sie deaktivieren/löschen die plist-Datei und starten neu. Es gibt auch einen Crashed Key für KeepAlive, das könnte man auch implementieren.
@WalrustheCat Denken Sie daran, dass dies alles ungetestet ist, ich habe kein BetterTouchTool und weiß nicht, warum es abstürzt. Sie sollten sich die Konsole ansehen und sehen, warum sie abstürzt, wenn Sie sie nicht verstehen; es wäre für den Entwickler immer hilfreich, ihm eine Mail mit den entsprechenden Logs zu schicken. Ich sehe auf der Seite, dass sich BetterTouchTool für 10.10 noch in der Beta befindet, das ist also der Grund, warum offene Betas gemacht werden.
BetterTouchTool hat Fehler. Es ist bekannt. Der Entwickler nimmt kein Geld oder Open Source, also muss man sich einfach darum kümmern. Perfekte Antwort, akzeptieren. Wenn ich Sie wäre, würde ich den Pfad so bearbeiten, dass er enthalten ist, .appund das SuccessfulExitFlag in ändern false, da dies BTT vor dem Absturz bewahrt. Sehr informativ, danke.
@ user14492 Ich sehe dasselbe Problem mit BTT; Ich sehe keinen vorhandenen Startagenten. Es sollte also keine Konflikte geben, wenn Sie einen Startagenten für BTT erstellen.

Öffnen Sie das Terminalfenster und fügen Sie es ein

while true; do open -Wg /Applications/BetterTouchTool.app; sleep 1; done
Wird das mein System verstopfen? Scheint wie Programmieren mit einer while trueSchleife. Blockiert alles.