Icons (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Icons. Дата последней синхронизации: 24 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Проект freedesktop предоставляет спецификацию Icon Theme, которая применяется в большинстве сред рабочего стола Linux и пытается унифицировать внешний вид целого набора значков, группируя их в темы (icon-theme). Freedesktop также предоставляет спецификацию Icon Naming, которая определяет стандартную схему именования значков, которые, как считается, должны быть установлены в любой системе. Тема по умолчанию hicolor должна включать их все.

Установка

Значки и эмблемы

Для добавления своего значка к существующей теме значков можно использовать xdg-icon-resource. Он изменит размер и скопирует значок в $HOME/.local/share/icons/. С помощью этого метода можно также добавлять пользовательские эмблемы. Примеры:

$ xdg-icon-resource install --size 128 --context emblems archuser-example.png # добавить как эмблему
$ xdg-icon-resource install --size 128 archuser-example.png # добавить как обычный значок

Значки для MIME-типов

Файловые менеджеры не полагаются на традиционный MIME-тип, который выводит file --mime. Вместо этого используются определения из /usr/share/mime/. Если найти значок, соответствующий найденным там определениям, и скопировать его в ~/.local/share/icons/, то файловые менеджеры станут отображать пользовательский значок для соответствующих MIME-типов. Эта команда иллюстрирует метод создания пользовательского значка для файлов базы данных keepass (.kdb):

$ sed -En 's/(.*)\/(.*)\:.*.kdb.*/\1-\2/p' /usr/share/mime/globs
application-x-keepass2

Переименуйте ваш значок в соответствии с этим выводом:

$ xdg-icon-resource install --size 128 --context mimetypes application-x-keepass2.png

Темы значков

Совет: Рекомендуется установить пакет hicolor-icon-theme, поскольку многие программы будут размещать свои значки в /usr/share/icons/hicolor/, а большинство других тем будут наследовать значки из темы Hicolor.

Из пакетов

Вручную

Если вы не можете найти пакет с нужной вам темой значков, придётся установить её вручную.

  • Сперва найдите и загрузите желаемый набор значков. Много различных тем можно есть на сайтах Opendesktop.org и Xfce-look.org.
  • Затем перейдите в каталог, содержащий архив значков, и распакуйте его. Например: tar -xzf ~/Загрузки/icon-pack.tar.gz.
  • Переместите распакованный каталог со значками:
    • в /usr/share/icons/ (общесистемный) или
    • в ~/.icons/ или ~/.local/share/icons/ (пользовательский).
  • Опционально запустите gtk-update-icon-cache -f -t на выбранном вами каталоге, чтобы обновить кэш значков.
  • Выберите свежеустановленную тему, используя соответствующий инструмент настройки вашей среды рабочего стола или вашего оконного менеджера.
Совет:
  • Чтобы упростить обновление темы значков, можно вместо этого клонировать репозиторий в другое место (например, ~/Загрузки/) с помощью git clone репозиторий_темы.git. После этого создайте символическую ссылку на этот каталог в одном из ранее упомянутых путей: ln -sf каталог_темы выбранный_каталог_icons. После этого можно периодически запускать git pull в каталоге темы значков, чтобы обновить её или проверить наличие обновлений. Таким образом, обновлять тему значков будет легко, без необходимости скачивать, извлекать и перемещать темы.
  • В качестве альтернативы создайте пакет, взяв за основу PKGBUILD'ы пакетов других тем, ссылки на которые есть в разделе #Из пакетов. Смотрите также VCS package guidelines.

fstab / gvfs

Согласно этому документу, файловые менеджеры, использующие GVFS (например, GNOME Files или Thunar), могут отображать значки для пользовательских мест, например, общих ресурсов NFS. Всё, что вам нужно, это несколько дополнительных опций монтирования в /etc/fstab с именами значков, поддерживаемых выбранной вами темой:

/etc/fstab
hostname:/ /mnt/ nfs4 defaults,_netdev,user,rw,exec,comment=x-gvfs-show,x-gvfs-name=Network%20Attached%20Storage,x-gvfs-icon=network-server,x-gvfs-symbolic-icon=network-server,timeo=14 0 0