Как изменить тему Snap Apps?

Вопрос или проблема

Мне нравятся новые приложения “snap”, но приложения, установленные с помощью этого метода, похоже, не используют установленную у меня системную gtk-тему.

Некоторые используют Adwaita или, что еще хуже, Raleigh.

Как мне сделать так, чтобы они использовали стандартную тему Ambience, которую я использую по всей системе?

Проблема отслеживается здесь: темы в настоящее время еще не работают с snap.

Snap теперь поддерживает GTK темизацию, однако требуется установить ту же тему в качестве snap, которую вы выбрали на своей системе.

Официальный gtk-common-themes snap содержит Adwaita, Adwaita-Dark, Ambiance, Arc, Arc-Dark, Arc-Darker, Breeze, Breeze-Dark, Communitheme, elementary, HighContrast, Radiance и Yaru.

Также есть adapta-theme и adapta-gtk-snap, а также gtk2-common-themes для приложений GTK2.

Если вы не используете одну из этих тем, я думаю, вам сейчас не повезло.

Я заменил пакеты snap на пакеты apt.

snap list

Я делаю следующую замену:

sudo snap remove gnome-calculator gnome-characters gnome-system-monitor gnome-logs
sudo apt install gnome-calculator gnome-characters gnome-system-monitor gnome-logs

Теперь тема, заданная в настройках, применяется к этим приложениям.

В некоторых случаях вы можете заставить snap запуститься с темой, используя переменную окружения следующим образом

GTK_THEME=Adwaita-dark /snap/bin/libreoffice.writer

Если ваша тема недоступна в виде snap, быстрое и простое решение – автоматически смонтировать всю папку с темами поверх вашего snap после перезагрузки. Так, например, если вы пытаетесь настроить тему для Shutter, вы должны

sudo crontab -e

И добавить следующую строку:

@reboot mount --bind -o nodev,ro /usr/share/themes /snap/shutter/current/usr/share/themes

Я нашел решение здесь: https://gitlab.com/sundbp/dracula-theme-snap

Цитата с этого веб-сайта: Чтобы подключить тему ко всем приложениям, у которых есть доступные плагины к gtk-common-themes, вы можете выполнить:

for i in $(snap connections | grep gtk-common-themes:gtk-3-themes | awk '{print $2}'); do sudo snap connect $i dracula-gtk-theme:gtk-3-themes; done

for i in $(snap connections | grep gtk-common-themes:icon-themes | awk '{print $2}'); do sudo snap connect $i dracula-gtk-theme:icon-themes; done

Для других тем замените имя темы. Существуют темы как пакеты ubuntu snap (как для темы Dracula здесь), но темы уже должны быть предустановлены.

Ответ или решение

Как изменить тему Snap-приложений

Snap-приложения предоставляют пользователям универсальный способ установки и использования программного обеспечения. Однако многие столкнулись с проблемой неправильного отображения тем в Snap-приложениях, которые не соответствуют системной теме GTK, настроенной на вашем устройстве. В данной статье мы подробно рассмотрим способы изменения темы Snap-приложений, чтобы обеспечить единый стиль оформления для всех используемых программ.

Проблема

Snap-приложения могут отображать темы, отличающиеся от той, что используется в системе, чаще всего устанавливается Adwaita или Raleigh, вместо желаемой темы Ambience. Стандартные решения, как правило, не приводят к желаемым результатам, так как Snap-управление оформлением требует установки соответствующих тем, доступных в самом Snap.

Решения

  1. Установка необходимых тем через snap

    Snap теперь поддерживает GTK темing, но для этого необходимо, чтобы тема, используемая в системе, была также установлена как Snap. Вы можете установить gtk-common-themes, который содержит несколько популярных тем, включая Adwaita, Ambiance и другие. Для этого выполните команду:

    sudo snap install gtk-common-themes
  2. Замена пакетов Snap на пакеты apt

    Если данный подход вас не устраивает, вы можете удалить Snap-версии приложений и заменить их на версии из стандартного репозитория apt. Например, чтобы удалить приложении Gnome и установить их через APT:

    sudo snap remove gnome-calculator gnome-characters gnome-system-monitor gnome-logs
    sudo apt install gnome-calculator gnome-characters gnome-system-monitor gnome-logs

    После этого темы, примененные через Tweak, будут работать корректно.

  3. Принудительное применение темы через переменные окружения

    В некоторых случаях можно запустить Snap-приложение с заданной темой, указав переменную окружения. Например, для LibreOffice:

    GTK_THEME=Adwaita-dark /snap/bin/libreoffice.writer
  4. Монтирование папки тем через crontab

    Если желаемая тема недоступна в формате Snap, вы можете сделать обходной путь, автоматически монтируя вашу папку тем на Snap после перезагрузки системы. Например, для Shutter это можно сделать следующим образом:

    sudo crontab -e

    Затем добавьте следующую строку:

    @reboot mount --bind -o nodev,ro /usr/share/themes /snap/shutter/current/usr/share/themes
  5. Подключение пользовательских тем к приложениями через snap connect

    Чтобы подключить темы ко всем приложениям, которые имеют доступные подключения к gtk-common-themes, выполните следующие команды:

    for i in $(snap connections | grep gtk-common-themes:gtk-3-themes | awk '{print $2}'); do sudo snap connect $i <your-theme-name>:gtk-3-themes; done
    
    for i in $(snap connections | grep gtk-common-themes:icon-themes | awk '{print $2}'); do sudo snap connect $i <your-theme-name>:icon-themes; done

    Замените <your-theme-name> на нужное вам название темы.

Заключение

Изменение темы Snap-приложений может потребовать некоторых дополнительных шагов, поскольку они требуют наличия тем в формате Snap для правильного отображения. Вы можете установить gtk-common-themes, заменить Snap-пакеты на APT-версии, использовать переменные окружения или монтировать темы автоматически. Выбор метода зависит от ваших предпочтений и желаемого результата. Используя перечисленные методы, вы сможете добиться единообразного оформления приложений в Snap, что улучшит общий пользовательский опыт.

Оцените материал
Добавить комментарий

Капча загружается...