当前位置: 首页>>技术问答>>正文


如何更改gnome-screenshot截图的默认名称?

, ,

问题描述

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

Screenshot at 2011-07-31 12:13:04.png

让它很容易看出它被采取。

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

考虑到我拍摄了大部分截图,以便将其发送给Windows用户,这会导致一些问题。

有没有办法更改屏幕截图工具使用的默认名称,用”.”或”,”替换”:”?

最佳解决方案

它实际上不可能轻易改变它,也许你可以帮助这个bug report

(好奇,检查source code。目前,相关行是134)

更新:bug was fixed upstream on 2015-01-28,用破折号替换冒号,这有帮助。但不幸的是,他们没有把这个空间拿走。

次佳解决方案

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

while true; do inotifywait -e CREATE ~/Pictures && rename 's/\:/\./g' Pictures/Screenshot*.png; done;

当这个命令运行时,每次在Pictures /中保存新的屏幕截图时,脚本将重命名包含:的每个文件,用.替换:

(也许你想要更改目录,我不知道Gnome 3使用哪个目录)如果你真的喜欢它,你可以在每次gnome启动时在脚本中启动这个命令。

第三种解决方案

这里的解决方法是重命名文件,而不是安装其他软件并在屏幕截图工具中编写此代码。

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

rename 's/\:/\-/g' *.png

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

第四种方案

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

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

请注意,您必须具有以下操作的root权限,因此请在每个命令前加上sudo或使用sudo -i打开根shell。

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

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

    editor /usr/bin/gnome-screenshot
    
  3. 将以下两行粘贴到编辑器中:

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

    你可以在-f之后插入你喜欢的任何路径;只需确保将其括在引号中并保留$ @。在此示例中,屏幕截图将与/home/yourusername/Pictures/Screenshots/2011-07-31_12-13-04.png等文件名一起存储。有关日期+%…语法的详细信息,请参阅man date。

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

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

    chmod a+x /usr/bin/gnome-screenshot
    

第五种方案

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6288.html,未经允许,请勿转载。