Terminal
如何在 FreeBSD 上的 xterm 中隱藏全屏 CLI 程序輸出?
當我在 xterm 中使用 Ubuntu 上的全屏 CLI 程序(如 less 或 vim)然後退出它時,該程序的全屏輸出不再可見。然而,當我在 FreeBSD 上做同樣的事情時,全屏輸出只是停留在那裡,在下一個命令的行上方。有沒有辦法在 FreeBSD 上啟用前一種行為,例如使用 Bash 選項?
FreeBSD 對 “xterm” 的 termcap 定義省略了備用螢幕轉義序列。以前在這裡討論過。您可以採取一些解決方法,例如(因為他們
rxvt
單獨留下了條目):#!/bin/sh TERM=rxvt tput ti less "$@" TERM=rxvt tput te
這將“起作用”,因為 rxvt 在這種情況下使用 xterm 轉義序列。簡單地設置
TERM=rxvt
在您的環境中不會產生好的結果,但是這件作品很有用。或者,您可以修改
/etc/termcap
並重新編譯終端數據庫。作為參考,這裡是刪除備用螢幕的更改的連結:dougb 修訂版 200503,2009 年 12 月 14 日星期一 07:18:31 UTC
變更意見
將一些範例 xterm*-clear 條目添加到 termcap 文件,以使人們更容易啟用該行為。
但這樣做的缺點是(再次)如果您想將它傳遞給遠端機器(當然 FreeBSD 除外),您將無法在您的 shell 中使用它。這些“xterm*-clear”條目都不會出現在 Ubuntu 中。
進一步閱讀:
- cap_mkdb - 創建能力數據庫(用於編譯終端數據庫的工具)
- GNU 螢幕:使用 -d -m 時出現奇怪的 TERMCAP(提到 FreeBSD 的更改)