スクリプトを使用して端末を開き、9つの端末に分割して切り替えるにはどうすればよいですか?

スクリプトを使用して端末を開き、9つの端末に分割して切り替えるにはどうすればよいですか?

端末を開き、9つの部分(3x3)に分割し、いくつかのbashスクリプトを実行したいと思います。ただし、各端末部分に異なるスクリプトがあります。

Perl、Python、またはBashを使用してこれを実行できますか?

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

ああ、ところで私はterminator

答え1

自分を盗むこと、希望の設定でプロファイルを設定できます(ガイドラインは以下で修正されます)。ここ):

  1. terminator必要なレイアウトを実行して設定します。 ++を使用してウィンドウを垂直に分割し、Ctrl++(つまりゼロ以外のO)を使用してウィンドウを水平に分割することができます。この例では、6つのウィンドウで構成されるレイアウトを作成しました。ShiftECtrlShiftO

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

  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 [email protected]'
           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]
    

最終的な結果は、実行時にterminator6つのウィンドウを開き、各ウィンドウはユーザーが指定したコマンドを実行または実行していることです。

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

また、必要に応じてさまざまなプロファイルを設定し、プロファイル-p名を提供するスイッチを使用してターミネータを実行したり、実行後に目的のプロファイルに手動で切り替えることもできます。

答え2

ターミナルマルチプレクサtmuxをお探しですか?

https://github.com/tmux/tmux

答え3

このrcファイルを使用するときは、terminatorそれを使用して複数の端末を開き、アプリケーションを実行します。に保存してください.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の投稿はとてもフレンドリーです!

答え4

ターミネータ端末エミュレータ分割のためのラッパースクリプト https://github.com/AlekseyChurdov/terminator-split

関連情報