web-dev-qa-db-ja.com

現在の端末で新しいタブを開き、新しいタブで実行するコマンドを渡すコマンド

gnome-terminalが新しいウィンドウを開くことを知っていますが、新しいウィンドウだけでなく、新しいタブを開く方法があるのでしょうか?

この後、新しいウィンドウにコマンドを渡す方法はありますか

gnome-terminal && cd /

結果として

  1. 新しいターミナルがオープン
  2. その後、新しいターミナルはcd /を実行します

[編集]これらの回答は、cmdを別の端末に渡す方法を示しますが、新しいTABを開く方法には答えません。これが私が望んでいることです。複数の端末を開いてほしくありません。

1
Jamie Hutber

GNOME Terminalは、既存のウィンドウで新しいタブを開くための一般的なコマンドラインソリューションを提供しません。

(なぜ?may複数のウィンドウを開いており、どのタブで新しいタブを開くかわからないからです。yoウィンドウは1つだけですが、そのような機能が実装された場合、ソフトウェアには一貫性が必要であり、複数のウィンドウがあるときに合理的なことを行う必要がありますが、実際にはできません。)

ユーザーがキーを押すことをシミュレートするなどのハックは、既に提出された回答に従って存在しますが、WaylandではなくX.Orgでのみ機能します。

今後のバージョン3.28以降、コマンドgnome-terminal --tabは、このコマンドが実行されるGNOMEターミナルウィンドウに新しいタブを開きます。ifこのコマンドはGNOMEターミナル内から実行されます。

(この場合、どのウィンドウで新しいタブを開くかはどのようにわかりますか?開いている各端末で特定の環境変数を異なる値に設定することにより、その環境変数が目的のウィンドウを見つけることができます。)

3
egmont

プレスをシミュレートする必要があります shift + ctrl + T ターミナルで。それを行うためのプログラムが存在します:

コマンドラインから実行する場合

たとえば、xdotool-キーボード入力をシミュレートできるプログラムを使用できます。

Sudo apt-get install xdotool

次に、ターミナルに入力します:

xdotool key ctrl+shift+t

これは、キーの組み合わせを押すことをシミュレートします。

2
Mahdi