X11

在視窗中顯示 X11 虛擬螢幕

  • January 29, 2021

X11 視窗管理器歷來都有螢幕的概念——每個螢幕都有一組不同的視窗,您可以使用相同的物理顯示器在它們之間切換。

我正在錄製一個截屏影片,所以我真的很想有一個較小的 X11 輔助螢幕,在這個螢幕上將顯示一些視窗,同時保持我的主螢幕的內容完整和隱藏。所以我想在一個視窗中有一個虛擬螢幕,它將包含其他視窗。然後我可以簡單地抓住這個視窗進行我的截屏影片。我怎麼做?

我更喜歡原生 X11 方法(也許有視窗管理器可以輕鬆做到這一點?)

也許有一種方法可以聲明一個虛擬監視器供 X11 伺服器使用,最終顯示為一個視窗?

如果做不到這一點,我想我可以使用 Xvfb 或 VNC,但顯然它更難設置。也許還有其他一些流行的方法?

Xephyr,如果你的發行版發貨的話。Xephyr 或其前身 Xnest。執行Xephyr :1,它開始顯示一個視窗。然後執行DISPLAY=:1 rxvtor DISPLAY=:1 xfwm4,這樣終端就會出現在 Xephyr 顯示中,或者讓視窗管理器管理 Xephyr 顯示中的視窗。該-size參數控制 Xephyr 視窗的大小,例如Xephyr -size 1024x768.

您可以為此目的使用斜視: https ://github.com/a-ba/squint/

它最初設計用於在進行展示時提供外部監視器的回饋,但它也適用於虛擬監視器(例如:用於在影片會議中共享螢幕)。它不需要您處理額外的 X 伺服器。

您可以執行以下操作:

xrandr --addmode VIRTUAL1 1024x768
xrandr --output  VIRTUAL1 --mode 1024x768 --right-of HDMI1

設置虛擬監視器,然後執行:

squint -w

現在,當您將滑鼠指針移動到右側螢幕時,會彈出一個包含其內容的視窗。您可以抓取該視窗的內容來錄製您的截屏影片。

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