Skript zum Öffnen von Tabs im Guake-Terminal


17

Ich benutze dieses Skript mit Gnome-Terminal:

#!/bin/sh
gnome-terminal --tab --title="1" --command="ssh 1" \
--tab --title="2" --command="ssh 2" \
--tab --title="3" --command="ssh 3" \
--tab --title="4" --command="ssh 4"
exit 0

Wie kann ich per Skript dasselbe tun, aber auf einem Guake-Terminal?


Antworten:


8

Haben Sie gelesen guake --help?

Usage: guake.py [options]

Options:
  -h, --help            show this help message and exit
  -t, --toggle-visibility
                        ?ndert die Sichtbarkeit des Terminal-Fensters.
  -p, --preferences     Zeigt die Einstellungen von Guake
  -a, --about           Zeigt Guake's Programminformationen
  -n NEW_TAB, --new-tab=NEW_TAB
                        Tab hinzuf?gen
  -s SELECT_TAB, --select-tab=SELECT_TAB
                        Tab ausw?hlen
  -g, --selected-tab    Return the selectd tab index.
  -e COMMAND, --execute-command=COMMAND
                        Eigenen Befehl im ausgew?hlten Tab ausf?hren
  -r RENAME_TAB, --rename-tab=RENAME_TAB
                        Gew?hlten Tab umbenennen
  -q, --quit            Sagt Guake das es verschwinden soll :o(

6
Obwohl es hilfreich ist, beantwortet es die Frage nicht. Wäre für andere hilfreich, wenn eine gründlichere Antwort gegeben würde.
Zachary Schuessler

Vielen Dank, dass Sie dies gepostet haben. Wir hätten uns die Hilfe ansehen müssen, mussten aber wissen, wie eine andere Anwendung die Sichtbarkeit umschalten kann. Dies guake -tist nur der Trick!
M1ke

6

Das funktioniert so: guake -n guake -e 'ssh 1' guake -r 'name_of_tab'

Dadurch wird eine neue Registerkarte geöffnet, der Befehl (in diesem Fall ssh 1) ausgeführt und die neu erstellte Registerkarte in "name_of_tab" umbenannt.


Dies scheint zu funktionieren, aber ich verstehe nicht die Verwendung mehrerer quakeToken im Befehl ...
Tom H

5

Versuche dies:

#!/bin/sh
guake -n "whatever" -r "1" -e "ssh 1"
guake -n "whatever" -r "2" -e "ssh 2"
guake -n "whatever" -r "3" -e "ssh 3"
guake -n "whatever" -r "4" -e "ssh 4"
exit 0

(Es stellt sich heraus, dass weder funktioniert guake -n "1" -e "ssh"noch guake -n "1" -s "1" -e "ssh 1", nur das Umbenennen der Registerkarten erledigt den Job)


1
#!/usr/bin/env bash
guake --rename-current-tab="tab0" --execute-command="ls" & 
sleep 1 && guake --new-tab="my/path" --rename-current-tab="tab1" --execute-command="ls" &
sleep 2 && guake --new-tab="my/path" --rename-current-tab="tab2" --execute-command="ls" &
exit 0

Guake startet einen Prozess und ein Follow-up Guake-Aufrufe senden Anweisungen an den laufenden Prozess.

Wenn Sie die obigen Schritte ausführen, werden alle 3 Zeilen auf einmal ausgeführt, da jede Zeile sofort in den Hintergrund tritt (endet mit &).
(1) Starten Sie guake und benennen Sie die Standardregisterkarte um.
(2) 1 Sekunde später senden wir den Befehl zum Öffnen eines neuen Tabs, benennen ihn um und führen den Befehl aus.
(3) +1 Sek. Später Befehle für 3 Tab senden

Der Schlüssel hier ist, den Schlaf nach jedem Anruf zu erhöhen, da sonst Befehle zu einem zufälligen Zeitpunkt eintreffen können und seltsame Dinge passieren


0

Ich habe mein eigenes Skript erstellt, um dasselbe Verhalten (mit unterschiedlichen Befehlen) zu erzielen, basierend auf der Antwort von Panayiotis Orphanides. und hier ist es auf Ihre Bedürfnisse angepasst:

#!/bin/sh
guake -n guake -e 'ssh 1' guake -r '1'
guake -n guake -e 'ssh 2' guake -r '2'
guake -n guake -e 'ssh 3' guake -r '3'
guake -n guake -e 'ssh 4' guake -r '4'
exit 0

Ich kann mir keinen besseren Weg vorstellen, würde mich aber über Kommentare freuen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.