ターミナルを開き、9つのターミナルに分割し、1つのスクリプトを使用してそれらを切り替える方法


17

ターミナルを開き、9個の部分(3x3)に分割してbashスクリプトを実行したいと思います。ただし、各端末部分ごとに異なるスクリプトがあります。

これは、perl、python、またはbashを使用しても実行できますか?

キーボードショートカットを使用せずにこれらの小さな端末を切り替えるにはどうすればよいですか?

ああ、ところで、私はを使用していterminatorます。そして、そのような機能を有効にする他の端末エミュレータがある場合、それはどれですか?


terminatorシェルではありません。二つの異なる存在する端末エミュレータと呼ばれるterminator(一つだけ、私は画面を分割することができると信じているのは)。
ステファンシャゼル14年

ああ、ありがとう..その後、terminatorスクリプトを使用して分割する方法を知りたいですか?:)そして、それらの部分を切り替えますか?
ジリスラフ14年

1
私はそれを使ったことがなく、今すぐ調査する時間もありませんが、リモートシステムで端末を実行している場合、ビオブが役立つと思います(help.ubuntuを参照)。 COM /コミュニティ/屏風。Byobuは多くの* nixディストリビューションで実行されています
クライブヴァンヒルテン14年

1
@ClivevanHiltenが言及し、ここ答えたように、友好的なByobu(デフォルトではtmuxの上に置かれます)で行うことができます。
パブロA

回答:


34

自分自身を盗用するために、希望の設定でプロファイルを設定できます(ここから適応される指示):

  1. を実行しterminator、必要なレイアウトを設定します。Ctrl+ Shift+ Eを使用してウィンドウを垂直に分割し、Ctrl+ Shift+ O(ゼロではなくoodlesのO)を使用して水平に分割できます。この例では、6つのペインを持つレイアウトを作成しました。

    ここに画像の説明を入力してください

  2. terminatorウィンドウを右クリックして、「設定」を選択します。[設定]ウィンドウが開いたら、[レイアウト]に移動して[追加]をクリックします。

    ここに画像の説明を入力してください

  3. これにより、新しいレイアウトがレイアウトリストに追加されます。

    ここに画像の説明を入力してください

  4. レイアウトで作成した各ターミナルを見つけてクリックし、右側に起動時に実行するコマンドを入力します。

    ここに画像の説明を入力してください

    重要:コマンドの後にはが続くことに注意してください; bash。そうしないと、指定したコマンドを実行して終了するため、ターミナルにアクセスできません。端末を使用できるようにするには、各コマンドの後にシェルを起動する必要があります。

    すべてのコマンドを設定したら、「閉じる」をクリックして終了しterminatorます。

  5. 構成terminatorファイル~/.config/terminator/configを開き、デフォルト構成のレイアウトの下のセクションを削除します。次に、作成したレイアウトの名前をデフォルトに変更します。次のようになります。

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 cchapple@139.124.66.43'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]

最終結果は、実行terminatorすると6つのペインで開き、それぞれが指定したコマンドを実行または実行しています。

ここに画像の説明を入力してください

また、必要な数の異なるプロファイルを設定し-p、プロファイル名を指定したスイッチでターミネーターを起動するか、起動後に必要なプロファイルに手動で切り替えることができます。


タードン、ありがとう!これはおそらく私がその設定ファイルを書くことを学んだ場所です!
dotancohen

@dotancohen私が助けてくれたことを聞いてうれしい:)
テルドン

1
わお!「; bash」は私の命を救ってくれました。
エティエンヌ

「ターミナルを使用するには、各コマンドの後にシェルを起動する必要があります。」すごい-最初に試したとき、これはまったく直感的ではありませんでした。これを自動的に有効にするには、何らかの種類のチェックボックスを含める必要があります。
dtmland


3

私がterminatorこれを使用していたときに戻ってきたのは、たくさんの端末を開いてアプリケーションを実行するために使用したrcファイルです。に保存します.config/terminator/config

[global_config]
  title_hide_sizetext = True
  enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
  [[default]]
    font = DejaVu Sans Mono 9
    cursor_blink = False
    scrollback_infinite = True
[layouts]
  [[default]]

    [[[root]]]
      position = -4:0
      type = Window
      order = 0 
      parent = ""
      size = 1072, 1884

    [[[grand]]]
      position = 536 
      type = HPaned
      order = 0 
      parent = root
    [[[left]]]
      position = 942 
      type = VPaned
      order = 0 
      parent = grand
    [[[right]]]
      position = 942 
      type = VPaned
      order = 1 
      parent = grand



    [[[terminal1]]]
      profile = default
      type = Terminal
      order = 0 
      parent = left
      command = "cd ~/code/foo; bash"
    [[[terminal2]]]
      profile = default
      type = Terminal
      order = 1 
      parent = left
      command = "cd ~/bar/baz; bash"



    [[[terminal3]]]
      profile = default
      type = Terminal
      order = 1 
      parent = right
      command = ""
    [[[terminal4]]]
      profile = default
      type = Terminal
      order = 0 
      parent = right
      command = "cmus; bash"



[plugins]

編集:この情報は、おそらくはるか以前のスレッドに関するTerdonの投稿からのものであることに注意してください。私はこのセットアップを数か月間使用していますが、Terdonのここでの投稿はとても馴染みのあるものです!


これは私が探していたものです-ターミナルを分割して特定のスクリプトを実行する方法-ありがとう!しかし、このように毎回実行するのは嫌です。私が必要とするものに応じて、これらの構成をより多く持ち、それぞれを開く可能性はありますか?パラメータ--config2または--config1を追加してみましょう。
ジリスラフ14年

構成ファイルを追加するのではなく、構成ファイルにセクションを追加します。Terdonの投稿を参照してください。彼は非常によく説明しています。実際、以前のスレッドでの彼の投稿からこれを学びました。
dotancohen

ああ、わかりました...したがって、私は彼の答えを最も役立つものとして受け入れました。とにかくありがとう。
ジリスラフ14年

良い選択!情報は彼の苦労から生まれたので、私は実際に彼の答えを受け入れることを提案したかった!
dotancohen

2

ターミネーターターミナルエミュレーターを分割するためのラッパースクリプト https://github.com/AlekseyChudov/terminator-split


2
ここに関連情報を含める必要があります。githubが削除されると、答えは潜在的な価値をすべて失います。
アントン

1
良いように思えますが、このスクリプトを実行するにはどうすればよいですか?
サチン

1
terminator-split多くの可能性を持っているが、異なるスプリットに異なるコマンドを実行する方法がないように思われ、-m例に示されている引数は、使用の要約に記載されていない
bitinerant
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.