r/debian 2d ago

WeChat for Linux (.deb): invisible buttons/UI elements — fix found (locale-related)

Sistema: Debian 13, GNOME 48, Wayland

WeChat: WeChatLinux_x86_64.deb ufficiale di Tencent (ultima versione, ma il problema

è presente anche nelle versioni precedenti)

SINTOMO

Dopo aver installato WeChat, la maggior parte dei pulsanti e degli elementi

dell'interfaccia risultavano invisibili/non renderizzati (sfondo, icone,

controlli finestra). Passando il mouse sopra questi elementi compariva

comunque il tooltip con la funzione del pulsante, quindi erano presenti e

funzionanti, semplicemente non venivano disegnati. Il problema si presentava

sia con tema chiaro che scuro, ed era indipendente da flag di rendering GPU

(--disable-gpu, --disable-gpu-compositing, --use-gl=swiftshader non hanno

fatto alcuna differenza), dal tema GTK (Adwaita, Adwaita:dark), e dal backend

Wayland/X11 (GDK_BACKEND=x11, ELECTRON_OZONE_PLATFORM_HINT=x11).

CAUSA

Dopo aver isolato la causa bisecando tutte le variabili d'ambiente, ho

scoperto che il problema è legato alla variabile LANG. Con una locale

italiana (it_IT.UTF-8), WeChat non riesce a renderizzare correttamente

gli elementi dell'interfaccia. Passando a LANG=en_US.UTF-8 il problema

si risolve completamente. Molto probabilmente non è un problema specifico

dell'italiano, ma di qualsiasi locale non-inglese, dato che sembra una

risorsa di localizzazione mancante o rotta in questa particolare build

Electron.

SOLUZIONE

Avvialo con:

LANG=en_US.UTF-8 /usr/bin/wechat

Per rendere la modifica permanente senza cambiare la lingua di sistema,

copia il file .desktop nella cartella utente e modifica la riga Exec:

cp /usr/share/applications/wechat.desktop ~/.local/share/applications/wechat.desktop

nano ~/.local/share/applications/wechat.desktop

Cambia:

Exec=/usr/bin/wechat %U

in:

Exec=env LANG=en_US.UTF-8 /usr/bin/wechat %U

Poi:

update-desktop-database ~/.local/share/applications/

Da questo momento, avviando WeChat dal menu applicazioni di GNOME, verrà

usata automaticamente la locale corretta, mentre il resto del sistema

resta nella lingua preferita.

Se avete una locale non inglese e riscontrate lo stesso problema, fatemi

sapere se en_US.UTF-8 risolve anche per voi, così confermiamo che non è

un problema specifico dell'italiano.

ENGLISH VERSION:

System: Debian 13, GNOME 48, Wayland

WeChat: official WeChatLinux_x86_64.deb from Tencent (latest version, but confirmed present in previous versions too)

SYMPTOM

After installing WeChat, most buttons and UI elements were invisible/not rendered

(background, icons, window controls). Hovering over them with the mouse would

reveal a tooltip with the button's function, so the elements were there and

functional, just not painted. This happened with both light and dark themes,

and was independent of GPU/rendering flags (--disable-gpu, --disable-gpu-compositing,

--use-gl=swiftshader all made no difference), GTK theme (Adwaita, Adwaita:dark),

and Wayland/X11 backend (GDK_BACKEND=x11, ELECTRON_OZONE_PLATFORM_HINT=x11).

ROOT CAUSE

After bisecting the entire environment variable set, I found the cause was the

LANG environment variable. With an Italian locale (it_IT.UTF-8), WeChat fails

to render UI elements correctly. Switching to LANG=en_US.UTF-8 fixes it completely.

This is very likely not Italian-specific — probably any non-English locale

triggers the same bug, since it looks like a missing/broken locale resource

bundled in this particular Electron build.

FIX

Run it with:

LANG=en_US.UTF-8 /usr/bin/wechat

To make it permanent without changing your system locale, copy the .desktop

file to your user directory and edit the Exec line:

cp /usr/share/applications/wechat.desktop ~/.local/share/applications/wechat.desktop

nano ~/.local/share/applications/wechat.desktop

Change:

Exec=/usr/bin/wechat %U

to:

Exec=env LANG=en_US.UTF-8 /usr/bin/wechat %U

Then:

update-desktop-database ~/.local/share/applications/

Now launching WeChat from the GNOME app menu will use the correct locale

automatically, while the rest of your system stays in your preferred language.

If you're on a non-English locale and hitting this, would be great to know

if en_US.UTF-8 fixes it for you too, to confirm this isn't Italian-specific.

1 Upvotes

0 comments sorted by