xtermが同じコマンドで動作している間、urxvtは機能しません。

xtermが同じコマンドで動作している間、urxvtは機能しません。

xterm -e 'sudo iotop -aP'仕事を
urxvt -e 'sudo iotop -aP'しないでください。

topこのコマンドは両方とも動作します。

何が起こったのか知っていますか?
どのように機能させるのですか?

答え1

xtermは与えられたコマンドを実行または渡すために何度も試みるので、xtermで動作します。execvp 呼び出し。最初のケースでは、次のすべてのトークンが-e単一の文字列として扱われ、後者の場合、トークンは次のようになります。分離(execvp呼び出しの場合)。これはインターフェイスの副作用です。luit、明らかではないかもしれないマニュアルページに記載されています。:

たとえば、ロケールフィルタを使用する場合は、次のようにします。-eオプションまたはシェル、xtermまず、このフィルタを使ってコントロールを渡してみてください。失敗した場合、xtermロケールフィルタなしで再試行します。 Xterm 再試行する前に失敗について警告します。

しかし、報告ソースコードより明確になります(command_to_exec次に使用される文字列の配列です。-eオプション、しかしcommand_to_exec_with_luitコマンド文字列を結合する最初の試みです。xterm)。

ほとんどの端末エミュレータはこれを行いません。

答え2

引用符の削除が機能します。

urxvt -e sudo iotop -aP

関連情報