Прелюдия.
Я знаю, что меня сейчас назовут извращенцем, мазохистам, GNOMoсеком и как там еще называют таких как я, но GNOME 3 — одно из самых моих любимых окружений рабочего стола, поэтому те дистрибутивы Linux, которые я пробовал, пытался испытывать именно с этой оболочкой. Но при использовании GNOME 3 (текущая версия у меня 3.32.1) возникает масса проблем с внешним видом приложений, написанных с использованием Qt (товарищи, которые пользуются Linux довольно давно, поймут о чем я говорю). В связи с этим возникает необходимость «оптимизации» интерфейса GNOME для работы с Qt приложениями. То как выглядят Qt приложения на GNOME действительно порядком раздражает — зачастую работать абсолютно невозможно. В рамках написания статей по QCad решил выделить в отдельную статью вопрос по настройке GNOME 3 для работы с Qt приложениями (так как засовывать этот блок в статью по интерфейсу QCad довольно громоздко, а главное — я ленив и на эту статью можно будет ссылаться при написании статей про другие приложения основанные на Qt).
Моральная подготовка (для аморального действия).
Сдвиньте «булки», напрягитесь…
- Если у вас окружение рабочего стола KDE или DDE (про остальные не знаю) — расслабьтесь и закрывайте эту статью.
- Если у вас окружение рабочего стола GNOME 3, но при этом система Antergos, Manjaro, OPENSuse (в них я уверен) — эта статья также вас не касается и вы можете смело ее закрывать, так как в этих ОС уже все настроено из коробки.
- Для тех, кто еще не расслабился — статья будет не длинная и не сложная.
Операционная система (можно вообще пропустить и не читать).
Все о чем я буду писать дальше касается настройки GNOME 3 в Fedora, поэтому некоторые команды терминала могут отличаться (так же как и названия пакетов в репозиториях), поэтому для своих систем уточните команды и имена пакетов в сообществе своего дистрибутива.
Почему Fedora хорошо подходит для такого обзора? Потому что она поставляется с практически чистым GNOME-ом, в который можно навернуть все что вам хочется.
Вы спросите «Почему, например, не Manjaro?». На этот вопрос отвечу в другой раз.
Настройка GNOME 3
Начнем с конца. На изображениях ниже приведены скриншоты интерфейса QCad до и после настройки.
На мой взгляд разница очевидна. Если вас устраивает как есть из коробки, смело закрывайте эту статью и ждите следующую.
Начнем с того, что установим пакет qt5ct:
$ sudo dnf install qt5ct
Теперь у вас установлена программа для настройки внешнего вида Qt приложений в GNOME. В списке приложений найти ее можно под названием «Настройки Qt5» или запустить из терминала командой:
$ qt5ct
Но нормально она не заработает в связи с тем, что не сконфигурирован файл конфигураций (как бы дебильно это не звучало).
Для того чтобы «Настройка Qt5» нормально работала необходимо в файл:
/etc/profile
Добавить в конец следующую строчку :
export QT_QPA_PLATFORMTHEME="qt5ct"
Файл естественно защищен от изменений.
Как это можно провернуть? Есть несколько способов. Первый и самый простой — открыть файловый менеджер Nautilus с правами администратора и просто внести изменения в файл.
Если Вы просто напишите в терминале:
$ sudo nautilus
то получите ошибку.
И так практически любую программу, например:
$ sudo gedit
Получите туже ошибку.
На первый взгляд все правильно. Так и есть.
Завершаем сеанс и при входе (у поля ввода пароля) нажимаем на маленькую шестеренку и входим под сеансом XOrg.
Да, вы все правильно поняли — Fedora по умолчанию использует Wayland (в дистрибутивах с XOrg такой проблемы возникнуть не должно).
Теперь все будет работать.
Пишем в терминале:
$ sudo nautilus
Откроется файловый менеджер. Идем по адресу:
Корень файловой системы/etc
И ищем там файл Profile.txt («Корень файловой системы» будет отображаться в левом меню навигации).
Открывайте файл, вставляйте в конец файла, указанную выше, строчку. Сохраняйте. Перезагружайтесь.
После перезагрузки заходите в «Настройка Qt5» — настраивайте.
Поздравляю! Теперь Вы счастливый обладатель адекватно отображаемых программ написанных с использованием Qt.
Лирическое отступление
Если Вам нравятся статьи, ставьте «лайки», подписывайтесь на канал, делитесь статьей со всеми заинтересованными.