Свой курсор для linux

Cursor themes (Русский)

Состояние перевода: На этой странице представлен перевод статьи Cursor themes. Дата последней синхронизации: 9 октября 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

Установка

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

Пакеты

Вручную

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

Сайты, где можно найти темы:

Чтобы установить тему для конкретного пользователя, распакуйте её в ~/.local/share/icons/ или ~/.icons/ :

$ tar xvf foobar-cursor-theme.tar.gz -C ~/.local/share/icons

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

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

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

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

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

Настройка

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

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

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

Опция Inherits в разделе [icon theme] должна быть установлена на имя каталога темы имя_темы , например xcursor-breeze-snow :

[icon theme] Inherits=имя_темы

Затем отредактируйте ~/.config/gtk-3.0/settings.ini , заменяя имя_темы на соответствующее название:

[Settings] gtk-cursor-theme-name=имя_темы

Перелогиньтесь, чтобы изменения вступили в силу.

LXAppearance

LXAppearance устанавливает курсор по умолчанию путём создания файла ~/.icons/default/index.theme . LXAppearance перезапишет любые изменения, сделанные вручную. Не забудьте отредактировать ~/.config/gtk-3.0/settings.ini , как это указано в Спецификации XDG, потому что некоторые приложения, например Firefox, используют эти настройки.

Читайте также:  Команды линукс при запуске

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

Среды рабочего стола используют протокол XSETTINGS, обычно реализуемый через демон настроек. Несмотря на возможность изменения темы на лету, в некоторых приложениях это не работает. Чтобы изменить тему вручную, смотрите #Спецификацию XDG.

GNOME

Тема курсора в GNOME изменяется посредством gnome-tweaks или gsettings:

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

Изменение размера курсора (зависит от темы. Размеры могут быть следующими: 24, 32, 48, 64):

gsettings set org.gnome.desktop.interface cursor-size размер 

Mate

В MATE можно использовать mate-control-center или gsettings:

gsettings set org.mate.peripherals-mouse cursor-theme имя_темы 
gsettings set org.mate.peripherals-mouse размер 

XFCE

xfconf-query --channel xsettings --property /Gtk/CursorThemeName --set имя_темы 
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --set размер 

X resources

Для локального изменения темы, добавьте в ~/.Xresources :

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

Тема должна загрузиться оконным менеджером. Если этого не произошло, её можно принудительно загрузить посредством ~/.xinitrc или .xprofile:

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

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

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

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

$ XCURSOR_THEME=ИмяТемы xclock

Если тема поддерживает несколько размеров, XCURSOR_SIZE является необязательным.

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

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

GDM

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

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

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

$ 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 , чтобы увидеть, каких курсоров не хватает в теме, и добавить ссылки на них.

$ cd ~/.icons/тема/cursors/ $ rm watch left_ptr_watch $ ln -s left_ptr watch $ ln -s left_ptr left_ptr_watch

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

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

Читайте также:  Cpu sockets in linux

Проблему можно решить, заменив эти курсоры курсорами из этой же темы (или другой). Чтобы сделать это, необходимо получить хеш изображения. Это делается путём установки переменной окружения 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/xterm ~/.icons/default/cursors/00000000017e000002fc000000000000 $ ln -s /usr/share/icons/$THEME/cursors/right_ptr ~/.icons/default/cursors/00000093000010860000631100006609 $ ln -s /usr/share/icons/$THEME/cursors/plus ~/.icons/default/cursors/01e00000201c00004038000080300000 $ ln -s /usr/share/icons/$THEME/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000 $ ln -s /usr/share/icons/$THEME/cursors/left_ptr_watch ~/.icons/default/cursors/6ce0180090108e0005814700a0021400 $ ln -s /usr/share/icons/$THEME/cursors/hand ~/.icons/default/cursors/d2201000a2c622004385440041308800 $ ln -s /usr/share/icons/$THEME/cursors/watch ~/.icons/default/cursors/fc618c00da110f0034fd0e004e082400

Изменение стандартного курсора X сервера

Стандартный курсор X-сервера появляется в форме Xcursor в оконных менеджерах, где не установлен курсор по умолчанию в left_ptr или в оконных менеджерах, где используется XCB (таких как awesome) вместо Xlib.

Чтобы исправить это, просто добавьте следующее в ~/.xinitrc , файлы конфигурации xsession или оконного менеджера, которые выполняются при запуске, если это возможно (например, bspwmrc оконного менеджера bspwm):

$ xsetroot -cursor_name left_ptr

Список стилей курсора протокола X: appendix B

.Xdefaults

Если у вас есть конфликтующие курсоры, это может быть вызвано тем, что другой курсор был определён в файле ~/.Xdefaults .

Читайте также:  Скопировать папку в терминале линукс

Размер курсора не изменяется при загрузке

Если вы хотите изменить размер курсора через ~/.Xresources в ~/.xinitrc , и он не изменяется, то проверьте, что xrandr запускается перед загрузкой ~/.Xresources

~/.xinitrc должен выглядеть примерно следующим образом:

xrandr && . xrdb -merge ~/.Xresources && exec wm

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

Источник

Xcursorgen

Xcursorgen [dead link 2023-05-06 ⓘ] is a tool that allows for creation of cursor files to be used with Xorg. Cursor can be created from png files.

Installation

Usage

By default, the user has to supply two files to xcursorgen:

Xcursorgen takes two arguments: the configuration file and an output path.

The configuration file must at least contain the following, space-delimited values:

  • image size in pixels
  • hotx : the x coordinate of the pointer’s tip
  • hoty : the y coordinate of the pointer’s tip
  • file name

Suppose there is an image file named red.png of 32×32 pixels. Save this configuration file alongside:

$ xcursorgen red.cursor default

This will create the cursor as default which can later on be used with xorg. The pointer’s tip is located in the upper left.

Animated cursors

Animated cursors are created from multiple image files. For animated cursors copy the configuration line for each image file and specify a delay in milliseconds for each frame:

32 2 4 anim01.png 50 32 2 4 anim02.png 50 32 2 4 anim03.png 50 32 2 4 anim04.png 50

Installing created cursor files

If only some cursors of an already existing cursor theme should be changed, create a custom directory in ~/.icons/ . Create this file inside the folder:

[Icon Theme] Name = Comment = Example = default Inherits =

Note that the has to be the same as the directory name.

Next, copy the cursor file created from xcursorgen into a subdirectory cursors , e. g.:

RedCursors/ |── cursors | |── default | └── xterm └── index.theme

Now, configure your system to use this newly created cursor theme. Note that most applications have to be restarted to use the new cursor theme.

See also

Источник

Оцените статью
Adblock
detector