Линуксопроблемы с Wayland
На моём основном компьютере установлен Arch Linux, а в качестве окружения рабочего стола используется Gnome, работающий поверх Wayland.
Wayland ― это относительно молодая технология по сравнению с Xorg, поэтому на момент написания заметки у многих десктопных приложений есть проблемы совместимости с ним. К моему удивлению, даже в крупных программных пакетах могут больше года жить серьёзные баги, связанные с этим.
Я столкнулся с двумя такими случаями, и каждый раз мне удавалось находить решение проблемы только после продолжительного поиска в GitHub Issues и багтрекерах. Конечно, решениями это можно назвать с натяжкой, слово «костылики» тут подходит больше. Но дорабатывать исходники приложений мне лень, поэтому я довольствуюсь найденным. Возможно, кто-то столкнётся с такими же проблемами и эта заметка сэкономит ему время.
Неправильный масштаб элементов в LibreOffice
На компьютерах с Wayland и HiDPI мониторами LibreOffice отображался в совершенно непригодных для работы пропорциях. Привести иконки в порядок позволяет передача переменной окружения SAL_USE_VCLPLUGIN=gtk при запуске приложения. То есть запуск текстового редактора будет осуществляться следующей командой:
env SAL_USE_VCLPLUGIN=gtk libreoffice --writer &
Перед тем, как написать предыдущий абзац, я проверил LibreOffice без передачи этой переменной, и на моём компьютере версия 5.2.4 отобразилась нормально. Судя по всему, баг был всё-таки исправлен.
Отсутствие иконки трея в Telegram
Из-за проблем совместимости с Wayland у официального клиента Telegram на данный момент не отображается иконка в трее. Насколько я знаю, аналогичные баги есть ещё у нескольких приложений, но меня интересует именно Telegram.
Проблема решается запуском приложения командой
env GDK_BACKEND=x11 /path/to/Telegram
Запуск приложений
Для удобства можно задать алиасы с нужными командами:
alias librewriter=’env SAL_USE_VCLPLUGIN=gtk libreoffice --writer &’
Или прописать их в .desktop файл:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Telegram Desktop
Comment=Official desktop version of Telegram messaging app
Exec=env GDK_BACKEND=x11 /opt/Telegram/Telegram -- %u
Icon=telegram
Terminal=false
StartupWMClass=Telegram
Type=Application
Categories=Network;
MimeType=x-scheme-handler/tg;
X-Desktop-File-Install-Version=0.23