作者sppmg (sppmg)
看板Linux
標題[問題] 透明背景視窗(wxWidgets bug?)
時間Tue Apr 5 13:16:43 2022
Debian 11 (stable) 中,有些程式的視窗會擷取當前背景作為底圖。
像是下面這兩個(分別是 Kicad (6.0.4), Audacity)
Kicad (6.0.4)
https://imgur.com/wDKRjAA.jpg
Audacity (2.4.2)
https://imgur.com/jRFxLya.jpg
檢視其相依性後發現都有 wxWidgets 相關套件。
請問有辦法自己簡單處理嗎?(除了改寫程式、重編譯以外)
這問題存在很久了,不知道是 bug 還是只是配置上問題?
(應該不會這幾個程式都沒人用吧.....,有沒有人知道相關消息?)
完(偏)美(執)的解決辦法請見最後面。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.44.118 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1649135807.A.09F.html
1F:推 Bencrie: 剛剛裝 Audacity 起來跑沒問題 04/05 13:37
2F:→ Bencrie: 看起來比較像缺 library,gtk2-engine-pixbuf 之類的 04/05 13:39
這有裝了
3F:推 Bencrie: 我是在 gnome-shell 下測的 04/05 13:46
我是 KDE + compiz,不過即使無 compiz 也是一樣。
會不會是有些 gnome 程式庫沒被相依到?
※ 編輯: sppmg (101.12.44.118 臺灣), 04/05/2022 14:49:46
4F:推 Bencrie: 會不會是 adwaita?gnome-themes-extra 04/05 14:52
原本沒裝,剛裝了測試還是一樣。需要重啟嗎?(要的話我晚點再試)
也把其他 apt-cache search libwxgtk 非 *-dev 的都裝上了,沒差。(胡亂測試...)
※ 編輯: sppmg (101.12.44.118 臺灣), 04/05/2022 15:07:39
5F:推 Bencrie: 你開 terminal 跑看看有沒有吐錯誤吧 04/05 15:14
kicad 沒有,audacity 在出問題視窗顯現時丟出
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug
我 google 了一下感覺不出什麼解法....
※ 編輯: sppmg (101.12.44.118 臺灣), 04/05/2022 16:33:20
6F:推 Bencrie: 換一個佈景主題 04/05 17:49
從原本 Breeze 換到 Air, Oxygen,結果一樣 QQ 。
breeze 和 gtk 相關的都安裝了,像是 breeze-gtk-theme 之類。
※ 編輯: sppmg (101.12.31.194 臺灣), 04/05/2022 21:29:12
7F:推 willy69wu31: 也遇到一樣問題+1 openSUSE系統 04/06 10:04
8F:推 paintlife08: 我的Audacity正常 Debian11 桌面用LXDE 04/06 10:59
9F:→ sppmg: 熱心版友來信提示是 hime 問題,晚點我整理下貼上來。 04/06 19:33
10F:推 willy69wu31: 我是 gcin... 04/06 23:31
11F:→ EdwardGJLee: wxWidgets 和 gtk3 好像是八字不合。新版不知改了沒 04/08 23:04
12F:推 holishing: 原來輸入法會雷到GUI主題嗎!? 04/09 01:16
13F:噓 neiolin: 同樣問題苦惱中 求解 04/09 14:50
14F:推 neiolin: 按錯 推回來@@ 04/09 14:54
15F:→ HamalAri: xim 之於 ibus 就像 xorg 之於 wayland 一樣, 新的比較 04/10 00:55
16F:→ HamalAri: 難用, 可是舊的遲早被放生 04/10 00:55
17F:→ HamalAri: linux desktop 真的是很混亂 04/10 00:55
18F:→ EdwardGJLee: Fedora 37 有打算正式全面啟用 Wayland,這個可能就 04/10 08:19
19F:→ EdwardGJLee: 交由市場去決定了。我個人是覺得 W 的 protocal 還沒 04/10 08:20
20F:→ EdwardGJLee: 準備好,有點跳躍,會把方向導向極端。 04/10 08:21
21F:推 Adama: Fedora不是早就將Wayland當作新安裝的預設了嗎? 04/10 11:50
22F:→ OrzOGC: 要退回windows用wsl了...QQ 04/10 11:51
23F:→ OrzOGC: 37要完全砍了xorg 04/10 11:52
24F:推 Adama: 其實也好啦 Fedora常衝第一有時也帶來好結果 像systemd (?) 04/10 12:06
25F:→ Adama: 沒有distro要衝wayland,我都不知道Anydesk何時才要支援 04/10 12:07
更新一下後續.....
(之前有段時間沒電腦可用,後來就忘記這件事了,抱歉抱歉!)
有版友提示可能是 hime/gcin 的影響。
像是本版
#1Rprwg3e Re: [問題] Ubuntu有的程式點開啟/另存會卡住
https://webptt.com/m.aspx?n=bbs/Linux/M.1540316842.A.0E8.html
會出現 GLib-GObject-CRITICAL 相關錯誤訊息
hime 換 ibus 就好了。
下面這個連結則是 hime 導致 pycharm 無法顯示
https://reurl.cc/WrLygy
同樣是換輸入法解決。 (hime 換 gcin)
至於我這次的問題,嘗試以 im-config 改設定 fctix 再重登入就沒問題了。
剛剛發現一件事:
Audacity 一開啟程式的畫面沒有問題,直到須要輸入文字(輸入框)才出現問題。
也可以當作輸入法框架出問題的一個特徵吧!(?)
-------------------------
剛剛想起來一件事.....
算是找到完(偏)美(執)的解決辦法了吧?
我因為玩遊戲時不小心按到 ctrl+space 就會觸發中文輸入,然後 fps 遊戲就 gg.....
後來在連結設定變數把輸入法關掉:
env XMODIFIERS="" tremfusion --quiet
同樣的方式也可以應用在這裡。
env GTK_IM_MODULE="" kicad
env GTK_IM_MODULE="" audacity
視窗正常顯示,並且中文輸入仍舊叫得出來(怪)。
看起來應該可以打進程式裡,不過稍微測試好像操作會有點怪。
(我在 audacity 數值框輸入中文,不確定準不準)
In pixman_region32_init_rect 訊息照樣出現。
以上獻給愛好 hime 的偏執狂 XD
(用很習慣了, fcitx 之前試一下好像有哪裡不順手,後來又裝回 hime。
不過小抱怨一下,選字按鈕以前有 1234/qwer 組合,現在的版本拿掉了。)
最後順便問下,
env var="..." program
這裡 env 是可以省略的吧? (更新, 建議加,見 lantw44 大解說)
(後來又想起來,好像是當初 .desktop 檔不允許這樣變數直接放前面,
所以用 env 去包裝 ?!但現在測試又沒問題....
我不確定 env 在這裡的必要性 XD )
※ 編輯: sppmg (49.216.17.161 臺灣), 04/23/2022 02:16:45
26F:推 lantw44: 有沒有加 env 效果類似,但是意思不同。沒加 env 是由 04/24 17:18
27F:→ lantw44: shell 直接設定環境變數;有加 env 則是執行 env,由 env 04/24 17:19
28F:→ lantw44: 設定環境變數再去執行 program。 04/24 17:19
29F:→ lantw44: 同時還要注意沒加 env 的時候因為是使用 shell 內建的語 04/24 17:22
30F:→ lantw44: 法,所以不會經過 field splitting,但使用 env 則是執行 04/24 17:22
31F:→ lantw44: 普通指令,會經過 field splitting,若取用變數時忘了加 04/24 17:23
32F:→ lantw44: 上 " 可能會造成意外。 04/24 17:23
33F:→ lantw44: 至於 .desktop 檔的 Exec,那個只是寫法類似 shell,但實 04/24 17:24
34F:→ lantw44: 際執行並沒有經過 shell,所以不能用 shell 語法。 04/24 17:24
了解!
但 .desktop 檔部份,我覺得奇怪的是實際上是可以執行的???
檔案內容如下:
----------------------------------
[Desktop Entry]
Comment[zh_TW]=
Comment=
Exec=GTK_IM_MODULE="" kicad
GenericName[zh_TW]=
GenericName=
Icon=system-run
MimeType=
Name[zh_TW]=連結到應用程式
Name=連結到應用程式
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
-----------------------------------
※ 編輯: sppmg (49.216.17.161 臺灣), 04/24/2022 18:14:18
35F:推 lantw44: 有沒有可能是特定實做提供的功能?我在 .desktop spec 裡 04/24 19:33
36F:→ lantw44: 沒看到用這種方式設定環境變數的說明。 04/24 19:34
我倒是沒想到去讀 spec XD
環境是 Debian 11, KDE 5.20.5
不過我一開始說的遊戲連結也是這個系統的。所以表示之前 env 應該是必要過。
剛測試了一下發現是 Dolphin (KDE file manager)的功能。
沒 env 的話改用 Thunar 就開不起來了。
感謝 lantw44 大的解說。
(我把上面的命令加 env了。)
※ 編輯: sppmg (49.216.17.161 臺灣), 04/25/2022 00:23:19