Tty

如何在控制台中截屏(沒有 X)?

  • October 21, 2020

我的上網本在沒有 X.org 的 Debian Linux 上執行。我有時需要對腳本的輸出進行截圖。為此,我嘗試使用幀緩衝設備:

# cat /dev/fb0 > screenshot.raw

但問題是這個.raw文件不是圖形格式,因為它甚至不能用 GIMP 打開。例如,如何將其轉換為.png文件?

您擷取的原始文件的格式將取決於位深度和解析度。

有許多工具可以做到這一點。Debian 有這個fbcat軟體包。您可能需要sudo apt-get install fbcat安裝它。

fbcat將抓取ppm格式的幀緩衝區,因此您可以使用ppmtojpeg或類似的方法將其轉換為您想要的格式。

還有一個fbgrab包裝器可以保存為 PNG 格式。

您可以使用該sudo setterm --dump命令將目前 tty 的內容列印到文本文件中,預設輸出為screen.dumpfile。該--file選項可用於獲取自定義輸出文件名:sudo setterm --dump --file screen0.dump.

man setterm:

--dump [console_number]

將具有給定編號的虛擬控制台的快照寫入--file選項指定的文件,覆蓋其內容;預設為 screen.dump。如果沒有參數,它會轉儲目前的虛擬控制台。這會覆蓋--append.

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