当在 gnome 扩展中通过 captureScreenshot 函数进行截图时,会弹出一个窗口,并播放典型的拍照声音。extension.js:import {Extension} from 'reso...
在gnome扩展中截取屏幕截图时 captureScreenshot ,会弹出一个窗口,并播放典型的拍照声音。
扩展.js:
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as Screenshot from 'resource:///org/gnome/shell/ui/screenshot.js';
import Shell from 'gi://Shell';
export default class ExampleExtension extends Extension {
async enable() {
const shooter = new Shell.Screenshot();
const [content] = await shooter.screenshot_stage_to_content();
const texture = content.get_texture();
await Screenshot.captureScreenshot(texture, null, 1, null);
}
disable() {
}
}
弹出窗口:
如何安静地截取屏幕截图,不弹出窗口,不发出声音?例如,当外部应用程序通过 dbus API https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/blob/main/data/org.gnome.Shell.Screenshot.xml#L46 。在这种情况下,屏幕截图只是悄悄地添加到磁盘中,仅此而已。
Ubuntu 24.04,GNOME 46,Wayland
我正在从 gitHub (https://github.com/niobegrzegorzdec/lsd_slam) 构建并运行一个 ROS 项目,该项目专门为 Ubuntu 20.04 设置,安装了 ROS Noetic 和 catkin 工作区。我可以...
我正在从 gitHub( https://github.com/niobegrzegorzdec/lsd_slam )构建并运行一个 ROS 项目,该项目专为 Ubuntu 20.04 设置,安装了 ROS Noetic 和 catkin 工作区。我可以从 term 窗口构建项目并正常运行。我还可以使用 ROS VS 插件在 VS Code 中构建并启动它。我可以将 printf 语句添加到代码中,并在代码启动时查看它们的执行情况。
但是,如果我在 VS Code 中的代码中添加断点,即使在这些明确执行的 printf 语句处,它们也永远不会中断。
我浏览了 ROS 和其他博客,但一无所获(除了看到这似乎是一个非常常见的问题)。我知道在我上一份工作中,我们能够在 ros 节点中设置断点,所以这似乎是可能的。我猜是缺少一些环境变量或 setup.bash 来使可执行文件在 VS 代码中对 gdb 可见。现在我知道 catkin 构建的 ros 节点可执行文件位于 catkin_ws/devel/lib//,但也许 VS 出于某种原因没有在那里查找。
因此,当我构建并运行程序时,程序会启动并显示正确的数据。它还会打印出我添加到代码中的消息。但是当我在这些打印语句(或其他任何地方)设置断点时,我从 VS Code 中得到“包含此断点的模块尚未加载或无法获取断点地址”。
当我克隆另一个 github 项目 VS_Code_ROS 并在完全相同的 ROS/Catkin/VS 环境中构建它时,我可以设置断点并在这些断点处中断。但尽管它是一个 \'ROS\' 程序,它不会使用 ros 命令(如 roslaunch)启动。它实际上只是一个经典的 C++ 可执行文件。