xtermでコマンドを実行して閉じる

xtermでコマンドを実行して閉じる

xterm でプログラムを実行し、プログラムを実行したまま xterm を閉じようとしていますが、期待どおりには動作しないようです。

bash にはオプションがありますが、bash -c [command]xterm にも何かありますか? 現在使用していますxterm -e [command]が、これにより、プログラムが終了するまで xterm ウィンドウが開いたままになります。ただし、それを開いてプログラムを実行し、閉じてプログラムを実行したままにしたいのです。

使用していないのに、なぜ xterm 経由でプログラムを起動させたいのでしょうか? 別のコンピューターの xpra 経由でこれを呼び出していますが、別の PC の環境で必要なため、プログラムを起動することしかできません。

それを実行する方法はありますか?

答え1

必要ないと思いますxprassh良い選択です

ssh user@hostname /path/to/program

またはssh+screen

ssh user@hostname "screen /path/to/program"

またはxpra+screen

xpra user@hostname "screen /path/to/program"

答え2

仕組みがわからないようですね。プログラムを実行するのに端末は必要ありません。

xtermプロセスを開始して終了できるように開始するxterm」は「プロセスを開始する」に簡略化され、完全に除外できますxterm

あなたが探しているのは

nohup command >command.out 2>command.err &

これはcommandバックグラウンド プロセスとして開始され ( のため&)、出力は にcommand.out、エラー メッセージは に送信されますcommand.err

出力やシグナル処理を気にしないのであればnohup、単に

command &

これでは、バックグラウンド コマンドと対話することはできません (ただし、 を閉じても対話できないxtermため、その必要はないと思います)。これを実行できるようにするには、切断して後で再接続できる仮想端末でプログラムを実行できる または をscreen検討してください。tmux

関連情報