为什么 PrintScreen 对话框没有出现在 Gnome 中?

为什么 PrintScreen 对话框没有出现在 Gnome 中?

gnome-shell我在 Ubuntu 12.04 上使用。当我PrtSc点击截屏时,它可以工作,但它会自动将截图保存在我的图片文件夹中。没有询问保存位置的对话框。但它确实在 Unity 下显示对话框。

答案1

假设我读过这篇文章错误报告正确地……

这是设计使然。事实并非如此!

评论#37 及以后讨论了这个问题。

当前的 Unity 补丁状态:

在 Unity 会话中使用按键绑定截屏后会显示一个确认对话框,自动保存行为会让用户感到困惑

线程继续:

但当我不使用 Unity 时,您的修复不起作用。您为什么认为这仅适用于 Unity 用户?

回复如下:

因为 GNOME 上游和 GNOME 用户不断要求我们不要干涉他们的桌面,而是按照设计发布,所以我们尝试这样做,我们坚持 GNOME 环境的上游行为,并为 Unity 做出设计决策

所以你明白了。Gnome 开发人员坚持认为他们的桌面环境应该以这种方式运行。这是一个上游问题。Canonical 开发人员尊重这一决定,因此出现了“分歧”——Unity 用户有另存为对话框,而 gnome-shell 用户有按设计没有对话功能。

因此,如果您使用 gnome-shell/gnome-classic,所有屏幕截图都会保存在您的主图片文件夹中~/Pictures

笔记:gsettings您可以使用(命令行)或dconf-editor(GUI)覆盖屏幕截图位置:

  • 设置org.gnome.gnome-screenshot auto-save-directoryfile:///home/yourusername/wherever/you/want

答案2

我迟到了,但我刚刚偶然发现了这一点,想提供一个稍微不同的答案。

基本上,在最新的 Gnome 3 / Gnome Shell 中,它们是不再使用 Gnome 截图。这意味着对 Gnome-Screenshot 的默认设置(如默认保存位置)的任何更改都不会影响任何内容。

相反,您需要转到键盘设置,禁用“将屏幕截图 […] 保存到图片”快捷方式,并添加您自己的自定义快捷方式,这些快捷方式gnome-screenshot无需参数即可调用(自动保存到其 gsettings 定义的位置)、-a(保存区域)、-w(保存当前窗口)或-i(如果您想要返回选项对话框)。您显然可以混合搭配一些设置,或者从中添加更多设置man gnome-screenshot

答案3

尝试使用 Shutter,它是最好的屏幕捕获工具(正如其网站所说:)

sudo add-apt-repository ppa:shutter/ppa    
sudo apt-get update && sudo apt-get install shutter

应用网站:http://shutter-project.org/

要将 Shutter 配置为按 PrtSc 或 Alt+PrtSc 时截取屏幕截图的默认工具,您需要执行以下操作:

侏儒:

1 转到 Shutter 中的编辑 ▸ 首选项
2 在键盘选项卡中,启用“捕获”和“选择捕获”复选框:
3 就是这样!现在常用的 PrtSc 和 Alt+PrtSc 键绑定将使用 Shutter 来截取屏幕截图。

答案4

也许有人觉得这很有用:为了恢复此功能,我将 v3.18.0 二进制文件复制到/usr/bin/gnome-screenshot,禁用了“将区域的屏幕截图保存到图片”的系统热键,并使用以下命令创建了一个新的快捷方式/usr/bin/gnome-screenshot -a -i

缺点:没有它-i我只能选择要复制到剪贴板的区域(已经比以前好多了),有了开关后,我首先要获得 gnome-screenshot 选项,然后才能选择区域,但其余的都很好。

要查看完整屏幕截图,请拖放-a

(在 ubuntu 18 下构建 v3.18.0 有点混乱,我最终得到了类似

  • 启动一个 ubuntu 16.04 docker 容器(不要忘记挂载类似的程序,-v /tmp:/tmp这样你最终就可以将二进制文件复制到你的主机系统)
  • 启用反向移植,apt-get update
  • 安装:apt-get install git gnome-common libx11-dev libglib2.0-dev libgtk-3-dev libcanberra-gtk3-dev
  • ./autogen.sh && make && cp ./src/gnome-screenshot /tmp/
  • 离开docker容器,/usr/bin/gnome-screenshot用文件覆盖/tmp

意识到这样做其实是个不错的想法,尽管它在我的计算机上似乎运行良好,但二进制文件可能链接到 ubuntu 18 上不再存在的符号/行为不同。(我认为我在 16.04 容器中编译它的主要问题是 libpcre 中的版本冲突)

相关内容