V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zetaoyang
V2EX  ›  Linux

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

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

    承接 请教 “ 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
    挺好的,试试
    infun
        2
    infun  
       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
    GooMS
        13
    GooMS  
       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   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:49 · PVG 04:49 · LAX 12:49 · JFK 15:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.