Terminal
擷取 tmux 狀態欄內容
我為 tmux 編寫了一個外掛tmux-gitbar,它向 tmux 狀態欄添加了一些關於目前 Git 工作樹的資訊(本地和遠端分支的名稱,工作樹是否乾淨?等)。所以基本上它是在修改 tmux 狀態欄的內容。
我目前正在編寫一套自動化測試,我想擷取 tmux 狀態欄的實際內容以執行一些檢查。
我嘗試使用 unix
script
工具,也使用ttyrec
,都用於實現終端會話記錄。他們抓取整個終端內容,但不抓取狀態欄。我該怎麼做?
編輯:
事實上,我能夠同時使用
script
和擷取 tmux 狀態欄ttyrec
。為此,我只需要在啟動 tmux 之前執行它們。當這些工具抓取目前終端時,它們不知道您啟動 tmux 的父終端。在啟動它們之前tmux
讓它們看到 tmux 創建其狀態欄的終端行和列。不過,我仍在尋找另一種解決方案,因為我發現解析由我的集成測試套件生成
script
或ttyrec
作為其一部分的二進製文件並不是很穩定。然而,一個工具看起來很有希望:一個用 python 編寫的 vt100 模擬器庫,但我仍然願意接受建議/解決方案。
回答我自己的問題。
經過一番研究,是的,我找到了一種可靠的方法來擷取任何基於終端的應用程序的輸出:使用VT100 終端仿真器。
VT100現在是所有虛擬終端應用程序的事實標準,
tmux
是一個與終端互動的應用程序,它的內容和狀態欄都可以被廢棄。我使用的庫是pyte,它可以很好地完成這項工作。
可能還有很多其他的