Zapic's Blog
Ubuntu 快捷键 剪切板区域截图指南
2020-11-20
教程
查看标签

\#0 全都没有用

有时候想要区域截图到剪切板,Ubuntu Gnome自带了几个快捷键:

  1. Ctrl+Print 全屏截图到剪切板
  2. Ctrl+Shift+Print 当前活动窗口截图到剪切板
  3. Ctrl+Alt+Print 选区到剪切板

但是,全都没有用.
淦哦,那我要你来干啥.

于是查了一下.
什么都没查到.
甚至都没有查到有人吐槽这个问题.

于是我想Gnome自带的截图应该有命令行操作吧.
果然有,就叫gnome-screenshot.
然后查看帮助,发现可以直接复制到剪切板: gnome-screenshot --area --clipboard.

试了一下,完全然并卵
淦哦,那我要你来干啥.

事到如今,

\#1 只能自己动手了

既然没有直接截图到剪切板的工具,那就先想办法操作剪切板好了.
一查,CopyQ貌似很好用.
一装上,10M的大小,还在状态栏有常驻图标.
试了一下,果然可以把图片文件复制到剪切板: gnome-screenshot --area -f /tmp/screenshot.png && cat /tmp/screenshot.png | copyq copy image/png

能用是能用,不过这破玩意也太臃肿了吧.

再翻一下,发现了一个极其轻量的工具xclip.
没有GUI,没有常住图标,安装大小只有不到1M.
于是稍微改一下现有的命令:gnome-screenshot --area -f /tmp/screenshot.png && cat /tmp/screenshot.png | xclip -t image/png -sel clipboard -i
不愧是我,真好用.
再改造成一键命令,放进快捷键里:
~/.local/bin/area-screenshot:

#!/bin/bash
gnome-screenshot --area -f /tmp/screenbuffer
cat /tmp/screenbuffer | xclip -t image/png -sel clipboard -i
rm /tmp/screenbuffer

到设置里加一个快捷键就好了.

对了,记得sudo apt purge copyq && sudo apt autoremove.

\#2 貌似出了点意外...

用了不久,就发现了问题.
不能往Wine-QQ里粘贴.
然后研究了一下QQ复制截图的内容,发现其在剪切板里的格式为image/bmp,那只需要把我们放在剪切板里的格式也弄成bmp就好了.
gnome-screenshot默认保存图片格式为png,不过只需要指定后缀,图片就能以不同格式保存,所以对以上脚本稍作修改:
~/.local/bin/area-screenshot:

#!/bin/bash
gnome-screenshot --area -f /tmp/screenbuffer.bmp
cat /tmp/screenbuffer.bmp | xclip -t image/png -sel clipboard.bmp -i
rm /tmp/screenbuffer.bmp

就可以愉快的在Wine-QQ里粘贴了.