Wayland 環境の ksnip をコピーできない問題が解決されました
以前、wayland 環境でスクリーンショットを撮り、ksnip を使用して写真を変更するという記事を書きました (http://mephisto.cc/tech/wayland-screenshot/)。最近、写真を変更した後、写真を変更できないことに気づきました。バグを引き起こすパターンがないこともわかりました🤷♂️。
解決策は次のとおりです。
スクリーンショットスクリプトを変更する
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 外部エイドを呼び出して、コピーを処理できることを意味します。
多くのソフトウェアでは、中国語を入力するために XWayland をオンにする必要があります 🤷 が、この設定は比較にならないものです。
関連環境の再起動
私の labwc 環境では、起動時にzhscreeenshot.sh
がメモリに読み込まれ、トリガーのショートカットキーが設定されているため、有効にするには再起動する必要があり、スクリプトを変更するだけでは不十分です。
実際の測定値が変更された後、コピー操作に例外はありませんが、依然として XWayland が必要であるようで、純粋な Wayland 環境でエラーのない作業にはまだ程遠いです。
偉人たちの励ましの言葉
「一言で言えば、未来は明るいが、道は曲がりくねっている。私たちの前には無視できない多くの困難が待っている。私たちがすべての人々と団結して協力すれば、すべての困難を乗り越えて目標を達成することができるだろう」勝利の。」 —— 毛沢東
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。