web-dev-qa-db-ja.com

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

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

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

誰もが経験がありますか?

1
J.R.

-xよりも信頼性の高い作業を提供する-eオプションを使用することをお勧めします。

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • オプション-xは、--execute-端末内のコマンドラインの残りの部分を意味します。

  • そして、私たちのコマンドはbash -c "<commands>"です。つまり、新しいbash Shellを実行します。これにより、いくつかの-c "<commands>"が実行されます。

  • セミコロン; == new lineで区切られた2つの<commands>があります。

  • 最初のコマンド<my command or script>が実行されます。

  • 2番目のコマンドexec bashには意味があります-現在のgnome-terminalウィンドウを開いたままにします。 別の可能なアプローチ があります。現在の場合、コマンドexec現在のプロセスイメージを新しいプロセスイメージに置き換えます-つまり、現在のプロセスを「強制終了」し、現在のPIDの下の新しい(bash)。


更新:-x/-e構文は廃止されました-Ubuntu 18.04。新しい推奨方法は次のとおりです。

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

この形式の使用例:

3
pa4080

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

0
John Anderson

簡単にできます CTRLALTT 新しいターミナルを開きます。

gnome-terminal -e "bash -c command;bash"を試してください

0
lapisdecor

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

xterm -hold -e cmd

Holdオプションは、ウィンドウを開いたままにします。

0
John Anderson