Shell

urxvt 不起作用,xterm 適用於同一命令

  • July 28, 2020

xterm -e 'sudo iotop -aP'工作

urxvt -e 'sudo iotop -aP'不工作

top命令對兩者都有效

知道發生了什麼嗎?

如何使它工作?

它在 xterm 中工作,因為 xterm 多次嘗試執行給定的命令或通過execvp-call執行命令。在第一種情況下,將所有標記-e視為單個字元串,在後者中,標記必須分開(用於 execvp 呼叫)。這是其與 介面的副作用,從手冊頁中提到luit的可能並不明顯:

當使用區域設置過濾器時,例如,通過**-e**選項或外殼,xterm首先嘗試通過該過濾器傳遞控制。如果失敗,xterm將在沒有區域設置過濾器的情況下重試。 Xterm 在重試之前警告失敗。

但是查看原始碼會更清楚(command_to_exec是用於-e選項的字元串數組,而組合的命令字元串是xterm****command_to_exec_with_luit**首次嘗試的)。

大多數終端仿真器不這樣做。

引用自:https://unix.stackexchange.com/questions/600731