当printscreen按钮截图时,更改保存的屏幕截图的位置
我想更改“ 将屏幕截图保存到图片 ”的默认位置以将其保存到桌面。
如果那是不可能的,还有其他办法吗? 我正在使用Ubuntu GNOME 17.04。
注意:我不想使用dconf-editor
更改位置,因为它会更改屏幕截图小程序的位置,而不是我需要的快捷方式。
原来并不是那么简单。 首先,您可以尝试按照以下步骤将~/Desktop
设置为gnome-screenshot
的自动保存目录。
- 打开dconf编辑器 。
- 导航到
/org/gnome/gnome-screenshot/auto-save-directory
。 - 禁用使用默认值 。
- 将
file:///home/YOUR_USERNAME/Desktop
放在“ 自定义”值框中。
或者,您可以在终端中运行以下命令:
gsettings set org.gnome.gnome-screenshot auto-save-directory 'file:///home/YOUR_USERNAME/Desktop'
但即使在按下Print后执行此操作,捕获的屏幕截图也会保存在~\Pictures
(请参阅此错误报告 )。 作为一种解决方法,您现在可以为gnome-screenshot
添加另一个键盘快捷键,它将捕获的截图保存到~/Desktop
。 为此,请按照步骤操作。
- 打开“设置”>“键盘”,然后向下滚动到底部。
- 单击+符号。 应弹出一个方框。
- 在“ 名称”框中输入您喜欢的任何名称。
- 在命令框中输入
gnome-screenshot
。 - 单击Set Shortcut …按钮并设置任何不会引起任何冲突的键盘组合,例如Super + Print 。
然后注销并再次登录。 现在Super + Print应该将捕获的屏幕截图保存在~/Desktop
。
为方便起见,您可以先将“ 将屏幕截图保存到图片 ”的快捷方式更改为“ 超级 + 打印 ”等其他内容,然后将“ 打印”分配给刚刚创建的自定义快捷方式。
您可以使用命令框中的以下标志( gnome-screenshot
)来优化所需的屏幕截图类型:
-
-a
(对于’area’)将允许您选择区域以获取使用鼠标的屏幕截图; -
-w
(对于’window’)将仅截取当前活动窗口的屏幕截图(而不是整个屏幕);-
-b
将在屏幕截图中包含窗口边框, -
-B
不包括边框,
-
-
-p
(对于’指针’)将在屏幕截图中包含鼠标指针(显然不会对-a
产生任何影响); -
-i
(用于“交互式”)将允许您在弹出对话框中设置选项。
您可以将标记组合在一起:例如, gnome-screenshot -wB
将截取当前活动窗口的屏幕截图而不显示其边框。
您可以通过man gnome-screenshot
获取可用选项/标志的详尽列表。
因为默认的屏幕截图应用程序始终将屏幕截图存储在$HOME/Pictures
下面,并且没有明显的方法来重新配置该目录,所以我编写了systemd
单元和监视$HOME/Pictures
目录的脚本的组合。 每当该目录中的某些内容发生更改时,名为$HOME/Pictures/"Screenshot from"*
所有文件都将移动到子目录$HOME/Pictures/Screenshots
。
这是我做的:
创建一个文件/etc/systemd/system/move-screenshots.path
:
[Unit] Description=watch changes is Pictures folder [Path] PathChanged=/home/pduck/Pictures [Install] WantedBy=graphical.target
创建一个文件/etc/systemd/system/move-screenshots.service
:
[Unit] Description=move screenshots when Pictures folder has changed [Service] Type=oneshot ExecStart=/home/pduck/bin/screenshot-mover.sh User=pduck
创建一个文件/home/pduck/bin/screenshot-mover.sh
:
#!/usr/bin/env bash # Moves all files 'Screenshot from ...' from the directory $HOME/Pictures # to the directory $HOME/Pictures/Screenshots mkdir -p $HOME/Pictures/Screenshots; for file in $HOME/Pictures/"Screenshot from"*; do mv -v "$file" $HOME/Pictures/Screenshots; done
然后发出
sudo systemctl enable --now move-screenshots.path
它能做什么:
每当路径/home/pduck/Pictures
发生变化时,都会调用单元move-screenshots.service
,然后调用脚本/home/pduck/bin/screenshot-mover.sh
。 该脚本将每个匹配$HOME/Pictures/"Screenshot from"*
文件移动到子目录$HOME/Pictures/Screenshots
。
我知道还有很大的改进空间,如果你想使用这个解决方法,你需要用你自己的用户名替换每一个pduck
。 但这几个脚本的组合几个月来一直适用于我,我只是想分享它。