Linux 下截图工具及贴图功能实现 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zetaoyang
V2EX    Linux

Linux 下截图工具及贴图功能实现

 
  •   zetaoyang 2018-02-26 20:30:38 +08:00 13445 次点击
    这是一个创建于 2784 天前的主题,其中的信息可能已经有所发展或是发生改变。

    承接 请教 “ Ubuntu 16.04 Unity 桌面下 系统托盘第三方应用图标重复”如何解决?这篇主题所引出的话题,我来简单介绍和推广一下 Linux 上截图工具新秀 flameshot 以及我用 AppImage 重新打包的 深度截图,并且也提供一个实现贴图操作的代码例子。

    以下写得不是很详细,暂做简单记录。

    Linux 下截图工具有很多,但是总觉得使用起来很局限。虽然说有深度截图,但只限 deepin 桌面环境下使用,可我不甘心,用 AppImage 打了包,可以在任一 Linux 发行版运行。后来又发现了一个应用 flameshot

    deepin-screenshot

    我利用 Docker + Travis 直接 AppImage 打包,项目在,发布版在。使用截图呈上: deepin-screenshot

    flameshot

    flameshot 从 0.5.1 版本开始提供 Github Releases 下载。其为 GNOME / KDE 的 Wayland 做了适配。 flameshot

    贴图功能实现

    类似于 Snipaste。我是直接在 flameshot 基础上添加的,Pull request 在,代码托管于pin

    第 1 条附言    2018-03-01 15:23:01 +08:00
    在此,AppImage 这种分发方式,是适合打包 Wine 移植的 Windows 应用的。
    想用 Wine-QQ 或者 Wine- TIM 的,可以使用 AppImage 包: https://github.com/askme765cs/Wine-QQ-TIM ,这很绿色,不会破环系统环境。当然,目前这种方式也有缺陷,就是数据存在了 /tmp,不会存在本地,账号已退出,聊天记录也都没了。
    第 2 条附言    2018-03-10 20:00:17 +08:00
    发现 Snipaste 贴图实现和我的思路差不多。它的边距目前设定为 7。而我的设定为 4。大家有兴趣可以看源代码。
    第 3 条附言    2018-03-17 18:23:23 +08:00
    flameshot 项目主页: https://flameshotapp.github.io
    54 条回复    2018-10-03 19:28:29 +08:00
    ytlm
        1
    ytlm  
       2018-02-26 20:33:18 +08:00 via Android
    挺好的,试试
    GlobalNPC
        2
    GlobalNPC  
       2018-02-26 20:39:50 +08:00 via Android
    这个靠谱,不错,感谢楼主。
    codehz
        3
    codehz  
       2018-02-26 20:47:04 +08:00 via Android
    支持 Wayland 吗
    Lyvnee
        4
    Lyvnee  
       2018-02-26 20:48:01 +08:00 via Android
    这个看起来真不错!
    zetaoyang
        5
    zetaoyang  
    OP
       2018-02-26 20:49:39 +08:00
    @codehz
    flameshot : 实验性支持 Gnome Wayland 和 KDE Plasma Wayland ;
    深度截图: 只支持 X11。
    sublimevsatom
        6
    sublimevsatom  
       2018-02-26 21:17:23 +08:00
    shutter 用好久了,不过还是谢谢分享。
    omph
        7
    omph  
       2018-02-26 21:25:53 +08:00
    深度在 arch 上还是挺好安装的,但没有托盘,没法连续截图
    flameshot 目前还不支持文字,而且启动的时候有遮罩,有时连内容都看不清了,这是个败笔
    看到楼主的 PR 被拒,看上去需要改进一下
    zetaoyang
        8
    zetaoyang  
    OP
       2018-02-26 21:27:38 +08:00
    @omph flameshot 遮罩 在设置里可以去掉
    zetaoyang
        9
    zetaoyang  
    OP
       2018-02-26 21:31:29 +08:00
    @omph
    flameshot:
    截图时右键 可以更改画笔颜色;
    鼠标滚轮 可以改变画笔粗细。

    至于深度截图 可以绑定桌面环境的快捷键,直接快捷键启动。
    omph
        10
    omph  
       2018-02-26 22:11:20 +08:00
    @zetaoyang 我用的是 flameshot 0.5.0-4,设置里没有去遮罩的地方啊
    zetaoyang
        11
    zetaoyang  
    OP
       2018-02-26 22:16:53 +08:00
    zetaoyang
        12
    zetaoyang  
    OP
       2018-02-26 22:19:31 +08:00
    3IOhG7M0knRu5UlC
        13
    3IOhG7M0knRu5UlC  
       2018-02-26 22:20:21 +08:00 via Android
    系统自带的截图其实还好
    raawaa
        14
    raawaa  
       2018-02-26 22:20:27 +08:00
    我平时用 scrot,绑定了一下快捷键。对于我这种乞丐流还算够用,
    MeteorCat
        15
    MeteorCat  
       2018-02-26 22:21:49 +08:00 via Android   1
    gnome-screenshot 不就行了吗
    zetaoyang
        16
    zetaoyang  
    OP
       2018-02-26 22:25:36 +08:00
    @MeteorCat 仁者见仁智者见智。用着顺手,效率高就行。
    omph
        17
    omph  
       2018-02-26 22:30:08 +08:00
    哦,0.5.0 还不能修改遮罩
    chocotan
        18
    chocotan  
       2018-02-27 14:27:36 +08:00
    看上去不错,我也试用一下
    之前试了好多截图软件都不好用
    然后自己写了个......
    chocotan
        19
    chocotan  
       2018-02-27 15:29:49 +08:00
    刚遇到了 flameshot 的 bug......按任何键 /操作都无法退出,最后是进 tty 把它 kill 掉了
    chocotan
        20
    chocotan  
       2018-02-27 15:31:24 +08:00
    bug 重现了:我将其绑定到 modKey+F11
    在启动的一瞬间按 Esc 键,就会出现我楼上描述的情况
    zetaoyang
        21
    zetaoyang  
    OP
       2018-02-27 15:35:50 +08:00
    yylzcom
        22
    yylzcom  
       2018-03-01 09:25:23 +08:00
    @chocotan #20 确认有这个 bug

    Ubuntu17.10 ,```apt install flameshot``` 直接安装。命令行 ```flameshot gui```第一次进去出来中心 tooltip 的时候会卡住一下,按任何按钮无反应,等待 30 秒左右就好了,之后也没有这个问题。

    另外好像我这样安装的版本比较老,没有类似 snipaste 的贴图功能
    yylzcom
        23
    yylzcom  
       2018-03-01 09:31:12 +08:00
    https://github.com/lupoDharkael/flameshot/pull/114#issuecomment-366270410
    哇,原作者的回复好直接了当,希望他能尽快实现这个功能吧,一直口水 snipaste 这个功能很久很久了
    zetaoyang
        24
    zetaoyang  
    OP
       2018-03-01 15:15:38 +08:00
    @yylzcom 因为项目作者,一些截图接口 (比如所截图的位置,尺寸大小等) 目前还不成熟,或者就是没有,等他接口完善后,我会重新提交 pull request。
    JackieMe
        25
    JackieMe  
       2018-03-06 17:12:11 +08:00
    深度截图 Debian 已经有了。除了通知半残废之外好像没其他问题。
    hosiet
        26
    hosiet  
       2018-03-07 08:58:54 +08:00
    @JackieMe 没有,深度截图 Debian 暂时还不存在。
    JackieMe
        27
    JackieMe  
       2018-03-07 11:28:46 +08:00
    @hosiet 哦,是社区源,忘了
    yylzcom
        28
    yylzcom  
       2018-03-17 16:40:58 +08:00
    @zetaoyang #24 目前我主力是这个了,能不能请求您稍微完善一个功能,就是 pinned 截图之后需要退掉整个 flameshot 才能去掉 pinned 的截图
    请问能不能增加个按 esc 或者其它方式关掉这个 pinned 截图的功能,日常使用方便一些?

    谢谢!
    zetaoyang
        29
    zetaoyang  
    OP
       2018-03-17 18:01:03 +08:00   1
    @yylzcom 双击 pinned 的截图 即可
    zetaoyang
        30
    zetaoyang  
    OP
       2018-03-17 18:01:48 +08:00
    @yylzcom 你说的 Esc 快捷键 退出 我也会加上的。但是最近我比较忙。
    zetaoyang
        31
    zetaoyang  
    OP
       2018-03-17 18:04:31 +08:00
    @yylzcom pin 截图的功能 目前还不完善。有关于 pin 截图的新的想法,尽管提。我有空就完善完善。可能合并到官方版本需要很长的一段时间。
    yylzcom
        32
    yylzcom  
       2018-03-17 18:08:52 +08:00
    @zetaoyang #29
    原来这么简单,我竟然笨到每次都去退出主程序
    那目前当主力用完全没问题了,感谢!

    如果说还有什么功能的,那应该就是在图上写字了(不知道是不是我没发现)
    yylzcom
        33
    yylzcom  
       2018-03-17 18:09:46 +08:00
    @zetaoyang #30
    Esc 键退出加可不加,双击退出也很方便,只要能让使用者知道退出方法就行
    zetaoyang
        34
    zetaoyang  
    OP
       2018-03-17 18:17:50 +08:00
    @yylzcom 截图添加文字,作者在重构代码,应该快了。等他完善 工具接口之后。pin 截图 也就可以合并了。
    zetaoyang
        35
    zetaoyang  
    OP
       2018-03-17 18:22:40 +08:00
    @yylzcom flameshot 项目主页也已经做了大概 80% 的样子 https://flameshotapp.github.io
    lzyfred
        36
    lzyfred  
       2018-03-19 14:01:26 +08:00
    我觉得 shutter 好用很多。功能多,而且软件风格和桌面统一。
    一般我就用系统自带就可以了。
    zetaoyang
        37
    zetaoyang  
    OP
       2018-03-22 10:21:03 +08:00
    @lzyfred shutter 是把图截下来之后再去编辑。而 flameshot 的操作是截图区域可以随时调整,截图时就可以编辑。
    另外 flameshot 对 Wayland 部分桌面环境支持。而 shutter 仅在 X11 下工作。
    hosiet
        38
    hosiet  
       2018-03-26 09:19:01 +08:00
    现在推进新截图工具的另一个原因是,shutter 代码所使用的 libgnome-perl 库上游已死,目前又没有足够懂 perl 的人力可以对其进行迁移。shutter 迟早会从各大发行版仓库中移除掉:Arch Linux 已删,Debian 下一个版本也将删掉( Debian Testing 也已删除),Ubuntu 18.04 LTS 也很可能是最后一个带 shutter 的版本。
    zetaoyang
        39
    zetaoyang  
    OP
       2018-04-10 21:48:29 +08:00
    zetaoyang
        40
    zetaoyang  
    OP
       2018-04-14 22:52:26 +08:00
    @yylzcom 今晚已经把贴图的代码交给作者了,今晚至明天上午(北京时间)应该贴图就可以在官方的 master 分支出现了,届时感兴趣的同学可以下载持续集成的日常编译打包版本。版本目前支持 Linux / Windows。
    yylzcom
        41
    yylzcom  
       2018-04-18 09:20:45 +08:00
    @zetaoyang #40 现在已经可以了吗?我去试试看
    zetaoyang
        42
    zetaoyang  
    OP
       2018-04-18 09:27:31 +08:00
    @yylzcom 最好使用我新提交的 PR
    yylzcom
        43
    yylzcom  
       2018-04-18 09:32:33 +08:00
    @zetaoyang #42 还没有合并到 master 里, 编译完了发现没 pin 图功能, 然后才看到您的回复.
    我再去试试您的 pr
    zetaoyang
        44
    zetaoyang  
    OP
       2018-04-18 09:33:13 +08:00
    @yylzcom 需要在设置里 添加 一下 pin tool.
    zetaoyang
        45
    zetaoyang  
    OP
       2018-04-18 09:34:17 +08:00
    @zetaoyang 贴图新增快捷键 Ctrl+Q 或 Esc 或 鼠标双击 退出。
    yylzcom
        46
    yylzcom  
       2018-04-18 09:40:46 +08:00
    @zetaoyang #45 请问 shadow 能自定义或者取消吗, 我想要小点的阴影或者不要阴影
    zetaoyang
        47
    zetaoyang  
    OP
       2018-04-18 09:41:46 +08:00
    @yylzcom 目前没有做自定义的设置,不过你可以在 我的 PR 源码里改。
    zetaoyang
        48
    zetaoyang  
    OP
       2018-04-18 09:51:37 +08:00   1
    @yylzcom 可以修改 src/tools/pin/pinwidget.h 里的 LAYOUT_MARGIN 值来改变阴影大小。
    zetaoyang
        49
    zetaoyang  
    OP
       2018-05-04 18:30:33 +08:00   1
    @yylzcom 官方版 flameshot 的贴图功能已经上线了。
    yylzcom
        50
    yylzcom  
       2018-05-05 08:22:42 +08:00
    @zetaoyang #49 暂时还是用着您的版本, 等文字注释功能上线再换吧, 比较懒
    zetaoyang
        51
    zetaoyang  
    OP
       2018-05-07 08:31:22 +08:00   1
    @yylzcom 官方版本,文字注释功能已经有了。
    keenwon
        52
    keenwon  
       2018-06-07 17:37:12 +08:00
    manjaro 上装了下,感觉相当不错
    深度截图原来用的还行,但是上次升级不知道为什么狗带了
    Trumeet
        53
    Trumeet  
       2018-08-16 17:45:45 +08:00 via Android
    好诶
    SaltyFishMo
        54
    SaltyFishMo  
       2018-10-03 19:28:29 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2648 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:38 PVG 14:38 LAX 23:38 JFK 02:38
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86