Скрипт для открытия вкладок в терминале Guake
Я использую этот скрипт с терминалом 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
Как я могу делать то же самое по сценарию, но на терминале Guake?
4 ответа
Вы читали 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(
Это работает так: guake -n guake -e 'ssh 1' guake -r 'name_of_tab'
Это откроет новую вкладку, выполнит команду (в данном случае ssh 1) и переименует вновь созданную вкладку в "name_of_tab".
Попробуй это:
#!/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
(Оказывается, что ни guake -n "1" -e "ssh"
ни guake -n "1" -s "1" -e "ssh 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 запускает один процесс, и последующие вызовы Guake отправляют инструкции запущенному процессу.
Поэтому выполнение вышеупомянутого запускает все 3 строки за один раз, так как каждая из них сразу переходит в фоновый режим (заканчивается на &).
(1) запустить Guake и переименовать вкладку по умолчанию;
(2) через 1 секунду мы отправляем команду, чтобы открыть новую вкладку, переименовать ее, запустить команду;
(3) +1 сек позже отправьте команды на 3 вкладки
Ключевым моментом здесь является увеличение сна после каждого вызова, в противном случае команды могут поступать в произвольное время, и произойдут странные вещи
Я создал свой собственный сценарий для достижения того же поведения (с разными командами) на основе ответа Panayiotis Orphanides; и вот он адаптирован к вашим потребностям:
#!/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
Я не могу придумать лучшего пути, но я был бы признателен за любые комментарии