X11 窗口管理器历来有屏幕的概念 - 每个屏幕都有一组不同的窗口,您可以使用相同的物理显示器在它们之间进行切换。
我正在录制截屏视频,因此我非常希望有一个较小的辅助 X11 屏幕,在该屏幕上显示一些窗口,同时保持主屏幕内容完整和隐藏。所以我想在一个窗口中有一个虚拟屏幕,其中包含其他窗口。然后我可以简单地抓住这个窗口来进行截屏视频。我怎么做?
我更喜欢原生 X11 方法(也许有窗口管理器可以轻松做到这一点?)
也许有一种方法可以声明一个虚拟监视器供 X11 服务器使用,最终显示为一个窗口?
如果做不到这一点,我想我可以使用 Xvfb 或 VNC,但显然它更难设置。也许还有其他一些流行的方法?
答案1
Xephyr(如果您的发行版提供了它)。 Xephyr 或其前身 Xnest。运行Xephyr :1
,它开始显示一个窗口。然后运行DISPLAY=:1 rxvt
或DISPLAY=:1 xfwm4
,这样终端就会出现在 Xephyr 显示中,或者让窗口管理器管理 Xephyr 显示中的窗口。该-size
参数控制 Xephyr 窗口的大小,例如Xephyr -size 1024x768
。
答案2
您可以使用眯为了这个目的:https://github.com/a-ba/squint/
它最初设计用于在进行演示时提供外部显示器的反馈,但它也适用于虚拟显示器(例如:用于在视频会议中共享屏幕)。它不需要您处理额外的 X 服务器。
你可以这样做:
xrandr --addmode VIRTUAL1 1024x768
xrandr --output VIRTUAL1 --mode 1024x768 --right-of HDMI1
设置虚拟监视器,然后运行:
squint -w
现在,当您将鼠标指针移动到右侧屏幕时,会弹出一个包含其内容的窗口。您可以抓取该窗口的内容来录制您的截屏视频。