web-dev-qa-db-ja.com

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ターミナルで行うにはどうすればよいですか?

16
TbMa

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(
7
dAnjou

次のように機能します: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"も機能せず、タブの名前を変更するだけで機能することがわかりました)

5
#!/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は1つのプロセスを開始し、フォローアップのGuake呼び出しが実行中のプロセスに指示を送信しています。

したがって、上記を実行すると、3行すべてが一度に実行され、各行がすぐにバックグラウンドになります(&で終わる)。
(1)guakeを起動し、デフォルトタブの名前を変更します。
(2)1秒後に、新しいタブを開くコマンドを送信し、名前を変更して、コマンドを実行します。
(3)+1秒後に3タブのコマンドを送信

ここで重要なのは、各呼び出しの後にスリープを増やすことです。そうしないと、コマンドがランダムなタイミングで到着し、奇妙なことが起こります

0
Ssonic

私は、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

もっと良い方法は考えられませんが、コメントをいただければ幸いです

0
vabada