Wayland环境ksnip无法复制问题解决
之前写过 wayland 环境下截图,再用 ksnip 修改图片的文章,最近才发现修改完图片,部分情况下无法复制图片,还找不出触发 bug 的规律 🤷♂️。
解决方法如下:
修改截图脚本
1➜ ~ cat .config/labwc/screenshot.sh
2#!/bin/sh
3NOW=$(date +"%Y-%m-%d-%H%M%S")
4grim -g "$(slurp )" -t png $HOME/Pictures/grim-$NOW.png
5QT_QPA_PLATFORM=xcb /usr/bin/ksnip $HOME/Pictures/grim-$NOW.png
即 QT_QPA_PLATFORM=xcb /usr/bin/ksnip
启动前传入环境变量,启用 XWayland,这样不影响其它软件。
- xcb 是什么呢?
The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.
- QPA 又是啥?
QPA is the platform abstraction layer for Qt 5 and replaces QWS and the platform ports from Qt 4.
查看这个链接,里面还有 YouTube 视频介绍,有兴趣的可以看看。
- QT_QPA_PLATFORM 又是什么鬼?
Qt will select a default QPA plugin, depending on the platform. The QT_QPA_PLATFORM environment variable and the -platform command line argument allow you to override this default. See QGuiApplication for more details.
意思是通过 qt 相关环境变量设置,让 qt 程序呼叫 xcb 外援,使其能处理 X 协议,最终切换到 XWayland 模式,好比很多游戏角色,变身后才有特异技能,ksnip 在 wayland 环境下,需要开启 XWayland 才能复制。
好多软件需要开启 XWayland 才能输入中文 🤷,相比起来这点配置不算什么!
重启相关环境
在我的 labwc 环境中,zhscreeenshot.sh
是启动时载入内存中,并设定触发快捷键,所以要生效必须重启下,光改脚本是不够的。
实测改动后,复制操作再也没有出现异常,看来 XWayland 还是必须的,离纯 Wayland 环境无差错工作还距离。
伟人勉励话
“总之,前途是光明的,道路是曲折的。我们面前困难还多,不可忽视。我们和全体人民团结起来,共同努力,一定能够排除万难,达到胜利的目的。” —— 毛泽东
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。
相关文章:
- Wayland环境下截图加后期修改
- Wayland 环境下gif录屏
- Firefox的一些有趣功能
- Ubuntu 切换系统语言
- Firefox 标题栏高度调整
- Wofi使用教程
- 文件共享软件Dufs推荐
- Ubuntu安装chrome的方法总结
- Snipe it资产导入
- 应用启动器yofi使用配置