惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cisco Blogs
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
T
Tor Project blog
N
Netflix TechBlog - Medium
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
V
Visual Studio Blog
GbyAI
GbyAI
PCI Perspectives
PCI Perspectives
D
DataBreaches.Net
Jina AI
Jina AI
H
Heimdal Security Blog
云风的 BLOG
云风的 BLOG
P
Privacy International News Feed
A
About on SuperTechFans
J
Java Code Geeks
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News | PayPal Newsroom
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
博客园 - 司徒正美
C
Check Point Blog
T
Threat Research - Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
宝玉的分享
宝玉的分享
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
The Last Watchdog
The Last Watchdog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
Cisco Talos Blog
Cisco Talos Blog
W
WeLiveSecurity
Hacker News: Ask HN
Hacker News: Ask HN
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
Docker
博客园 - Franky
Security Archives - TechRepublic
Security Archives - TechRepublic

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法 券商费率调整记 迷你主机组装记 Labwc更换定制皮肤 树莓派跑分流代理 实用自动代理配置示例 九年老鼠标复活记 Openvpn示例 Mac下如何旋转webp图片 如何隐藏Vscode中Markdown PDF插件的头部内容 解决Linux下网络配置无法变更保存的问题 labwc环境启用wlogout Ubuntu下新官方微信尝鲜 简单检测用户是否开启广告屏蔽 Atuin ZFS下卡顿问题解决 Wine安装64位微信 Fish 和 Atuin使用记 Fastapi简单实现临时下载链接 Fastapi微信公众号开发简要 Hugo根据语种展示不同内容 如何修复Waybar微信图标错误 信封加密简要 Linux环境下维护公众号记录 快速隐藏和呼出终端 Wayland环境自动切换壁纸 SuperTuxKart 试玩 简单抓取雪球股票快讯 为什么你的kill命令不能列出信号表 Wine安装微信保姆教程 Hysteria科学上网简要 Ubuntu 23.10 钉钉无法启动解决方法 网站导航栏防止插入Adsense自动广告 Linux环境按键检测 Hugo文末添加最后修改时间 Wayland环境ksnip无法复制问题解决 我眼中的股票市场 Caddy简单图片防盗链 greetd和regreet使用教程 Wayland 环境下gif录屏 Firefox的一些有趣功能 Ubuntu 切换系统语言 Firefox 标题栏高度调整 网站添加回到顶部功能 Hugo自定义字体 Labwc 便捷配置 Wofi使用教程 窗口管理器labwc使用记 文件共享软件Dufs推荐 Hugo静态站点接入Adsense广告 Fcitx5配置详解 Ubuntu安装chrome的方法总结 一种Xterm.js的全屏方案 Google网址收录api Python示例 手机听离线音乐 Snipe it资产导入 应用启动器yofi使用配置 Snipe it资产管理系统安装使用 Ubuntu开机启动加速 Vue3 vite TypeScript跨域等相关设置 Ubuntu手动升级Libreoffice Ubuntu设置alacritty为默认终端 简体文章批量转换为繁体 使用Inkscape调整svg图片大小 实用命令 使用mitmproxy给手机app抓包 Python中rstrip方法细解 Github同主机多仓库部署deploy key问题处理 Linux安装最新版本Python KeePassXC使用教程 Ubuntu 22.10连接蓝牙耳机报错br-connection-profile-unavailable解决方法 Caddy日志配置轮转和格式化
Wayland环境下截图加后期修改
2023-08-22 · via mephisto.cc

截图功能在日常工作中使用场景很多,当你要向合作伙伴解释某个问题的时候,一图胜万言,所谓有图有真相。截图完成通常要修改注解下,重点地方红框、操作步骤、箭头指引什么的。

Linux 环境下截图软件很多,实际好用的屈指可数,wayland 环境下相关软件 bug 很多。曾经我以为 flameshot 不错,但双屏环境下遇到过不少问题,经常升级到某个版本时,不能同时选中双屏截图、输入文字困难。切换到 labwc 环境后,甚至框定范围极度延时。在挣扎一段时间后,我选择了 grim + slurp + swappy 的组合,如下所示,绑定个快捷键即可。

1grim -g "`slurp`" - | swappy -f -

grim 截图, slurp 选择范围,swappy 后期修改。

这个组合基本够用,可很快就发现,swappy 的后期能力不足,比如没法加步骤指示(就是在图片上显示 1、2、3 等步骤的功能)。这一功能在描述某个操作步骤的时候非常方便快捷,编写本站各种教程的时候需要,工作演示操作的时候也需要。

看到有人提了 issue,我也追加回复希望作者添加此功能。

swappy-counter

现代社会,人人都很忙,作者完成了核心功能并开源,应该褒奖,用户不可无限索取,当然提意见供参考是鼓励的。这个功能得等能人添加(也许将来的某一天我会成为这种人,但是目前阶段还不行,退休后也许可以)。

正是在这种情况下,找到了一个替换 swappy 的后期软件 ksnip。项目较为活跃,贡献者有一百多个,wayland 环境下试用功能正常。

安装很简单,查看项目说明页面就好,这里不赘述。

难点在怎么和 grim slurp 组合使用,并能绑定一个系统快捷键触发。

组合使用

  • 错误做法

    一开始我是这样使用的,只能截图一次,第二次就提示找不到图片了。

    1grim -g "`slurp`" - | ksnip -
    

    一直没有找到原因,惭愧。

  • 正确做法

    1➜ cat screenshot.sh
    2
    3#!/bin/sh
    4NOW=$(date +"%Y-%m-%d-%H%M%S")
    5grim -g "$(slurp )" -t png $HOME/Pictures/grim-$NOW.png
    6ksnip $HOME/Pictures/grim-$NOW.png
    7pwd
    8/home/mephisto/.config/labwc
    

    原理简单,先截图保存在 Pictures 目录下,再使用 ksnip 做后期处理,各司其职,逻辑清晰。把脚本放在某个目录下,接着绑定快捷键:

    1  <keybind key="Print">
    2    <action>
    3      <name>Execute</name>
    4      <!-- <command>sh -c 'grim -g "`slurp`" - | swappy -f -'</command> -->
    5      <command>$HOME/.config/labwc/screenshot.sh</command>
    6    </action>
    7  </keybind>
    

    每种桌面环境设置快捷键的方式不不尽相同,我这里是 labwc 在 rc.xml 中配置快捷如上面所示。按Print键,即键盘上的截屏快捷键,触发执行 $HOME/.config/labwc/screenshot.sh 脚本,过程丝滑简单,本文的图片就是使用这个组合操作生成的。

细心的读者可能会问,全屏/活动窗口/单屏幕怎么完成呢?参考grim 文档。你也可以试试 ksnip 是否可以独立完成(文档表格里面部分环境下支持),大部分时候我只需要选定范围截图,所以影响不大。

另外,ksnip 还有其它的有趣功能,比如添加水印(watermark)、表情等。

ksnip-others

上图所示:

  • 图标 1,模糊功能,遮挡敏感信息;
  • 图标 2,自定义贴纸(在 options/Settings/Annotator/Stikers 中配置,会出现在表情列表中),有趣的功能;
  • 图标 3,内置的几个表情;
  • 图标 4,水印(在 options/Settings/Annotator/Watermark 中配置)。

最后,开源软件是可以不断进化的,取决于它处于什么样社区环境,ksnip 有一百多位贡献者,有理由相信能不断完善。更多功能,各位读者自行摸索,感谢阅读本文。