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.