我在 .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 "
。