Как удалить ярлык линукс

Содержание
  1. unixforum.org
  2. Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  3. Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  4. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  5. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  6. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  7. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  8. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  9. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  10. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  11. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  12. Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.
  13. Alacarte, редактировать, создавать или удалять ярлыки в меню приложения
  14. Установите Alacarte на Ubuntu
  15. Что нужно делать с Alacarte
  16. Редактировать ярлыки приложений в меню приложения Ubuntu
  17. Удалить ярлыки приложений
  18. Создать новые ярлыки
  19. Lubuntu.ru
  20. Не удаляется ярлык из меню пуск
  21. Не удаляется ярлык из меню пуск
  22. Re: Не удаляется ярлык из меню пуск
  23. Re: Не удаляется ярлык из меню пуск
  24. Re: Не удаляется ярлык из меню пуск
  25. Re: Не удаляется ярлык из меню пуск
  26. Re: Не удаляется ярлык из меню пуск
  27. Re: Не удаляется ярлык из меню пуск
  28. Как удалить все ярлыки с рабочего стола?
  29. Файлы ярлыков приложений («.desktop») и их меню
  30. Дубликаты не найдены
  31. GNU/Linux
  32. Правила сообщества
  33. Архивация и компрессия файлов. Часть 2
  34. Архивация и компрессия файлов. Часть 1
  35. Шрифты в Linux

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение JCHouse » 27.10.2007 22:35

Собсна сабдж! Поаставались ярлыки после юзания вайна а как удалить я не знаю, и папки этой найти не могу.

Вот примерчик того что нуна убрать

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение JCHouse » 28.10.2007 00:05

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение JCHouse » 28.10.2007 11:57

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение nialiv » 21.10.2017 08:42

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение NickLion » 21.10.2017 12:27

/.local/share/applications и удалите ненужные.

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение nialiv » 21.10.2017 18:41

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение art.dan.05 » 15.10.2020 12:45

/.local/share/applications и удалите ненужные.

Re: Решено: [Ubuntu] Как удалить ярлыки из меню Application.

Сообщение Bizdelnick » 15.10.2020 13:37

— домашний каталог, вида /home/username. .local — скрытый каталог, нужно включить их отображение (Ctrl+H, скорее всего).

Источник

Alacarte, редактировать, создавать или удалять ярлыки в меню приложения

В следующей статье мы рассмотрим Alacarte. Если вы когда-нибудь хотели отредактировать, удалить или создавать ярлыки приложений в Ubuntu, но вы не знаете, как это сделать, это приложение может вам помочь. В следующих строках мы увидим, как они могут быть редактировать, создавать или удалять ярлыки приложений в меню приложений Ubuntu.

Alacarte, ранее называвшийся простым меню редактирования для GNOME, является частью этого рабочего стола, начиная с версии 2.16. Редактор меню Alacarte, несмотря на свой возраст, работает на всех разновидностях Ubuntu, а не только в основной версии. Он также будет работать в других операционных системах Gnu / Linux на базе Ubuntu. Для получения дополнительной информации об Alacarte пользователи могут обратиться к страницы.

Установите Alacarte на Ubuntu

Если он не установлен в нашей системе, мы можем приступаем к его установке в нашей системе открытие терминала (Ctrl + Alt + T). Оказавшись в нем, вам просто нужно использовать apt для его установки:

Если вы не хотите использовать терминал для установки, вы также можете открыть вариант программного обеспечения Ubuntu. Когда он закончит загрузку, мы уже можем искать »Alacarte‘в поле поиска.

В результатах мы увидим ‘Alacarte‘, даже то, что появится с именем «Главное меню«, как вы можете видеть на предыдущем скриншоте. Если мы выберем его, он предложит нам кнопку установки, на которую мы нажмем, чтобы начать установку программы. Перед тем, как он начнет установку, мы увидим на экране окно с запросом пароля. В нем нам нужно будет написать пароль нашего текущего пользователя и нажать Enter.

Когда установка Alacarte будет завершена, мы сможем найти средство запуска программы на нашем компьютере.

Что нужно делать с Alacarte

Редактировать ярлыки приложений в меню приложения Ubuntu

Чтобы редактировать ярлыки приложений в меню приложений Ubuntu, нам нужно только открыть Alacarte. Если по какой-то причине вы не можете найти Alacarte в меню приложений, нажмите Alt + F2, чтобы открыть панель быстрого запуска. Затем введите команду Alacarte и нажмите Главная для запуска программы.

В Alacarte вы увидите полное меню приложений, разделенных на отдельные категории. Доступно много разных категорий. Посмотрите на категории и нажмите на ту, где есть ярлык для приложения, которое вы хотите отредактировать..

После нажатия на ярлык приложения, ищите кнопку ‘свойства‘и выберите его. Окно ‘Свойства пусковой установки».

В этом окне мы сможем внести изменения в программу запуска.. Чтобы изменить название программы, просто перейдите к опции ‘Имя‘и измените имя в текстовом поле. Мы также можем изменить команду, щелкнув поле ‘команда‘или поиск исполняемого файла с помощью кнопки’Приложения‘. Еще одна вещь, которую мы можем изменить, — это значок программы, щелкнув существующий значок.

Когда мы закончим модификации, все, что вам нужно сделать, это нажать кнопку ‘принимать». Ubuntu должен автоматически обновлять внесенные изменения.

Удалить ярлыки приложений

Вы можете удалить приложение из меню приложений Ubuntu напрямую, чтобы оно больше не отображалось. Это легко сделать с помощью Alacarte.

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

После выбора мы будем найди кнопкуудалять‘ На правой стороне и щелкните мышью, чтобы удалить ярлык из меню приложения. Мы можем повторить этот процесс, чтобы удалить столько ярлыков, сколько захотим.

Создать новые ярлыки

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

Перед нами откроется окно, в котором мы сможем создать новый ярлык. Заполните поля и нажмите ‘принимать« когда вы закончите, чтобы сохранить новый ярлык.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Alacarte, редактировать, создавать или удалять ярлыки в меню приложения

Источник

Lubuntu.ru

Русскоязычное сообщество Lubuntu Linux

Не удаляется ярлык из меню пуск

Модератор: Vadim

Не удаляется ярлык из меню пуск

Сообщение Bloombery » 30 июл 2017, 10:25

Re: Не удаляется ярлык из меню пуск

Сообщение adventurer » 30 июл 2017, 13:01

Re: Не удаляется ярлык из меню пуск

Сообщение aleks@ » 30 июл 2017, 14:11

Re: Не удаляется ярлык из меню пуск

Сообщение Bloombery » 30 июл 2017, 15:34

adventurer удалял игру Flatout 2 скачанную с GOG’a. В пути к исполняемым файлам были пробелы, игра не запускалась и не удалялась, пришлось удалить папку, причем из под рута, т.к. по другому не хотела. Папка находилась по адресу home/polsovatel/GOG Games

aleks@ Спасибо за программу, но у меня нашлись файлы только из нормально установленной версии игры, т.к. я ее переустановил ее, удалив пробелы.

Re: Не удаляется ярлык из меню пуск

Сообщение aleks@ » 30 июл 2017, 20:41

Re: Не удаляется ярлык из меню пуск

Сообщение chadwick » 30 июл 2017, 21:16

Re: Не удаляется ярлык из меню пуск

Сообщение aleks@ » 31 июл 2017, 09:15

Есть такой способ поиска следов.
Смотрим список всех пакетов , которые были удалены через remove, от которых остались следы (конфиг файлы на уровне системы)

покажет список следов от пакетов
удаляем следы

sudo dpkg —purge (имя пакета, следы пакета)
______________________

Посмотреть список пакетов, которые были удалены, но файлы конфигураций остались, можно с помощью:

dpkg -l | grep ‘^rc’

Полностью можно удалить так:

dpkg -P имя_пакета

Если список удаляемых пакетов большой, то можно удалить и так:

dpkg -l | awk ‘/^rc/‘ | xargs dpkg -P

Источник

Как удалить все ярлыки с рабочего стола?

Windows Mobile 6.5 Pro, HTC HD2. Как удалить ярлыки с рабочего стола
Здравствуйте! На днях обзавелся первым в своей тридцатилетней жизни смартфоном — HTC HD2.

Как с помощью бат-файла убрать все ярлыки с рабочего стола?
Как с помощью бат файла убрать все ярлыки с рабочего стола .

Пропали все файлы и ярлыки с рабочего стола
Всем привет! Скачал и установил Widi. После чего начали пропадать ярлыки с Раб. Стола.

Все ярлыки рабочего стола начали открываться блокнотом
Здраствуйте! У меня огромная проблема! Открывал один файл «ехе» блокнотом,после этого все ярлыки.

А у вас какое DE?
Насколько я знаю в XFCE это очень просто сделать через настройку раб. стола:

1. Правая кнопка мыши > Настройка рабочего стола. > Значки
2. убираете галочки
3. готово.

Добавлено через 20 минут
Если у вас Gnome 2 как у меня, то надо:
1. скачать #apt-get install gconf-editor
2. Приложения > Стандартные > Редактор конфигурации
3. apps > nautilus > preferences
4. снимаете галочку с show_desktop
5. готово.

Дык тогда вообще на рабочий стол не какие ярлыки не перенести Я неточно описал, что мне надо. Мне надо убрать только оттуда все стандартные ярлыки.

Добавлено через 6 минут
А все нашел.apps > nautilus > desktop, и снять галочки с *.icon_visible. А также с volumes_visible

Тогда:
apps > nautilus > desktop
убираете галочки и готово

Добавлено через 1 минуту
Ой, вы уже сами нашли

если кому не лень, хочу вернуться к вопросу.
вот нет у меня icon_visible и volumes_visible, в редакт.конф. таких ключей нет. ну, я их прописала. не работают (гыгыгы)
помогите, пожалуйста, установить связь с Убунтой и убрать дом.директории с рабочего стола. я верю, спрособы есть)))

если кому не лень, хочу вернуться к вопросу.
вот нет у меня icon_visible и volumes_visible, в редакт.конф. таких ключей нет. ну, я их прописала. не работают (гыгыгы)
помогите, пожалуйста, установить связь с Убунтой и убрать дом.директории с рабочего стола. я верю, спрособы есть)))

а ещё
xdg-user-dir DESKTOP
/root/Desktop

Unsettings не помог))

буду пробовать дальше! спасибо

Добавлено через 27 минут
я совершенный новичок, но гложет сомнение, что gnome tweak tool сделает больше, чем unsettings.
подозреваю, что в корне проблема иного рода, но как объяснить — хз))) даже корзина не покидает раб.стола))) зануда такая)

Добавлено через 1 час 1 минуту
неа) пожалуйста, прошу программ настройки больше не предлагать, нет смысла

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Черные ярлыки рабочего стола
все ярлыки, кроме корзины,стали черными. Забыл уж где это править. Прошу помощи!

Пропали ярлыки с рабочего стола
Приветы, помогите пжл, кто шарит. Перед перезагрузкой компа просматривал список служб, отключат.

Скрыть ярлыки рабочего стола
Можно сделать так чтоб при запуске программы исчезали все ярлыки рабочего стола?

Пропали ярлыки с рабочего стола
Был сбой в пользователе, после чего пропали некоторые ярлыки с рабочего стола, но в папке.

Пропадают ярлыки с рабочего стола
Пропадают ярлыки с рабочего стола от эскизов остаются белые квадраты , иногда эскизы появляются.

Пропал пуск и ярлыки с рабочего стола
На работе скопировали информацию на флешку, при запуске флешки на домашнем компьютере, дернулся.

Читайте также:  0x8007025d при установке windows 10 virtualbox

Источник

Файлы ярлыков приложений («.desktop») и их меню

В Linux значки и описания программ (приложений) хранятся отдельно от исполняемых файлов. Для GUI-программ составляют «файлы рабочего стола» (desktop files), схожие по назначению с ярлыками в Windows. Более удобного имени нет, поэтому пусть и здесь будут ярлыками.

Расширение — «.desktop»; имя любое. Формат ярлыков схож с форматом файлов «.ini» в Windows. То есть это структурированный текст, разделённый на группы; имя группы в квадратных скобках; в группах заданы строки-параметры вида «ключ=значение»; строка-комментарий начинается с #.

Общие ярлыки приложений хранят в /usr/share/applications; свои — в

/.local/share/applications. Для примера — сценарий оболочки и его ярлык.

# Хранить следует здесь:

# Сделать исполняемым: chmod u+x

# Десять самых жадных до процессора процессов/потоков.

# Процессы отсортированы по убыванию жадности.

/usr/bin/watch -p -n 1 \

«ps k -%cpu -eL -o pid,comm,%cpu | head»

# Завершить — Ctrl C.

# Общее название группы для всех файлов «.desktop».

# Строка [Desktop Entry] — первая; прочие — в любом порядке.

# Какой версии спецификации соответствует сам этот файл.

# Свежая — 1.1. Не обязательно.

# Кодировка самого файла. Обычно — UTF-8.

# Списки есть, например, у iconv. Не обязательно (устарело).

# Тип объекта: Application — приложение;

# Directory — категория; Link — ссылка на ресурс Интернета.

# «Категория» здесь — это заголовок подменю

# в общем меню приложений. Здесь не переводится.

# В значении может быть несколько частей,

# их отделять символом ;.

# И в конце строки рекомендуется поставить символ ;.

# Если символ ; используется сам по себе — экранировать: \;.

# Команда для запуска. Желательно указать полный путь.

# Можно короткое имя, если программа доступна через $PATH.

# Если нужно запустить с правами суперпользователя,

# то нужно начинать команду, например, с gksudo -gk.

# Понадобится установить программу gksudo или kdesudo.

# Рабочий каталог. Не обязательно.

# Нужно ли сначала открыть окно эмулятора терминала,

# а потом запустить в нём значение Exec.

# «Да» — true; «нет» — false. Обычно «нет».

# Файл значка. Обычно указывают короткое имя без расширения.

# Стандартные форматы файлов: PNG, SVG (SVGZ).

# Значки обычно хранят в /usr/share/icons.

# Нужно ли оповещать о запуске: помигать указателем мыши

# или аплетом списка задач и тому подобное. Обычно «да».

# Название ярлыка, видимое как подпись к значку или

# как имя пункта в меню. Здесь на английском.

Name=Top 10 greedy threads

# Желательно перевести. Список условных обозначений

# языков есть, например, у locale.

Name[ru]=Десять самых жадных потоков

# Описание, обычно видимое как всплывающая подсказка.

Comment=Shows Top 10 cpu eating processes/threads

Comment[ru]=Показывает 10 самых жрущих ЦПУ процессов/потоков

# Не показывать в меню. Обычно «нет».

# Файловые ассоциации, если есть, будут работать.

# Не показывать в меню, убрать из файловых ассоциаций.

# И вообще сделать вид, что приложения не существует.

# Показывать только в указанной рабочей среде:

# GNOME, KDE, Xfce, ещё какие-нибудь через ;.

# Не показывать в указанных рабочих средах.

# В файле должен быть только один из параметров:

# либо OnlyShowIn, либо NotShowIn.

Такие файлы можно помещать на Рабочий стол по необходимости: перетаскиванием; или же копированием/ссылкой файла в

/Рабочий стол (англоязычный —

/Desktop). Расположение каталога рабочего стола может быть указано в файле

/.config/user-dirs.dirs. Его читает программа xdg-user-dirs-update, создавая указанные каталоги.

Проверить синтаксическую корректность ярлыка можно программой desktop-file-validate.

Если нужно на Рабочий стол добавить каталог, то может быть достаточно символьной ссылки. Или составить ярлык, где в Exec будет имя диспетчера файлов либо xdg-open, а потом аргумент — путь к каталогу:

В среде GNOME разработчики пытаются запретить размещение файлов на Рабочем столе. Может понадобиться специальное расширение для GNOME Shell.

Ярлык для адреса Интернета имеет другое значение Type и вместо ключа Exec содержит URL:

Адрес будет открыт браузером по умолчанию. Если нужен другой браузер, следует сделать обычный ярлык с Type=Application, далее в Exec задать имя браузера с аргументом-URL.

Есть сколько-то общепринятых категорий в спецификации к файлам меню: Audio, Education, Graphics, System и другие. Файлы категорий синтаксически аналогичны файлам ярлыков. Расширение — «.directory». Хранят их обычно в /usr/share/desktop-directories. Свои — в

/.local/share/desktop-directories. Пример файла для категории «Система» (условное имя файла — system.directory). Не используйте его как есть.

Comment=System tools and utilities

Comment[ru]=Средства администрирования системы

Графическая среда обычно автоматически при запуске каждого сеанса пересобирает меню из имеющихся ярлыков и категорий для каждого пользователя.

Формат файлов меню — XML. Расширение — «.menu». Только пример, без пояснений. Не используйте его как есть.

Проверить синтаксическую корректность меню можно программой xmllint. Все меню не проходят валидацию (не находится DTD), вероятно, из-за беспорядка на сайте FreeDesktop.org.

Редакторы меню для GUI: KMenuEdit для KDE; LXMenuEditor (lxmed) для LXDE, требует Java; MenuLibre для GNOME, XFCE; Mozo для Mate.

Свои меню хранят в

/.config/menus. Точнее, в $XDG_CONFIG_DIRS/menus/$applications.menu. Здесь XDG_MENU_PREFIX — это «gnome-«, «kde-» и тому подобное.

Своё меню вроде как должно перекрывать (заменять собой) автоматическое. Добавочные (не перекрывание, а слияние) меню хранят в $XDG_CONFIG_DIRS/menus/applications-merged/.

Документация: ярлыки; меню. Для семейства программ xdg-* и desktop-* есть man-страницы. XDG (X Desktop Group) — старое название сообщества FreeDesktop.org.

У Debian (и производных) есть своя система меню, отличающаяся от XDG. Эти меню применяют в разных небольших диспетчерах окон: awesome, fvwm, openbox и других. Документация — в пакете menu.

Дубликаты не найдены

GNU/Linux

697 постов 13.1K подписчик

Правила сообщества

Все дистрибутивы хороши.

Полезно. Много не знал.

Добавлю от себя — не уверен что так везде, но у меня в дебиане на рабочем столе *.desktop файлы не функционируют если не давать им права на исполнение. (chmod +x *.desktop)

помню удалил кнопку отвечающая за вызов меню завершения работы. Пришлось по инструкции делать свою )

А просто восстоновить меню в редакторе не легче ли было .

В среде GNOME разработчики пытаются запретить размещение файлов на Рабочем столе. Может понадобиться специальное расширение для GNOME Shell.

Что б засрать рабстол ярлыками

Ага, а нахрена он тогда еще нужен?

Спасибо! Готовая справка по .desktop!

Где ж ты был два дня назад?)

Это как взять какую-нибудь книгу, открыть на середине и сделать пост этой страницы

Тема Actions не раскрыта!

[Desktop Action 10-NewWindow]

Name=Open a New Window

Name[ru]=Открыть в новом окне

также не раскрыта тема с формированием gnome-control-centr меню и что локальные не работают.

А и еще bamf соответствие и что такое параметр WMClass

Ну и утилиты которыми собирать и проверять.

т.к. не работают относительные пути в ярлыке .desktop XFCE (Xubuntu)

для запуска портативных программ вместо такой строки:

Иконка отображается только так:

если картинку закинуть в /usr/share/picmaxs или $HOME/.local/share/picmax
то картинка будет работать так Icon=doublecmd.png вроде можно даже без расширения

если приложение надодится в env PATH то не надо указывать прямой путь для Exec=

также можно положить его в $HOME/.local/bin/ и не надо также указывать прямой путь

правда надо понимать что локальные файлы в приоритете над глобальными!

у ярлыков еще есть мараметр обработки для всяких gnome-control-centr и вот эта дрянь работает только глобально

Спасибо @balaev84av, вроде и много времени прошло, а я нашёл в этой не большой статье ответ на свой вопрос, плюс чуть-чуть нового узнал.

P.S. Ответ был в строке

Архивация и компрессия файлов. Часть 2

Многие файлы содержат сколь-нибудь повторяющуюся, лишнюю информацию. Поэтому технически возможно преобразовывать её так, чтобы уменьшить общий размер. Это и есть компрЕссия (compression, «компрЕшэн»), или сжатие, данных.

Сжатие не следует воспринимать как «удаление ненужных частей». Важно, чтобы восстановленный файл имел точно такое же содержимое, что исходный (совпадения размеров файлов — не достаточно).

Есть много алгоритмов компрессии и много форматов сжатых файлов. В UNIX и Linux популярны форматы сжатия Bzip2, Gzip (традиционный), LZMA, XZ. Для примера — те же три файла:

Компрессор gzip для формата Gzip обычно удаляет файл-операнд; иначе нужна опция -k (от keep):

Шаблоны имён здесь раскрывает оболочка. Расширение имени здесь добавляется, а не заменяет исходное.

Понятие «степень сжатия» (compression ratio) толкуется по-разному: 1) «какую долю от размера исходного файла составляет размер сжатого файла» либо 2) «какую долю удалось убрать». Обычно выражается в процентах.

Выше видно, что нулевой файл имеет степень сжатия (1) в четыре процента (то есть сжат в 25 раз), случайный файл — 104% (то есть лучше было бы его вовсе не сжимать), текстовый файл — 32% (то есть примерно втрое уменьшился).

Вот вывод компрессором информации об архиве, в том числе степени сжатия в смысле (2):

$ gzip -l file3.txt.gz | column -t

compressed uncompressed ratio uncompressed_name

29806 102400 70.9% file3.txt

В выводе не учтены внутренние вспомогательные данные формата, здесь — около 3 КиБ: 100 — 71 = 29; 32 — 29 = 3.

Нередко алгоритм допускает несколько степеней сжатия. По умолчанию программа обычно выбирает нечто среднее. За более сильное сжатие (меньше размер) приходится платить увеличенными временем упаковки и расходом оперативной памяти. Нередко выигрыш в степени сжатия оказывается незначителен. Скорость распаковки остаётся прежней.

file2.rnd: -0.0% — replaced with file2.rnd.gz

file3.txt: 70.9% — replaced with file3.txt.gz

В данном случае — никакой разницы.

Опция -f — принудительное выполнение (от force), то есть здесь — заменить (replace) уже существующий сжатый файл новым. Опция —best — сжать наилучшим доступным алгоритмом (с параметрами, нацеленными на наиболее сильное сжатие).

Можно попробовать другой компрессор/формат, например bzip2 (Bzip2, «.bz2»):

$ bzip2 -k file3.txt

Здесь есть небольшой выигрыш: 32 — 28 = 4.

Нет простого способа узнать, насколько сильным будет сжатие. Тексты часто сжимаются со степенью (1) ниже 50%. Хуже всего сжимаются хаотичные (случайные, шум) данные.

Для удобства можно считать, что для файлов средних размеров сжатие уместно, если степень (1) составляет 60% и ниже (то есть сэкономлено 40% места и больше). Если файл большой (1 ГиБ и выше), то даже небольшая экономия при сжатии может быть уместна. Уже сжатый файл обычно бесполезно сжимать ещё раз. Файлы размером ниже 3 КиБ сжимать тоже бесполезно.

Для «декомпрессии» (распаковки, извлечения оригинала) сжатого файла часто есть не только опция компрессора, но и отдельная программа-распаковщик. Или сам компрессор может быть запущен под другим именем файла (например, с жёсткой ссылкой) для распаковки — это зависит от программиста.

$ gzip -d -kf file2.rnd.gz

$ gunzip -kf file2.rnd.gz

Здесь или опция -d, или программа gunzip. Опции -k, -f — с прежним смыслом. Аналогично с BZip2:

$ bzip2 -d -kf file3.txt.bz2

$ bunzip2 -kf file3.txt.bz2

$ diff -qs /bin/bunzip2 /bin/bzip2

Файлы /bin/bunzip2 и /bin/bzip2 идентичны

Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.

Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.

Есть несколько форматов файловых систем, где файлы сжимаются/распаковываются автоматически (говорят: «на лету» (on-the-fly) или «прозрачная (transparent) распаковка»).

Есть аналоги привычных утилит с именами, начинающимися на bz (для BZip2), xz или z (GZip): bzcat, bzless, bzgrep и другие. Делают то же, что оригиналы, но со сжатыми файлами.

Midnight Commander, подобные ему двухпанельные диспетчеры файлов, некоторые другие диспетчеры — могут открывать/распаковывать архивы/сжатые файлы. Иногда есть возможность имитировать монтирование архива как каталога (только на чтение, иногда ещё и на запись). В таких случаях программе может понадобиться предварительно распаковать файлы во временный каталог (обычно куда-то в /tmp/). Это заметно как зависание программы при работе с большим (несколько десятков МиБ и выше) архивом.

Читайте также:  Проблема с темами для windows

В UNIX и Linux компрессия традиционно является операцией над одиночным файлом. То есть для компрессии каталога с содержимым — нужно сначала создать архив, а потом его сжимать (либо, реже, — сжать каждый файл, а потом заархивировать всё).

Архиватор tar может задействовать какой-либо компрессор, если тот воспринимает просто имя файла как сигнал к сжатию либо воспринимает опцию -d как сигнал к распаковке (декомпрессии). Опции tar для внешних компрессоров: -z для gzip, -j для bzip2, -J для xz. Для остальных компрессоров — опция -I (заглавная i, после которой указать имя программы). Примеры:

# Архив tar внутри сжатого файла Gzip одной командой.

$ tar -cvz -f archive.tar.gz «old»

$ du -s archive.tar.gz

archive.tar.gz: gzip compressed data

# Архив tar внутри сжатого файла Bzip2 одной командой.

$ tar -cj -f archive.tar.bz2 «old»

$ du -s archive.tar.bz2

archive.tar.bz2: bzip2 compressed data, block size = 900k

# Архив tar внутри сжатого файла LZMA одной командой.

$ tar -c -I lzma -f archive.tar.lzma «old»

$ du -s archive.tar.lzma

archive.tar.lzma: LZMA compressed data, streamed

Вместо множественных расширений вида «.tar.gz» могут попадаться одиночные: «.tgz», «.tbz», «.txz» и другие — по традиции или при необходимости соблюдать ограничения на длину имени. Устаревший компрессор — compress; расширение «.Z»; в tar есть опция -Z.

# Примеры распаковки сжатых архивов одной командой:

$ tar -xj -f archive.tar.bz2

$ tar -x -I lzma -f archive.tar.lzma

Чтобы изменить содержимое сжатого архива, программе приходится его предварительно распаковывать, а после внесения изменений — заново упаковывать обратно. Это затраты времени, оперативной памяти и, возможно, пространства на диске для временного хранения. Может оказаться удобнее — упаковать файлы в поддереве по отдельности, не создавая архива. У gzip/gunzip есть опция -r (от recursive). Для других программ можно задействовать find (и, если нужно, xargs).

В семействе Windows привыкли воспринимать архивацию и компрессию как единую, неделимую операцию. Часто говорят «заархивировать» в смысле «получить сжатый архив»; «разархивировать» — «выполнить и декомпрессию, и извлечение из архива». Или: «упаковать» и «распаковать» файлы. И сжатые файлы называют «архивами». Для большинства пользователей важно именно сжатие данных, а архивация подразумевается сама собой.

Популярные в Windows форматы сжатых файлов с возможностью хранения файлового поддерева (архива): ZIP, RAR. Соответственно программы: для командной строки — zip.exe, rar.exe; для GUI — WinZip, WinRAR. Диспетчер файлов системы Windows — Проводник (Explorer) может смонтировать архив ZIP как подкаталог там, где находится сам файл архива. Есть и другие программы, в том числе поддерживающие много форматов, например: 7-Zip, PeaZip (и вышеуказанные WinZip, WinRAR).

Набор программ p7zip (в том числе 7z, 7za) является вариантом 7-Zip для командной строки UNIX и Linux. Формат 7z может давать более сильное сжатие, чем Gzip и Bzip2.

В Linux может быть проблема с форматом ZIP для файловых имён, содержащих не-латиницу. У ZIP есть свой внутренний формат хранения имён. Если создать архив в Windows, а потом попытаться распаковать в Linux, имена превратятся в наборы кракозябров. В последнее время дистрибутивы обычно поставляют исправленные программы unzip и zip. Или придётся пробовать перекодировать имена программой iconv или convmv.

Возможные (ненадёжно) варианты перекодировки имени (предполагаемый в примере файл сохранил расширение «.pdf» на латинице, поэтому файл можно как-то задействовать через шаблон оболочки):

$ N=$(ls *.pdf | iconv -f cp1252 -t cp850 | iconv -f cp866)

# Или другой вариант:

$ N=$(ls *.pdf | iconv -t iso8859-1 | iconv -f cp866)

# После каждого варианта просмотреть

# содержимое переменной N для перекодированного имени.

# И если имя выглядит разумно, то:

Программы для Windows часто поставляются в виде особых архивов, в том числе формата Microsoft Cabinet («.cab»). Такие архивы по лицензионным соглашениям запрещено распаковывать вручную. Для Linux есть программа cabextract.

Иногда в России встречаются старые форматы архивов с внутренней компрессией: ARJ, HA, LHA и другие. Для Linux могут найтись программы: arj, ha, unar. Иначе может понадобиться устанавливать FreeDOS/Wine или иную среду выполнения DOS/Windows-программ, а потом искать соответствующие декомпрессоры.

В Windows нередко создают «самораспаковывающиеся» (self-extracting) архивы: это программа-распаковщик, к которой присоединён собственно архив. Как и обычная программа для Windows, имеют расширение «.exe». Предназначены для пользователей, у которых нет своей копии распаковщика. Иногда такой архив можно распаковать и в Linux (зависит от формата архива и наличия программ, например 7-zip). Нежелательны к применению, потому что могут содержать программы-вирусы. Не следует запускать напрямую, а лучше — открыть отдельным распаковщиком. В Linux иногда делают сценарии оболочки, состоящие из команды на распаковку и присоединённого к сценарию архива; программы: makeself, shar (sharutils).

В некоторых форматах архивов и/или сжатых файлов предусмотрено шифрование с паролем: 7z, RAR, ZIP и другие.

Компрессия данных может встретиться и на системном уровне. Например, в некоторых файловых системах нулевые фрагменты (пустые блоки) внутри файлов не хранятся и не копируются (это называется «разреженные файлы», sparse files).

Программы для GUI: Archive Manager (File Roller) для GNOME, Ark для KDE, Engrampa для MATE, PeaZip, Xarchiver. Они отображают содержимое архивов, подобно тому как диспетчеры файлов отображают содержимое каталогов; предоставляют меню команд создания/распаковки архивов. Но сами не содержат программного кода архиваторов/компрессоров, поэтому требуют установки библиотек (libarchive, liblzma, unrar и других) и самих архиваторов/компрессоров для командной строки.

В файлах мультимедиа (изображения, звук, видео) часто применяют алгоритмы «несимметричного» сжатия, то есть с частичной потерей информации. Это позволяет сжать данные ещё сильнее (в десятки или больше раз). Некоторые потери в деталях изображений или в звуковых волнах уместны, если средний человек эти оттенки/детали/шумы и прочее не различает. Такие алгоритмы обычно имеют широкий набор настроек, поэтому нужно следить за тем, чтобы качество мультимедиа не стало плохим, явно заметным.

Архивация и компрессия файлов. Часть 1

(НЕ является руководством по резервному копированию. Во второй части используется тот же тестовый каталог с теми же файлами.)

«АрхИв» (archive, «Акайв») в компьютерном смысле — набор файлов, подготовленный для длительного хранения. Предполагается, что файлами из архива какое-то время не будут пользоваться — подобно тому, как лишние вещи складывают в коробку и убирают в кладовку или ещё куда-то.

Цели архивАции файлов: иметь запасные копии; переслать несколько файлов/каталогов одной операцией; если нужно/возможно — сэкономить/высвободить место на диске. Для экономии места лишние файлы удаляют или «сжимают» (синонимы: «упаковывают», «подвергают компрессии»).

Форматы архивов по сути — контейнеры: содержат «слепок» (snapshot) или «образ» (image) некоторой части дерева файловой системы или всего дерева (или даже больше). Важно, чтобы из архива можно было «разархивИровать» (извлечь) не только содержимое файлов, но и их имена/пути, даты, права и остальные нужные метаданные.

Традиционные и/или стандартные сейчас либо ранее (в POSIX) программы-архиваторы: cpio, pax, tar. Менее известные: dar, star.

Наиболее популярна — tar. Имя означает «tape archiver». Слово «tape» означает здесь — «[магнитная] лента». Устройства хранения на кассетах с магнитными лентами есть и сейчас, в основном в крупных организациях. Такое устройство называют «стрИмером» (streamer), а кассету — «кАртриджем» (cartridge). В отличие от магнитного диска, для операций чтения/записи ленту нужно перематывать; и создавать на ленте полноценную файловую систему (форматировать) обычно нецелесообразно. Поэтому здесь не достаточно простого копирования, а нужен формат-контейнер, файл которого пишется в символьный файл-устройство стримера сплошным потоком, хотя и условно разделён на блоки.

Примеры действий с архивами tar:

# Создать тестовый каталог с содержимым.

$ fallocate -l 100KiB works/old/file1.000

# Файл из случайно сгенерированных байтов.

$ dd if=/dev/urandom bs=1k count=100 of=works/old/file2.rnd

# Текстовый файл. Аргумент iflag=fullblock нужен,

# чтобы dd дождалась достаточного объёма данных от col,

# не завершаясь раньше этого.

$ man bash | col -b \

| dd bs=1k count=100 iflag=fullblock \

# Вот итоговый вид поддерева works от программы tree.

# (Она не стандартная, устанавливают отдельно.)

(Редактор постов, как обычно, съел несколько пробелов, поэтому вместо них — звёздочки. Должно быть, разработчик редактора — любитель Пакмана.)

Предполагается заархивировать старые файлы, т. е. в old/.

-c — создать архив;

-v — выводить список обрабатываемых файлов;

-f — архив не на ленте, а в указанном файле.

Всё остальное — архивируемые файлы/каталоги; для архивации поддерева будет достаточным указать только родительский каталог.

# Кавычки — просто выделение того, что именно идёт в архив.

$ tar -c -v -f archive.tar «old»

# Посмотреть свойства архива:

archive.tar: POSIX tar archive (GNU)

# Содержимое (список файлов).

$ tar -t -f archive.tar

$ du -k archive.tar

# Освободить место, занятое старыми файлами.

# Извлечь содержимое архива.

# Сам архив останется прежним.

# Однобуквенные опции можно набрать слитно с общим дефисом.

$ tar -xvf archive.tar

Опция -x — извлечь (скопировать) файлы из архива. Буква x — от extract. Если нужны только некоторые файлы, укажите их пути точно в том виде, в каком они записаны в архиве. В командном выражении пути файлов, извлекаемых из архива, указывают там, где при создании архива были указаны файлы, идущие в архив (то есть в конце).

Можно попробовать указать шаблоны имён с символами * и ?, но дополнительно нужна опция —wildcards, например:

$ tar -xv —wildcards -f archive.tar ‘*file. ‘

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

Архив можно пополнить. Пополнение архивов бывает «добавлением» (append) или «обновлением» (update).

Если нужно добавить какие-то ещё файлы — опция -r вместо -c; и опять указать пути к файлам в конце командного выражения.

Если в том же каталоге появились новые файлы или поправлены старые, то это обновление (замена старых файлов на новые); вместо опции -c указать -u. Программа tar сама обнаружит и добавит в архив новые/исправленные файлы.

$ mv today/file3.txt old/

$ tar -uvf archive.tar «old»

$ tar -tf archive.tar

Опция —delete — удалить файлы из архива (только если архив не на ленте):

# Всё равно этот файл состоял только из нулей.

# Здесь путь к файлу не выводится.

$ tar —delete -v -f archive.tar «old/file1.000»

$ tar -tf archive.tar

В архивах tar можно хранить несколько файлов с одинаковым путём. Выполняется повторными действиями добавления и обновления. В списке по -t очередь идёт снизу вверх, то есть сверху — архивированные последними. Опция —occurence=3 — выполнить действие над третьим по очереди добавления файлом из тех, что с одинаковым путём (нумерация начинается с единицы).

И ещё много разных опций, например:

-k — не извлекать файлы, если они уже есть в целевом каталоге;

—keep-newer-files — почти то же, но с уточнением, если уже имеющиеся в целевом каталоге файлы — более новые (по метаданным даты и времени), чем в архиве;

-p — метаданные о правах на файлы тоже восстанавливать из архива при извлечении;

—same-owner — восстанавливать имя владельца и группы;

-w — просить подтверждения на каждое действие.

Документация: man tar, info tar.

Благодаря сохранению метаданных, архиваторы иногда применяют для аккуратного копирования по конвейеру, например:

$ find . -depth -print0 | cpio —null -pvd ../old

Программа find часто служит генератором списка имён для архивации или иных массовых действий над файлами. Архиватор cpio всегда требует перенаправления: или |. Опции -print0 и —null — для корректной обработки путей, содержащих кириллицу, пробелы и иные символы за пределами правила «8.3» и подобных ему ограничений.

Следите за тем, чтобы правильно строить пути (чтобы, например, не получилось в итоге works/old/today/file3.txt вместо works/old/file3.txt). Для начала стоит запустить только find.

Формат tar имеет проблемы с хранением специальных файлов, со скоростью поиска файла в архиве, с хранением некоторых метаданных. Если это критично, то следует применять архиватор dar.

Шрифты в Linux

(НЕ является инструкцией по руссификации интерфейса.)

Что такое шрифт

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

Файл шрифта (font file) содержит наборы изображений (рисунков) символов и соответствующие символам коды. Технически шрифты могут быть растровыми (bitmap fonts) или векторными (outline/vector fonts).

Растровые шрифты обычно применяют для текстового интерфейса. Рисунок символа (глиф) здесь — прямоугольный набор точек. Например, если размер текстового экрана 640×480 пикселов, а терминал настроен в режиме 80×30 (80 символов в 30 строках), то подойдёт шрифт, в котором ширина глифа — 8 пикселов, а высота — 16 (16×8).

Пример того, как может выглядеть буква А в растровом шрифте с глифами размером 16×8 точек. Пустые/фоновые пикселы показаны символом

Пустое место сверху можно оставить, чтобы строки не сливались, снизу — чтобы уместить, например, буквы р или у.

Отрисовка растровых глифов на экране — относительно простая операция отображения уже готовых наборов точек на пикселы дисплея. Но растровые шрифты обычно содержат глифы только одного размера. В GUI нередко требуется отрисовывать символы разных размеров (разного кегля) одновременно, поэтому применяют векторные шрифты. Как и прочие векторные изображения, глифы таких шрифтов содержат наборы параметров для математических фигур; при использовании шрифта программа «растеризУет» глифы (создаёт набор точек). Готовые растеризованные глифы называют «кэшем шрифта» (font cache).

Высоту заглавных символов называют «кеглем» (font size). Есть несколько шкал кегля; можно условно считать, что одна единица высоты примерно равна 0,3-0,4 мм. Например, «сделать двенадцатым кеглем» означает, что высота заглавных символов будет примерно 3,6-4,8 мм; «шрифт высотой десять» — 3-4 мм. Предполагается, что на разных мониторах растровые шрифты одинакового размера (в текстовом интерфейсе) выглядят различно; но векторные шрифты одного кегля (в GUI) должны выглядеть одинаково.

На не очень новых мониторах с разрешением около 100 dpi кегль 5 и ниже — неразборчиво мал; для виджетов обычно выбирают кегль 10 или 12.

Шрифты бывают моноширинными (monospace) и пропорциональными (proportional или не указано). «Моноширинный» означает, что все глифы одинаковой ширины, занимают одинаковое место по горизонтали; хотя между соседними символами в линии может быть видно немного свободного пространства (не пробелы), но сдвинуть символы поближе друг к другу не получится. Текстовый интерфейс — традиционно моноширинный. То есть, например, 80 символов в линии (видимой строке); символы выровнены по вертикали (строго друг над другом). В пропорциональном шрифте, например, символы Щ и Л — разной ширины; в линиях одного виджета (например, текстовой области) может умещаться разное число символов.

Основную графическую идею (стиль) шрифта называют «гарнитУрой» (typeface, или font face). Символы одной гарнитуры схожи примерно так же, как инструменты из одного набора или предметы посуды из одного сервиза.

Есть несколько классификаций гарнитур. В простых случаях выделяют «рубленые» шрифты (без засечек, sans serif) — обычно для заголовков или надписей; и шрифты «с засечками» (serif) — обычно для основного текста. ЗасЕчка — небольшой декоративный поперечный штрих на конце черты некоторого символа. «Декоративные» шрифты (в названии может быть script) — имитация письма от руки. Есть шрифты, состоящие разных вспомогательных символов (symbols, dingbats), например, шахматных фигур, маркеров или орнаментов.

Внутри гарнитуры могут быть дополнительные стили — «начертания» (slants); обычно это нормальное начертание (Medium, Normal, Regular или Roman), курсИв[ное] (Italic, или Oblique), жирное/полужирное (Bold/Semibold). Начертания хранят в отдельных файлах; некоторые графические редакторы или офисные текстовые процессоры могут имитировать начертания, имея лишь один файл с нормальным начертанием.

Шрифты в текстовой консоли

Формат файлов шрифтов для текстового режима Linux — PC Screen Font («.psf» или «.psfu»). Здесь u означает Unicode. (Раньше для русского языка были кодировки KOI-8R и CP1251.) Документация по PC Screen Font есть в пакете kbd (/usr/share/doc/kbd/).

Сами файлы шрифтов обычно хранят в /usr/share/consolefonts, /usr/share/syscons/fonts/, /usr/share/kbd/consolefonts или в /usr/share/fonts. Обычно файлы дополнительно сжаты gzip. Размер — несколько КиБ. Файлы, включающие и глифы кириллицы, обычно имеют в имени Cyrillic или сокращённо cyr.

Традиционный шрифт — VGA или Fixed, более новый и приятный для глаз — Terminus. Пример файла шрифта гарнитуры Fixed:

$ file -z CyrSlav-Fixed16.psf.gz

CyrSlav-Fixed16.psf.gz: Linux/i386 PC Screen Font v1 data, 256 characters, Unicode directory, 8×16 (gzip compressed data, last modified: Wed Feb 1 12:35:37 2017, max compression, from Unix)

В настоящее время текстовая консоль Linux может использовать шрифты в кодировке Unicode (по умолчанию — кодировка CP437 и встроенный в ядро шрифт). В шрифте допустимо 512 глифов; возможно отображение 8 цветов. Или 256 глифов, но 16 цветов. Показать набор символов текущего шрифта (выполнять в текстовой консоли, не в эмуляторе терминала):

Для правильного соответствия глифов кодам Unicode — нужна вспомогательная таблица (translation map, unimap), которая раньше хранилась в отдельном файле, а сейчас может входить в основной файл шрифта (обычно, но не обязательно, с расширением «.psfu»). Таблицы unimaps («.acm» или «.acm.gz») хранят в /usr/share/consoletrans/, /usr/share/unimaps или /usr/share/syscons/scrnmaps/. Программа psfgettable служит для копирования таблицы unimap из шрифта; psfaddtable — для добавления.

Вспомогательные программы для правки шрифтов: nafe ( https://sourceforge.net/projects/nafe/ ), psftools ( https://tset.de/psftools/index.html ), rw-psf ( https://github.com/talamus/rw-psf ). Они конвертируют символы в ascii-art (вроде вышеуказанного примера буквы А) или растровые изображения. После правки в текстовом или графическом редакторе можно конвертировать файл обратно в шрифт.

Настройки применения шрифта — файл /etc/default/console-setup или

Применить настройки на текущей консоли:

Пакеты программ: kbd, console-setup. Документация: man-страницы console-setup, setfont, setupcon. В инсталляциях с systemd может быть файл настроек /etc/vconsole.conf и сервис systemd-vconsole-setup.service. Документация: man-страницы systemd-vconsole-setup.service, vconsole.conf.

Шрифты в графической консоли

Форматы шрифтов для GUI:

Portable Compiled Font (PCF, «.pcf» или сжатый «.pcf.gz»), растровый;

Bitmap Distribution Format (BDF, «.bdf» или сжатый «.bdf.gz»), растровый;

TrueType Font (TTF, «.ttf»), векторный;

OpenType Font (OTF, «.otf»), векторный;

Type 1 PostScript font ASCII (PFA, «.pfa»), векторный;

Type 1 PostScript font binary (PFB, «.pfb»), векторный;

и ещё несколько более редких.

Наиболее популярные форматы: TTF, OTF (и их контейнер для веб-страниц — Web Open Font Format, «.woff»/».woff2″).

Размеры файлов — от сотен КиБ до нескольких МиБ или ещё больше; зависит от количества символов (которых могут быть тысячи). Обычно файлы, содержащие латиницу и кириллицу, специально не помечаются. Файлы, содержащие символы восточных языков, содержат в имени указание на язык, например: arabic, thai.

NotoSans-Regular.ttf: TrueType font data

$ ls -ks NotoSans-Regular.ttf

Графическая подсистема X Window System задействует шрифты сама или через библиотеки. X-программа (клиент сервера X Window) может запросить отрисовку шрифта по записи формата X Logical Font Description (XLFD). Запись состоит из 14 полей через дефисы. Пример:

Здесь cronyx — семейство шрифтов, times — гарнитура, medium и i (italic) — начертания, 14 — кегль, 100 — предполагаемые разрешения дисплея по горизонтали и вертикали, iso10646 и следующее поле — кодировка. Остальные поля менее важны; звёздочка является метасимволом и предлагает программе самой выбрать значение поля.

Значения можно подбирать GUI-программой xfontsel. Кнопка select копирует запись в буфер X, откуда её можно вставить в редактор средней кнопкой мыши (колёсиком).

Посмотреть список доступных серверу шрифтов — xlsfonts.

Посмотреть таблицу глифов — xfd (или вообще указать некоторой X-программе использовать заданный шрифт опцией -fn):

$ xfd -fn ‘-cronyx-times-medium-i-*-*-14-*-100-100-*-*-iso10646-1’

Кодировка iso10646 — одно из названий Unicode. Поддержка Unicode в самой X Window System работает плохо, поэтому сейчас юникодные шрифты обрабатываются отдельными библиотеками. Но желательно иметь хоть какой-то шрифт в одной из кодировок семейства iso8859 или иной — просто для начального запуска сервера X Window.

Настройки применения шрифтов в общем файле /etc/X11/xorg.conf:

# Прочие параметры этой секции.

В указанных каталогах следует запустить программы mkfontscale и mkfontdir. В результате должны появиться файлы encodings.dir, fonts.alias, fonts.dir.

Шрифт можно подключить временно, вручную:

xset +fp /usr/share/fonts/X11/misc

# Перечитать списки шрифтов.

Вспомогательная шрифтовая библиотека для GUI — Fontconfig. Она ведёт каталоги установленных в системе шрифтов и предоставляет программам шрифты, подходящие по требованиям. Библиотека Fontconfig сама не занимается растеризацией шрифтов.

К библиотеке прилагается семейство программ fc-*, в том числе:

fc-cache — создать/пересоздать кэш шрифтов;

fc-list — показать список установленных в системе шрифтов (выводится много информации, в том числе поддерживаемые языки). Возможно задать условие, например (вывод сокращён):

# Показать установленные шрифты, имеющие символы русской кириллицы.

DejaVu Sans,DejaVu Sans Light

Nimbus Roman No9 L

fc-validate — узнать, есть ли в шрифте символы алфавита для заданного языка, например:

$ fc-validate -l ru NotoSans-Regular.ttf

NotoSans-Regular.ttf:0 Satisfy the coverage for ru language

$ fc-validate -l en NotoSans-Regular.ttf

NotoSans-Regular.ttf:0 Satisfy the coverage for en language

$ fc-validate -l ru NotoKufiArabic-Regular.ttf

NotoKufiArabic-Regular.ttf:0 Missing 66 glyph(s) to satisfy the coverage for ru language

$ fc-validate -l en NotoKufiArabic-Regular.ttf

NotoKufiArabic-Regular.ttf:0 Missing 72 glyph(s) to satisfy the coverage for en language

$ fc-validate -l ar NotoKufiArabic-Regular.ttf

NotoKufiArabic-Regular.ttf:0 Satisfy the coverage for ar language

То есть в основном файле есть символы для русского, английского языков; в файле для арабского языка есть только арабица.

Документация: man-страницы; HTML-документация в /usr/share/doc/fontconfig. Обозначения языков — по RFC-3066/ISO 639.

Основной XML-файл настроек Fontconfig — /etc/fonts/fonts.conf. Документация: man fonts-conf. Там же указаны имена других файлов, например пользовательский

Каталоги для хранения шрифтов: общий /usr/share/fonts/, пользовательский

/.fonts/). В fonts.conf можно указать другие.

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

Семейства свободно доступных шрифтов, которые считают приятными для глаз: Cantarell, Droid, Noto, Ubuntu. Шрифты со вспомогательными символами: OpenSymbol, Symbola; или Dingbats и Wingdings из Windows.

Для установки шрифта, поддерживаемого Fontconfig, нужно скопировать его файлы в один из каталогов хранения (можно во вложенный каталог). Желательно правильно установить целевые права, например 444 для файлов и 555 для каталогов. Потом запустить fc-cache (может сработать автоматически).

Офисные документы, электронные книги и другие файлы документов/изображений нередко могут хранить внутри себя сами файлы шрифтов (полностью или частично), но часто — содержат только что-то вроде ссылки на имя шрифта. Если скопировать файл документа/изображения на другой компьютер, где нет подходящего шрифта — программа либо покажет пустые/неверные глифы, либо попробует (зависит от программистов) «подставить» хоть какой-то подходящий шрифт (substitute a font). Даже при подстановке вид документа/изображения может быть испорчен из-за того, что размеры глифов в разных шрифтах не совпадают.

Для офисных документов популярны семейства шрифты из Windows: Arial, Courier New, Times и другие (форматы TTF, OTF).

Их можно скопировать из инсталляции Windows (каталог Windows\Fonts\).

В дистрибутивах могут быть пакеты, копирующие файлы шрифтов из Интернета. Помещать сами эти шрифты в пакет запрещено лицензионным соглашением.

Можно скопировать их из Интернета самостоятельно и распаковать программой cabextract. Ищите в репозиториях сервиса SourceForge.net по выражению «Microsoft core fonts».

Для подстановки можно применять шрифты семейства Liberation (соответственно Sans, Mono, Serif). Они, насколько возможно, «метрически совместимы» (metrically compatible) со шрифтами из Windows, то есть глифы сходных размеров. Другие метрически совместимые шрифты:

семейство Croscore (соответственно Arimo, Cousine, Tinos);

[Astra] Sans, [Astra] Serif и Mono от фирмы Paratype;

семейство XO Fonts (Oriel, Courser, Thames, символьные шрифты Symbol и Windy).

В графической подсистеме X Window System растеризацией занимается своя библиотека Xft. В последние годы операции растеризации передаются внешним библиотекам: Cairo, FreeType, Pango. Графическая подсистема Wayland сама никак не взаимодействует со шрифтами, все программы обращаются к внешним библиотекам.

Растеризованные глифы малого кегля могут выглядеть грубо/нечётко. Чтобы улучшить вид, применяют методы отрисовки под общим названием «сглаживание» (anti-aliasing). Иногда сглаженные глифы выглядит отчасти цветными из-за «субпиксельного рендеринга» — то есть дорисованные пикселы не чёрные или серые, а других цветов. Эффект зависит от порядка расположения цветных элементов (субпикселов) в пикселах.

В шрифтах TrueType могут быть дополнительные встроенные данные (hints) по отрисовке; их применение называется «хИнтинг» (hinting). В библиотеке FreeType наилучший алгоритм отрисовки (TrueType Bytecode Interpreter) был запрещён патентами примерно до 2010 года/версии 2.4.

Источник

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