Skrypt do otwierania kart w terminalu Guake

17

Używam tego skryptu z terminalem gnome:

#!/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

Jak mogę zrobić to samo za pomocą skryptu, ale na terminalu Guake?

TbMa
źródło
Związane z SU: superuser.com/questions/75895/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

8

Czytałeś 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(
dAnjou
źródło
6
Chociaż jest pomocny, nie odpowiada na pytanie. Byłoby pomocne dla innych, gdyby udzielono dokładniejszej odpowiedzi.
Zachary Schuessler,
Dzięki za opublikowanie tego, wyraźnie powinienem po prostu spojrzeć na pomoc, ale potrzebowałem wiedzieć, w jaki sposób inna aplikacja może przełączać widoczność - guake -tto tylko sztuczka!
M1ke
6

Działa to tak: guake -n guake -e 'ssh 1' guake -r 'name_of_tab'

Spowoduje to otwarcie nowej karty, wykonanie polecenia (w tym przypadku ssh 1) i zmianę nazwy nowo utworzonej karty na „nazwa_tabeli”.

Panayiotis Orphanides
źródło
wydaje się, że to działa, ale nie rozumiem użycia wielu quaketokenów w poleceniu ...
Tom H
5

Spróbuj tego:

#!/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

(Okazuje się, że ani guake -n "1" -e "ssh"nie guake -n "1" -s "1" -e "ssh 1"działa, tylko zmiana nazw kart działa)

Tomasz Zieliński
źródło
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 rozpoczyna jeden proces, a kolejne połączenia Guake wysyłają instrukcje do uruchomionego procesu.

Dlatego wykonanie powyższego uruchamia wszystkie 3 wiersze za jednym razem, ponieważ każdy natychmiast przechodzi w tło (kończy się na &).
(1) uruchom guake i zmień nazwę domyślnej karty;
(2) 1 sekundę później wysyłamy polecenie, aby otworzyć nową kartę, zmienić nazwę, uruchomić polecenie;
(3) +1 s później wyślij polecenia dla karty 3

Kluczem tutaj jest zwiększenie snu po każdym połączeniu, w przeciwnym razie polecenia mogą nadejść w losowym czasie i zdarzają się dziwne rzeczy

Ssonic
źródło
0

Stworzyłem własny skrypt, aby osiągnąć to samo zachowanie (z różnymi poleceniami) w oparciu o odpowiedź Panayiotis Orphanides; i tutaj jest dostosowany do twoich potrzeb:

#!/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

Nie mogę wymyślić lepszego sposobu, ale byłbym wdzięczny za wszelkie komentarze

vabada
źródło