一个想写一个简单的工具,可以在 Wayland 上截屏。我对它与 Xorg 完全不同的理解是否正确?任何人都可以给我任何例子吗?
3 回答
你的问题有点不明确。只要Weston
使用Wayland
. 它内置了此功能。您可以用来Super + S
截取屏幕截图并Super + R
以*.wcap
格式录制视频,然后您可以将其转换为*.webm
视频。
如果您真的对编写这样的工具感兴趣,那么您应该查看Weston
这里的源代码:http: //cgit.freedesktop.org/wayland/weston并找到相关部分。
是的,截屏在 Wayland 下的工作方式与在 Xorg 下的工作方式完全不同。
按照设计,Wayland 比 X11 安全得多,并且不允许一个应用程序捕获其他应用程序窗口的内容,这意味着基于 X11 的屏幕截图工具无法在 Wayland/Xwayland 下运行。
https://bugs.freedesktop.org/show_bug.cgi?id=98672
对不起,我不能告诉你它有什么不同,只是它不同。
我曾经使用快门,但 Wayland 失败了。
gnome-screenshot 可与 Wayland 一起使用,但在抓取后直接重命名文件时,它本身就很笨重。
我制作了 2 个脚本:shut.sh
#!/bin/sh
# call me shut.sh
gnome-screenshot -a -f /path/to/temp/grabcache.png
gnome-terminal -e "bash grabname.sh"
和grabname.sh
#!/bin/sh
# call me grabname.sh
read -p "Name for grab? " grab
cp /path/to/temp/grabcache.png /where/you/want/it/$grab.png
nautilus /path/to/temp
现在定义一个热键来运行shut.sh。您需要指定每个脚本的确切路径,除非您将脚本保存到 shell 的 $PATH 变量中的某个位置。
然后,当您按下按键时,屏幕上会出现一个十字准线,供您选择抓取目标。这会将grabcache.png 保存到/path/to/temp。
完成后,终端将打开并询问您将grabcache.png 复制到/where/you/want/it 中的$grab 的文件名。然后,nautilus 应该会打开以显示新的重命名抓取。如果 nautilus 已经打开,您可能需要手动按 ALT-TAB 键。