如何更改 gnome-screenshot 制作的屏幕截图的默认名称?

Chr*_*kin 38 gnome screenshot

Gnome-screenshot 3.1.2 使用这样的文件名

截图于 2011-07-31 12:13:04.png

拍摄时很容易看到。

问题在于它使用了冒号 (:) 字符 - 使得无法从 Windows 访问这样的图像。

考虑到我截取了大部分屏幕截图,以便将它们发送给 Windows 用户,这导致了一些问题。

有什么方法可以更改屏幕截图工具使用的默认名称以将“:”替换为“。” 或者 ”,” ?

fai*_*182 15

实际上不可能轻易更改它,也许您可​​以帮助解决此错误报告

(出于好奇,请查看源代码。目前,相关行是134

更新:该错误已在 2015-01-28 上游修复,用破折号替换冒号,这有帮助。但不幸的是,他们并没有腾出空间。

  • 谁认为在 C 中硬编码屏幕截图名称是个好主意,需要重新编译_整个_桌面环境?有没有人想过用户可能想要更改默认命名?既然有 `dconf-editor` 等,并且 `gnome-screenshot` 使用它,为什么不为“屏幕截图命名策略”设置一个 dconf 条目,您可以将其设置为“Screenshot-%02d.png”,以及如果为空,则采用硬编码命名策略?呃…… (5认同)
  • +1 用于链接到源代码。现在那是 linux 方式。(虽然文件名代码实际上在这里,现在:http://git.gnome.org/browse/gnome-utils/tree/gnome-screenshot/screenshot-filename-builder.c) (3认同)
  • 新网址:http://git.gnome.org/browse/gnome-screenshot/tree/src/screenshot-filename-builder.c#n134(检索于 2013-02-16 18:08 UTC+0800) (2认同)

n.s*_*.st 11

gnome-screenshot不允许为屏幕截图文件名设置全局默认值,但您可以使用该-f选项在命令行上指定文件名。

我们可以使用它来编写一个小的 bash 脚本,它将代替原始gnome-screenshot二进制文件,并使用正确的文件名参数执行原始文件。

请注意,您必须具有以下操作的 root 权限,因此在每个命令前sudo加上sudo -i.

  1. 将原始gnome-screenshot二进制文件移开:

    dpkg-divert --add --rename --divert /usr/bin/gnome-screenshot.real /usr/bin/gnome-screenshot
    
    Run Code Online (Sandbox Code Playgroud)
  2. /usr/bin/gnome-screenshot在编辑器中打开(您应该会看到一个新的空文件):

    editor /usr/bin/gnome-screenshot
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将以下两行粘贴到编辑器中:

    #!/bin/bash  
    gnome-screenshot.real -f "$HOME/Pictures/Screenshots/$(date +%F_%H-%M-%S).png" $@
    
    Run Code Online (Sandbox Code Playgroud)

    您可以在-f;之后插入您喜欢的任何路径。只需确保将其括在引号中并保留$@在它之后。
    在此示例中,屏幕截图将使用类似/home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png. 有关语法的man date详细信息,请参阅date +%…

  4. 保存文件并关闭编辑器(例如在 Nano 或Vim 中使用Ctrl+ )。X:wq

  5. 使新创建的脚本可执行:

    chmod a+x /usr/bin/gnome-screenshot
    
    Run Code Online (Sandbox Code Playgroud)


fai*_*182 9

有一种简单而肮脏的方法可以重命名创建后立即拍摄的所有屏幕截图,但是您需要安装 inotify-tools ( apt-get install inotify-tools) 然后您可以运行以下命令:

while true; do inotifywait -e CREATE ~/Pictures && rename 's/\:/\./g' Pictures/Screenshot*.png; done;
Run Code Online (Sandbox Code Playgroud)

虽然此命令将运行,但每次在 Pictures/ 中保存新屏幕截图时,脚本都会重命名包含 的每个文件:,替换:.

(可能你想换目录,我不知道Gnome 3用的是哪个目录)如果你真的喜欢,你可以在每次gnome启动时在脚本中启动这个命令。

  • +1 这是一个巧妙的小技巧,但您的正则表达式应该是 's/\:/\./g' (3认同)

小智 8

无需安装其他软件并在屏幕截图工具中编写此代码,这里有一个解决方法,可以在之后重命名文件。

您需要做的就是导航到目录并运行以下命令

rename 's/\:/\-/g' *.png
Run Code Online (Sandbox Code Playgroud)

这将.png在以当前目录中存在的文件名结尾的所有文件名中用破折号替换所有冒号。


Mar*_*vic 5

Shutter是另一个用于截屏的应用程序,它允许您自定义文件名:您可以从 Ubuntu 软件中心安装它。

  • 我喜欢 Shutter,但对于不需要注释的快速屏幕截图,我仍然更喜欢使用默认的 Ubuntu 屏幕截图程序,因为它会立即提供两个选项 - 复制到剪贴板或另存为。快速又简单。 (2认同)