Как переопределить пользовательский курсор мыши с Xcursor?

Зависит от того, что Вы подразумеваете "под узлом файла" и "inode". У меня нет той книги, но я собираюсь попытаться ответить на Ваш вопрос.

Традиционно, термин "inode" упомянул дисковые метаданные о файле. Это включает идентификатор владельца, полномочия, размер файла в байтах и ссылки на дисковые блоки, которые содержали фактические данные файла. О, и подсчет ссылок.

Традиционно, каталог был просто файлом с особенно-отформатированными-данными и меткой на ее inode, который указал, "этот файл составляет каталог". Каждая запись особенно-отформатированных-данных содержала имя (в форме завершенного пустым указателем массива байтов, строки языка C), и inode число. От inode числа могло искать ядро, где найти inode (дисковые метаданные). Для каждой записи каталога код файловой системы ядра, как предполагалось, увеличил подсчет ссылок inode. Вы видите это число каналов с stat команда, под большинством рысей, любым путем.

Термин "файл узла" может отнестись к записи каталога, по существу название файла. Много имен файлов могут относиться к тому же inode, каждое дополнительное имя файла увеличит число каналов одним.

Можно продемонстрировать многое из этого себе:

touch somefilename
ln somefilename anothername
ls -li somefilename anothername

Необходимо видеть идентичные числа (inode число) как первое поле ls -li вывод для этих двух файлов. Можно использовать stat somefilename и stat anothername подтверждать inode числа и числа каналов. Удалите один из файлов, затем сделайте a stat на остающемся файле для наблюдения числа каналов уменьшился.

7
01.07.2014, 15:40
1 ответ

Я придумал, как это сделать. Во-первых, вы должны установить переменную окружения XCURSOR_DISCOVER перед запуском программы, которая устанавливает курсор мыши, в моем случае, rdesktop:

$ XCURSOR_DISCOVER=1 rdesktop ...

Это будет затем распечатать растровые изображения и хэши каждого курсора один раз только, когда они устанавливаются в первый раз. Вот что выдаётся при установке курсора Windows по умолчанию, а именно изображение, которое я хочу переопределить:

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

Вот и всё! Изменение должно быть видно немедленно.

8
27.01.2020, 20:17

Теги

Похожие вопросы