Gnu 畫面:指令的字元數限制約為 100 個 - 無法變更硬狀態

Gnu 畫面:指令的字元數限制約為 100 個 - 無法變更硬狀態

我在 .screenrc 檔案中設定了 Hardstatus 行:

hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
# This is 127 characters

我經常登入與其他使用者共享的遠端伺服器,這些使用者擁有自己最喜歡的硬狀態行。我想透過在啟動會話後將其作為命令輸入來更改螢幕會話的硬狀態。不幸的是,螢幕在達到大約 100 個字元後停止接受命令輸入。

當我談論螢幕命令時,我指的是綁定ctrl+後輸入的命令a :

有沒有辦法將螢幕命令字元限制增加到 100 個字元以上,或者有其他方法可以在不更改 .screenrc 檔案的情況下設定硬狀態?在會話啟動後更改它的解決方案將是首選,但如果可能的話,啟動螢幕時的命令列選項將是一個不錯的選擇。

解決該問題的一種方法是將 Hardstatus 行放入檔案中並輸入ctrl+ a :source <file>,或在啟動畫面後鍵入以下內容:

screen -p <SESSION_NAME or PID> -X hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'

但我真的很想知道如何增加命令的字元限制。

先謝,

馬修

答案1

你不能; 100 個字元的限制是硬編碼的(我認為上限是在螢幕/src/input.c,但函數呼叫者可能會先提供較短的緩衝區,因此這可能不是唯一需要修補的地方)。

作為打字強度較低的解決方案,我建議添加一個.screenrc-DarthAndroid首先調用的解決方案source .screenrc,然後添加您首選的覆蓋設定;然後,建立一個 shell 別名myscr="screen -c ~/.screenrc-DarthAndroid "

相關內容