Cursor themes (Русский)

Дисплейный сервер сопровождается темой курсора, которая помогает в навигации и манипуляции GUI. Дисплейный сервер включает в себя тему курсора, однако другие темы также могут быть установлены.

Установка

Установка совершается при помощи пакета или загрузки и извлечения темы в соответствующий каталог.

Пакеты

Пакеты с темами доступны в:

Вручную

Если тема не доступна в официальном репозитории или AUR, ее можно установить вручную. Существует ряд сайтов, где можно скачать темы. Их нужно будет поместить в каталог icons (курсоры могут поставляться с иконками).

Сайты, где можно найти темы курсоров:

Для установки их для конкретного пользователя, используйте директорию ~/.icons/. Распакуйте тему с помощью этой команды, которая будет работать для большинства архивов:

$ bsdtar xvf foobar-cursor-theme.tar.gz --directory ~/.icons

Структура папки, которая содержит в себе тему курсоров - это имя-темы/cursors, например: ~/.icons/тема/cursors/; Убедитесь в том, что извлеченные файлы следуют этой структуре.

Обратите внимание: Для общесистемной установки используется папка /usr/share/icons. Не рекомендуется прямая распаковка в этот каталог потому что файлы не отслеживаются pacman; рекомендуется создать пакет с темой.

Уже установленные темы могут быть просмотрены с помощью команды:

find /usr/share/icons ~/.icons -type d -name "cursors"

Если пакет включает в себя файл index.theme, проверьте, есть ли линия «Inherits» внутри. Если есть, проверьте, существует ли такая же тема в системе (переименуйте, если необходимо).

Настройка

Существуют различные способы настройки установленных тем.

LXAppearance

LXAppearance устанавливает курсор по умолчанию путем создания файла index.theme, как указано в спецификации XDG.

Спецификация XDG

Этот метод применим к X11 и Wayland.

Конфигурация для конкретного пользователя проходит путем создания и редактирования файла ~/.icons/default/index.theme. Общесистемная конфигурация происходит путем редактирования файла /usr/share/icons/default/index.theme.

Укажите имя каталога темы:

~/.icons/default/index.theme
[icon theme] 
Inherits=имя-темы
Важно: Создание символической ссылки ln -s /usr/share/icons/имя-темы/ ~/.icons/default не изменит тему курсора.

Затем, создайте символическую ссылку на соответствующую директорию темы (в данном случае общесистемная тема):

ln -s /usr/share/icons/имя-темы/cursors ~/.icons/default/cursors

Перезайдите в текущую сессию для применения изменений.

Среда рабочего стола

Среды рабочего стола используют протокол XSETTINGS, обычно он реализуется через демон настроек. Это позволяет менять курсор на лету, но в некоторых приложениях тема может не поменяться.

GNOME

Чтобы изменить тему курсора в GNOME, используйте gnome-tweak-tool или gsettings:

gsettings set org.gnome.desktop.interface cursor-theme имя-темы

X resources

Чтобы изменить тему курсора локально, добавьте в ~/.Xresources:

Xcursor.theme: имя-темы

Таким образом тема должна загрузиться оконным менеджером; если нет, можно принудительно применить тему курсора, используя ~/.xinitrc или .xprofile (в зависимости от личных предпочтений):

$ xrdb ~/.Xresources &

При необходимости, добавьте эту строку в ~/.Xresources, если ваша тема курсора поддерживает нексколько размеров:

Xcursor.size: 16
Совет: 32, 48 или 64 также могут быть хорошим размером.

Если вы сомневаетесь в том, что ваша тема поддерживает нексколько размеров, то запустите X сервер без этих настроек и дайте ему возможность выбрать размер. (Ссылайтесь на документацию вашего оконного менеджера.)

Переменные окружения

Чтобы попробовать тему для определенного приложения вы можете использовать переменные окружения:

$ XCURSOR_THEME=НазваниеТемы xclock

Менеджеры дисплея

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

GDM

Tango-dialog-warning.png

Tango-dialog-warning.png

Информация в этой статье или разделе устарела

Причина: Этот метод не работает с GDM 3.16. Он был официально объявлен неработающим. (Обсудить)

GDM игнорирует тему курсора GNOME и спецификацию XDG. Чтобы изменить курсор в GDM вы должны создать файл:

/etc/dconf/db/gdm.d/10-cursor-settings
[org/gnome/desktop/interface]
cursor-theme='имя-темы'

Затем, выполните следующую команду:

# dconf update

Решение проблем

Создание ссылок на недостающие курсоры

Приложения могу продолжать использовать тему по умолчанию, если в текущей теме отсутствуют некоторые курсоры. Это можно исправить, добавив ссылки на недостающие курсоры. Например:

$ cd ~/.icons/тема/cursors/
$ ln -s right_ptr arrow
$ ln -s cross crosshair
$ ln -s right_ptr draft_large
$ ln -s right_ptr draft_small
$ ln -s cross plus
$ ln -s left_ptr top_left_arrow
$ ln -s cross tcross
$ ln -s hand hand1
$ ln -s hand hand2
$ ln -s left_side left_tee
$ ln -s left_ptr ul_angle
$ ln -s left_ptr ur_angle
$ ln -s left_ptr_watch 08e8e1c95fe2fc01f976f1e063a24ccd

Если вышеуказанные действия не помогают, просмотрите директорию /usr/share/icons/whiteglass/cursors для того, чтобы увидеть каких курсоров не хватает в вашей теме и добавьте ссылки на них.

Совет: Вы так же можете удалить ненужные курсоры. Например, удалить курсоры "watch", "left_ptr_watch" и заменить их курсором "left_ptr":
$ cd ~/.icons/тема/cursors/
$ rm watch left_ptr_watch
$ ln -s left_ptr watch
$ ln -s left_ptr left_ptr_watch

Замена недостающих курсоров

Некоторые программы устанавливают свои курсоры, которые вы, возможно, захотите переопределить. Типичным примером этого является программа rdesktop, которая подключается к компьютеру с ОС Microsoft Windows и использует курсоры, полученные от удаленной машины, которые может часто быть трудно увидеть из-за ограничения протокола, который обеспечивает плохое качество преобразования.

Проблему можно решить заменив эти курсоры, курсорами из этой же темы (или другой). Чтобы сделать это необходимо получить хэш-код изображения. Это делается путем установки переменной окружения XCURSOR_DISCOVER и запуском требуемого приложения:

$ XCURSOR_DISCOVER=1 rdesktop ...

В первый раз (и только в первый раз) курсор устанавливается, некоторые детали будут отображаться вот так:

Cursor image name: 24020000002800000528000084810000
...
Cursor image name: 7bf1cc07d310bf080118007e08fc30ff
...
Cursor hash 24020000002800000528000084810000 returns 0x0

Для поиска xcursor использует директорию ~/.icons/default/cursors, туда следует поместить недостающие курсоры. Создайте директорию, если она не существует:

$ mkdir -p ~/.icons/default/cursors

Далее создадим ссылку на хэш-код изображения. Для примера используется курсор left_ptr из темы Vanilla-DMZ:

$ ln -s /usr/share/icons/Vanilla-DMZ/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000

Изменения будут видны после перезапуска приложения. Никаких специальных методов запуска приложений не требуется.

rdesktop

Вот некоторые распространенные курсоры Microsoft Windows, rdesktop использует их при подключении к удаленной машине под управлением Windows 7. К сожалению анимированные курсоры трудно переопределить, так как они отправляются по-кадру, поэтому изображение нужно будет для каждого кадра!

$ ln -s /usr/share/icons/$THEME/cursors/00000000017e000002fc000000000000 ~/.icons/default/cursors/xterm
$ ln -s /usr/share/icons/$THEME/cursors/00000093000010860000631100006609 ~/.icons/default/cursors/right_ptr
$ ln -s /usr/share/icons/$THEME/cursors/01e00000201c00004038000080300000 ~/.icons/default/cursors/plus
$ ln -s /usr/share/icons/$THEME/cursors/24020000002800000528000084810000 ~/.icons/default/cursors/left_ptr
$ ln -s /usr/share/icons/$THEME/cursors/6ce0180090108e0005814700a0021400 ~/.icons/default/cursors/left_ptr_watch
$ ln -s /usr/share/icons/$THEME/cursors/d2201000a2c622004385440041308800 ~/.icons/default/cursors/hand
$ ln -s /usr/share/icons/$THEME/cursors/fc618c00da110f0034fd0e004e082400 ~/.icons/default/cursors/watch

Оконный менеджер Awesome

Xcursor не работает корректно с оконным менеджером awesome. Вы можете заметить, что все курсоры работают, кроме стандартного курсора.

Для большей информации, смотрите Awesome wiki

Смотрите также

  • man Xcursor - больше информации о курсорах в X (поддерживаемые директории, форматы, совместимось).