追加のコンソールを開いて、1 つのコマンドでプログラムを実行するにはどうすればよいでしょうか?

追加のコンソールを開いて、1 つのコマンドでプログラムを実行するにはどうすればよいでしょうか?

つまり、gnome-terminal または xterm と入力すると、新しいウィンドウがポップアップ表示されることがわかっています。次に、これら 2 つのマニュアル ページを確認しましたが、関連するものは見つかりませんでした。

その後、Mac ではプログラムを開いたまま実行できることに気付きました。しかし、Linux ではそれほど簡単ではないようです。

経験のある方はいらっしゃいますか?

答え1

アップデート:新しく推奨される構文は次のとおりです。

gnome-terminal -- bash -c "<my command or script>; exec bash"
  • 上記のコマンド内でユーザーのホーム ディレクトリにアクセスする場合は、環境変数を使用します$HOMEbash -c "cd $HOME/; ..."

見てみるとman gnome-terminal(およびgnome-terminal --help) オプション-xとが-e使用可能です (非推奨であると明示的には書かれていません) が、そこにあるすべての例は上記の構文で示されています。


-xより信頼性の高い作業を提供するオプションを使用することを好みます-e:

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • オプション-x--execute - ターミナル内のコマンド ラインの残りの部分。

  • コマンドは ですbash -c "<commands>"。つまり、新しいbashシェルを実行し、 を実行することになります-c "<commands>"

  • 2 つが (セミコロンで; == new line)区切られています<commands>

  • 最初のコマンドは、<my command or script>必要なコマンドを実行します。

  • 2番目のコマンドはexec bash、現在のウィンドウを開いたままにするという意味ですgnome-terminal他の可能なアプローチこれを行うには、現在のケースでは、コマンドexec現在のプロセスイメージを新しいプロセスイメージに置き換える- つまり、現在のプロセスを「強制終了」し、bash現在の PID で新しい ( ) を実行します。


この形式の使用例:

答え2

ウィンドウを開いたままにする別の方法は、xterm を使用することです。

xterm -hold -e cmd

ホールド オプションを選択すると、ウィンドウは開いたままになります。

答え3

gnome-terminal -e cmdターミナル ウィンドウが開き、cmdその中で実行されます。

答え4

簡単に実行できCTRLALTT、新しいターミナルが開きます。

試すgnome-terminal -e "bash -c command;bash"

関連情報