Ändern Sie das standardmäßige ssh://-Verhalten

Derzeit ssh://öffnet der Protokoll-Handler den Link in einem neuen Terminal.app-Fenster. Ich möchte es standardmäßig so einstellen, dass es stattdessen in einem neuen Tab geöffnet wird. Wie kann ich dieses Verhalten ändern?

Hintergrundgeschichte: Ich verwende Alfred und einen Workflow, um meine SSH-Verbindungen zu öffnen. Der Workflow verwendet den ssh://Handler, um das Fenster zu öffnen.

Antworten (1)

Wenn es Ihnen nichts ausmacht, einige Befehlszeilen-Spielereien zu verwenden:

osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'

Dies stammt aus einer Stapelüberlauffrage zu einem ähnlichen Thema.

Wenn Sie möchten, können Sie sogar einen neuen URL-Handler erstellen (oder den ssh:// ersetzen) mit einem Shell-Skript, wie in einer anderen Stapelüberlauffrage beschrieben .

EDIT1: Sie können Befehlszeilenargumente von osascript abrufen, indem Sie Folgendes verwenden (aus der osascript-Manpage entnommen):

a.scpt:
on run argv
    return "hello, " & item 1 of argv & "."
end run


% osascript a.scpt world
hello, world.
Ich bin nah dran - ich habe eine App aus dem AppleScript erstellt, die eine neue Terminal-Registerkarte öffnet. Mit RCDefaultApp setze ich den SSH-Handler auf diese App. Es wird dann jedoch nicht ausgeführt ssh $PLACENAME- es öffnet nur die Registerkarte. Also muss ich die Parameter des ssh://Protokolls an das AppleScript übergeben, denke ich. Haben Sie irgendwelche Ideen?
Können Sie eine andere Zeile in Ihrem Skript haben, die besagt: "Anwendung mitteilen ..., dass sie auf Tastendruck "Echo-Test" ausführen soll"?
Ich kann, aber wie bekomme ich die URL aus dem ssh://Protokoll?
Ich bin mir ziemlich sicher, dass es in argv für jede Shell verfügbar ist, die Sie verwenden. Wenn Sie also bash verwenden, versuchen Sie, "echo $@" (vor dem Osascript) zu verwenden, um zu sehen, wie es aussieht.
Oh, ich habe es einfach direkt in eine AppleScript-App eingefügt, anstatt Shell zu verwenden. Hat AppleScript irgendwo Zugriff darauf?
Ja, Sie können auf die Applescript-Parameter zugreifen ... siehe bearbeitete Antwort.
Haben Sie Glück damit, dass dies funktioniert?