Используйте фавиконки правильно
Фавиконка (favicon) — это иконка, которая отображается во вкладке браузера перед названием страницы. Также эта иконка отображается в закладках и на рабочем столе для веб-приложений.
Фавиконка при установке веб-приложения
Фавиконка на вкладке в браузере
Подключение
Чтобы иконка начала отображаться, на вкладке нужно подключить файл с графическим отображением иконки. Для правильного подключения иконки нужно использовать обязательные требования браузера и минимальный набор фавиконок, который мы сейчас подробно рассмотрим.
Почему именно набор, а не одну иконку? Дело в том, что браузеры и экраны развиваются и не стоят на месте. Чем современнее браузер, тем более современный формат он может поддерживать. Например, вы можете подумать, что можно подключить только одну SVG-иконку и браузер уже сам правильно отрисует её, но не все браузеры до сих пор поддерживают SVG-формат для фавиконок. На таблицу совместимости SVG-фавиконок можно посмотреть тут.
Обязательная фавиконка
Для подключения нужно добавить в :
Обратите внимание на две детали: размер и расположение.
Расположение. Фавиконку в формате ico обязательно нужно класть в корень проекта, как это показано в примере выше. Дело в том, что любой веб-сервер незаметно для вас всегда ищет favicon.ico в корне проекта и пытается её подключить к сайту.
Дополнительные необходимые фавиконки
Расположение. Только favicon.ico должна лежать в корне проекта. Остальные иконки могут лежать в любом месте в проекте, например:
Или можно сгруппировать все фавиконки, чтобы отделить от других изображений в проекте:
Если современный веб-браузер умеет работать с векторными фавиконками, то этот формат более предпочтительный: меньший вес, наилучшее качество, поддерживает смену тем, не нужно указывать размер.
Подключение точно такое же, как и для favicon.ico, только нужно добавить тип, чтобы браузер понимал, с чем имеет дело:
Для устройств Apple
Apple пошли по другому сценарию развития и предложили собственные размеры фавиконок для своих устройств — iPhone и iPad. Формат для подключения favicon для Apple поддерживают все современные браузеры.
Самым востребованным размером для старых устройств фавиконок стал размер 180×180. Давайте посмотрим пример подключения:
Подключив такую иконку, мы также поддержим старые устройства, которые не умеют работать с таким большим размером фавиконки и уменьшать её до нужных размеров.
Манифест
Манифест — это JSON-файл со всеми подробностями веб-приложения для браузера. Формат был разработан Google по инициативе PWA.
Чтобы добавить фавиконки с помощью манифеста, нужно подключить манифест, а в манифесте указать все иконки и их размеры, которые мы хотим подключить на сайт.
Так как манифест — это JSON-файл, то он должен начинаться с открывающей скобки < и заканчиваться закрывающей скобкой>.
Внутри скобок нужно создать секцию иконок. Секция с иконками ожидает несколько иконок, поэтому добавим массив []:
Осталось добавить фавиконки по шаблону:
Если иконок несколько, то их нужно добавить через запятую:
Размеры. В манифесте мы укажем размер 192×192 и 512×512. 192 — так как это следующий размер после 180, а 512 — так как это очень большой размер для фавиконки, его будет достаточно. А что с промежуточными разрешениями? Всё хорошо: как и раньше, браузер сожмёт картинку к нужному размеру. Например, из 512 до 256.
src — путь до иконки;
sizes — размер иконки.
Можно добавить дополнительные размеры иконок, если этого требует браузерная поддержка вашего проекта. Например, вам потребовалась иконка 256×256. Давайте добавим её:
Откуда брать фавиконки и как их приготовить
Фавиконки — это ответственность верстальщика. Дизайнеры в большинстве случаев про фавиконки не знают, поэтому не предоставляют их с макетами.
Если дизайнер не предоставил фавиконки, у верстальщика есть два пути:
Не добавлять фавиконки в проект.
Попросить дизайнера отрисовать фавиконку (лучше в векторном формате). Рассказать, что требуется отрисовать иконку в квадрате. Сама иконка может быть круглой или даже овальной, но изображение должно быть вписано в квадрат с пропорциями 1:1.
Векторный формат позволит растянуть фавиконку до нужных размеров (192, 256 и даже 512) без потери качества. Таким образом верстальщик сможет сгенерировать себе нужные размеры и подключить их к странице.
При генерации фавиконок с помощью сторонних сервисов всегда смотрите на получившийся результат. Чаще всего иконки получаются замыленными. Даже если брать хороший оригинал 512×512, то при уменьшении до 32×32 всё равно могут появиться артефакты.
Для генерации фавиконок используйте сервис favicon-generator: экспортируйте изображение фавиконки в формате PNG, добавьте это изображение в сервис генерации фавиконок, нажмите кнопку «Create favicon», а потом — ссылку «Download the generated favicon». Вы скачаете архив со всеми возможными вариантами фавиконок. Возьмите favicon.ico и другие необходимые версии, подключите к странице проекта.
Итоговый способ подключения фавиконки:
manifest.webmanifest
Таким способом мы будем поддерживать самые старые браузеры и самые новые.
Ничего страшного, что список одной фавиконки получился столь длинным — 4 пункта. Во-первых, браузер загружает фавиконку асинхронно. Во-вторых, он сначала посмотрит на весь список фавиконок и загрузит только одну — самую подходящую.
Фавиконки — часть программы курса «HTML и CSS. Профессиональная вёрстка сайтов». Кроме этого в комплекте два месяца теории и практики, интересные проекты и личный наставник. А по промокоду SKUCHNO — скидка 1000 ₽.
Знаете, с тех пор как я начал делать иконки для игр, я заметил одну вещь. Геймеры любят компьютерные игры, подписываются на паблики посвященные им, ищут моды, статьи, прохождения и все, что с ними связано. Но одну вещь я никак не могу понять, почему геймеры не интересуются игровыми иконками. Как-никак, они связаны с играми и хоть кто-то должен ими интересоваться, но как оказывается, тема иконок в какой-то параллельной реальности и интересуются ими единицы.
В общем, я тут подумал и решил популяризировать иконки, ну или попытаться. В этой статье я расскажу вам: кто такие эти иконки, зачем они нужны и в чем их отличие от значков и ярлыков. Как оказывается, эти термины путают 90% тех, кто ищет иконки. И это не удивительно, ведь все эти термины +- значат одно и тоже, но не совсем.
Что такое ярлык, значок и иконка:
Я не буду вставлять здесь статью из википедии с заумными фразами и расскажу все своими словами. В интернете есть куча статей на тему того, что есть что, но они только создают большую путаницу и объединяют эти понятия. И так давайте разбираться.

Так вот ярлык — это, грубо говоря, телепорт к этому файлу, ну или ссылка. Никому ведь не хочется искать файл с запуском GTAV.exe по всему компьютеру, что бы поиграть в пятую гташечку. Именно поэтому при установке игры или программы в большинстве случаев автоматически создается ярлык на вашем рабочем столе.
Ярлык — это копия файла .exe и их разница в том, что при взаимодействии с ярлыком он обращается к файлу .exe (отличий конечно больше, но это уже совсем другая история)
Отличить ярлык от исполняемого файла можно, как уже писалось выше, расширением .exe, но беда в том, что по умолчанию в Windows расширения скрыты. Второй способ намного проще, на ярлыке всегда отображается маленькая стрелочка в левом нижнем углу значка (Смотри картинку выше)
Ну, и как вы уже поняли, ярлык — это далеко не иконка, но на ярлык можно поставить иконку.
Иконка: У многих при слове иконка воображение сходу выдает церковные иконы, но мы сегодня говорим не про них. Итак, в каждом исполняемом файле (это тот что заканчивается на .exe если кто забыл) содержится иконка. Иконка — это файл с расширением .ico, а ico — это сокращение от слова Icon, то есть иконка в переводе на Русский. В общем, это все, что нам нужно знать о том почему иконка так называется.
На вопрос, «что такое иконка?» многие отвечают банально — это значок. Нет, батенька, иконка — это не значок, иконка — это картинка (изображение), а еще точнее — это группа изображений. В одном файле .ico может содержаться куча изображений. Разница этих изображений в размере и используемом количестве цветов. Например: самые используемые размеры иконок в Windows 16×16 32×32 48×48 и 256×256 пикселей, но встречаются и совершенно другие.

Это было необходимо для того, чтобы при смене вида (например в папке) с «список» на «крупные значки» вы видели не мелкие бздюльки, а крупную красивую картинку
В новых версиях операционной системы отпала необходимость создавать иконки всех возможных размеров. Теперь достаточно одной картинки большего размера и система сама подгонит ее под нужный размер.
Сейчас самый популярный размер иконок это 512×512 пикселей. Как многие пишут, в Windows 10 максимальный размер иконки 256×256, но на больших экранах размер 512×512 будет выглядеть лучше. Так же не стоит забывать про сторонние программы, которые используют иконки. Для смены иконок в сторонних программах используется формат .PNG
Значок: Ну и давайте попробуем разобраться, что такое значок. Как вы уже поняли, многие ошибочно называют значком иконку, а иконку значком.
В интернете нет точного определения, что такое значок, но есть куча статей, вводящих в заблуждение и рассказывающих все так, будто значок и иконка — это одно и то же. Но как значок может быть иконкой, если иконка — это файл Ico? Даже иконку в формате PNG не совсем корректно называть иконкой, так как файл содержит всего одно изображение. Но с иконкой в формате PNG это еще хоть как-то вяжется с логикой, а со значком, ну никак.

Значок может существовать как без картинки (иконки), так и без текста, но без рамки, никак.
Это дает нам право говорить, что значок — это все вместе и называть только отображаемую картинку значком неправильно. Так же можно заметить, что значок необязательно должен быть квадратной формы. Какое бы отображение значков мы не выбрали на вашем компуктере: что список, что крупные значки, что любой другой, у всех разная форма, а как мы знаем, иконка должна быть квадратной формы. Даже, если холст иконки будет прямоугольным, то Windows сама растянет иконку до квадрата.
Как мы видим, есть очень много нюансов, которые не позволяют нам называть значки иконками, но все эти термины ходят вокруг да около. Вот и получается путаница, но по сути это разные вещи. В тех же поисковиках, ища иконки, люди вбивают слово значок или ярлык (и это еще в лучшем случае), а потом удивляются, что не нашли то, что искали. Да и сама Microsoft грешит путаницей и предлагает заменить значок, а не иконку.
Давайте подведем итог:
Ярлык — это тот же .exe файл, но работающий удаленно (прим. с рабочего стола), но при выполнении операций, обращающийся к основному файлу (прим. в папке с игрой).
Иконка — это картинка или набор картинок разного размера, содержащиеся в файле .ico
Значок — это папка, ярлык или любой другой файл, которые могут содержать изображения (иконку),текст и информацию о файле.
Почему иконки нужны, почему иконки важны:
Надеюсь с терминами мне удалось все разъяснить и сейчас я объясню почему иконки важнее, чем может показаться.
Многие скажут, мол, сколько пользуюсь компудахтером, даже не обращаю внимания на то, какие в системе иконки и вообще мне со стандартными норм, и будут от части правы. С виду, действительно, неважно какая у вас иконка, ведь программа или игра будет работать одинаково, что со стандартной, что с новой.
Но есть все-таки у качественных иконок пару не совсем очевидных плюсов. Все мы знаем, что человек любит глазами. При взгляде на то что нам нравится, у нас невольно поднимается настроение или мы получаем удовольствие. Нам нравятся клевые тачки, красивые девушки, картины, природа, крутые и стильные девайсы и куча чего еще.
Почему многие так восхищаются айфонами? Можно услышать такие ответы как: он как продолжение твоей руки, в нем все на своих местах, отлично работает, стильно выглядит и им просто хочется пользоваться. На ютуб канале Droider.Ru есть отличное видео о том, почему иконки в айфоне выглядят лучше, чем в том же андроиде (рекомендую к просмотру). Да и вообще, становится понятно почему Apple так заморачиваются по поводу дизайна, что сменили внешний вид девайсов и иконок и подогнали под форму суперэллипсов. Даже такие мелочи, как иконки могут поменять внешний вид вашей системы, а в сочетании с обоями, темами и другими программами вообще изменить до неузнаваемости.
Такое незначительное изменение, как смена иконки, может повлиять на частоту запуска игры или программы, вызвать зависть у друзей или подписчиков или просто выделиться среди коллег. Почему вы достаете телефон когда вам скучно? Да потому что вам приятно им пользоваться. Подумайте и вспомните свои старые кнопочные телефоны и свой новенький смартфон. Если не брать в расчет функционал, а ограничиться дизайном и внешним видом, я с уверенностью в 100% могу сказать к какому девайсу у вас потянется рука.
Если до сих пор есть люди, которые думают, что вся это дизайнерская ерунда не важна, я бы порекомендовал установить вместо Windows XP, 7, 8 или 10 старенький добрый MS-Dos. Там нет никаких иконок, да и вообще, никакого графического интерфейса. Современные системы выглядят так именно потому, что развитие графики и новые подходы к управлению вытеснили старые интерфейсы и не без помощи иконок, разумеется.
Иконки в современном мире присутствуют везде, просто это стало настолько обыденным, что на них не обращаешь внимание. Ваш смартфон, планшет, умные часы истыканы иконками, ваш браузер, практически любой сайт и даже в поисковой строке, когда нам выдают результаты, мы видим фавиконку. А теперь представьте, что вместо этих иконок пусто или просто текст.
Как тебе такой интерфейс Илон Маск
Что то не айс да? И куда тянется ваш палец? первым делом на значек однокласников, даже если вы ими не пользуетесь. Понимаете в чем разница?
А теперь взгляните на картинку ниже.
Я думаю все согласятся, что новые иконки выглядят куда приятнее и запускать такие игры вы будете явно чаще.
Есть куча программ для систематизации и сортировки ваших значков, упрощение запуска или просто для стильного отображения.
К примеру, всем известную и работающую с незапамятных времен легендарную RocketDock. Эта небольшая программка, которая зарекомендовала себя только с лучшей стороны. Она позволяет создать на рабочем столе панель для быстрого запуска игр и программ. Стильно компактно и нетребовательно к системе.

Есть у нее отличный клон ObjectDock, для тех кому мало одной панели. Можно сделать одну сверху, а вторую снизу (для игр и программ)
Также расскажу вам про одну программу под названием XLaunchPad. Эта программа, по моему скромному мнению, лучшая вещь для стилизации значков вашего рабочего стола. Удобная, красивая, многофункциональная. Она позволяет двойным кликом по рабочему столу открыть окно, в котором будут все ваши значки с играми и программами. В сочетании с качественными иконками это выглядит просто божественно. Особенно, когда иконки всех игр выглядят в одном стиле, это похоже на вашу полку с дисками на столе только в 1000 раз красивее и удобнее (еще и пыль не собирает). Программу даже можно приобрести в Steam

А вот так бы она выглядела со стандартными иконками

К сожалению, есть у этой программы и один недостаток. Недостаток в том, что разработчики плевать хотели на свой продукт и готовы только грести с него деньги. Есть в программе баг, из-за которого после перезапуска, рандомно слетает иконка, которую вы ранее установили. Я даже как-то писал разработчикам о проблеме, но вместо решения ее, меня просто забанили. В общем пользоваться или нет решайте сами.
Вообще, за время существования операционных систем Windows вышло огромное множество программ для организации ваших значков, но даже эти 3 могут изменить ваш опыт в использовании своего компьютера.
Ну и под конец, для тех, кто захотел изменить свой рабочий стол в лучшую сторону, но не знает где брать иконки.
Первым делом, я бы порекомендовал отправиться на сайт DeviantArt. Если кто и делает иконки, то с вероятностью 90% он выкладывает свои работы там.
Второй вариант, воспользоваться Яндекс.Картинками и при поиске использовать фильтры «Png» и «512×512» либо «256×256»
Ну и третий вариант, это зайти в раздел файлы на сайте PlayGround или ArtGamer
Файлы ярлыков приложений («.desktop») и их меню
В Linux значки и описания программ (приложений) хранятся отдельно от исполняемых файлов. Для GUI-программ составляют «файлы рабочего стола» (desktop files), схожие по назначению с ярлыками в Windows. Более удобного имени нет, поэтому пусть и здесь будут ярлыками.
# Хранить следует здесь:
# Сделать исполняемым: chmod u+x
# Десять самых жадных до процессора процессов/потоков.
# Процессы отсортированы по убыванию жадности.
# Общее название группы для всех файлов «.desktop».
# Какой версии спецификации соответствует сам этот файл.
# Списки есть, например, у iconv. Не обязательно (устарело).
# в общем меню приложений. Здесь не переводится.
# В значении может быть несколько частей,
# их отделять символом ;.
# И в конце строки рекомендуется поставить символ ;.
# Команда для запуска. Желательно указать полный путь.
# Если нужно запустить с правами суперпользователя,
# Понадобится установить программу gksudo или kdesudo.
# Рабочий каталог. Не обязательно.
# Нужно ли сначала открыть окно эмулятора терминала,
# а потом запустить в нём значение Exec.
# Файл значка. Обычно указывают короткое имя без расширения.
# Стандартные форматы файлов: 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.
В среде GNOME разработчики пытаются запретить размещение файлов на Рабочем столе. Может понадобиться специальное расширение для GNOME Shell.
Ярлык для адреса Интернета имеет другое значение Type и вместо ключа Exec содержит URL:
Адрес будет открыт браузером по умолчанию. Если нужен другой браузер, следует сделать обычный ярлык с Type=Application, далее в Exec задать имя браузера с аргументом-URL.
Comment=System tools and utilities
Comment[ru]=Средства администрирования системы
Графическая среда обычно автоматически при запуске каждого сеанса пересобирает меню из имеющихся ярлыков и категорий для каждого пользователя.
Проверить синтаксическую корректность меню можно программой xmllint. Все меню не проходят валидацию (не находится DTD), вероятно, из-за беспорядка на сайте FreeDesktop.org.
Редакторы меню для GUI: KMenuEdit для KDE; LXMenuEditor (lxmed) для LXDE, требует Java; MenuLibre для GNOME, XFCE; Mozo для Mate.
Свои меню хранят в
GNU/Linux
717 постов 13.3K подписчика
Правила сообщества
Все дистрибутивы хороши.
Полезно. Много не знал.
В среде GNOME разработчики пытаются запретить размещение файлов на Рабочем столе. Может понадобиться специальное расширение для GNOME Shell.
Где ж ты был два дня назад?)
Это как взять какую-нибудь книгу, открыть на середине и сделать пост этой страницы
Тема Actions не раскрыта!
[Desktop Action 10-NewWindow]
Name=Open a New Window
Name[ru]=Открыть в новом окне
также не раскрыта тема с формированием gnome-control-centr меню и что локальные не работают.
А и еще bamf соответствие и что такое параметр WMClass
Ну и утилиты которыми собирать и проверять.
Спасибо @balaev84av, вроде и много времени прошло, а я нашёл в этой не большой статье ответ на свой вопрос, плюс чуть-чуть нового узнал.
P.S. Ответ был в строке
Архивация и компрессия файлов. Часть 2
Многие файлы содержат сколь-нибудь повторяющуюся, лишнюю информацию. Поэтому технически возможно преобразовывать её так, чтобы уменьшить общий размер. Это и есть компрЕссия (compression, «компрЕшэн»), или сжатие, данных.
Шаблоны имён здесь раскрывает оболочка. Расширение имени здесь добавляется, а не заменяет исходное.
Понятие «степень сжатия» (compression ratio) толкуется по-разному: 1) «какую долю от размера исходного файла составляет размер сжатого файла» либо 2) «какую долю удалось убрать». Обычно выражается в процентах.
Вот вывод компрессором информации об архиве, в том числе степени сжатия в смысле (2):
compressed uncompressed ratio uncompressed_name
29806 102400 70.9% file3.txt
Нередко алгоритм допускает несколько степеней сжатия. По умолчанию программа обычно выбирает нечто среднее. За более сильное сжатие (меньше размер) приходится платить увеличенными временем упаковки и расходом оперативной памяти. Нередко выигрыш в степени сжатия оказывается незначителен. Скорость распаковки остаётся прежней.
Можно попробовать другой компрессор/формат, например bzip2 (Bzip2, «.bz2»):
Нет простого способа узнать, насколько сильным будет сжатие. Тексты часто сжимаются со степенью (1) ниже 50%. Хуже всего сжимаются хаотичные (случайные, шум) данные.
Для удобства можно считать, что для файлов средних размеров сжатие уместно, если степень (1) составляет 60% и ниже (то есть сэкономлено 40% места и больше). Если файл большой (1 ГиБ и выше), то даже небольшая экономия при сжатии может быть уместна. Уже сжатый файл обычно бесполезно сжимать ещё раз. Файлы размером ниже 3 КиБ сжимать тоже бесполезно.
Файлы /bin/bunzip2 и /bin/bzip2 идентичны
Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.
Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.
Есть несколько форматов файловых систем, где файлы сжимаются/распаковываются автоматически (говорят: «на лету» (on-the-fly) или «прозрачная (transparent) распаковка»).
Есть аналоги привычных утилит с именами, начинающимися на bz (для BZip2), xz или z (GZip): bzcat, bzless, bzgrep и другие. Делают то же, что оригиналы, но со сжатыми файлами.
# Архив tar внутри сжатого файла Gzip одной командой.
archive.tar.gz: gzip compressed data
# Архив tar внутри сжатого файла Bzip2 одной командой.
archive.tar.bz2: bzip2 compressed data, block size = 900k
# Архив tar внутри сжатого файла LZMA одной командой.
archive.tar.lzma: LZMA compressed data, streamed
# Примеры распаковки сжатых архивов одной командой:
Набор программ p7zip (в том числе 7z, 7za) является вариантом 7-Zip для командной строки UNIX и Linux. Формат 7z может давать более сильное сжатие, чем Gzip и Bzip2.
В Linux может быть проблема с форматом ZIP для файловых имён, содержащих не-латиницу. У ZIP есть свой внутренний формат хранения имён. Если создать архив в Windows, а потом попытаться распаковать в Linux, имена превратятся в наборы кракозябров. В последнее время дистрибутивы обычно поставляют исправленные программы unzip и zip. Или придётся пробовать перекодировать имена программой iconv или convmv.
Возможные (ненадёжно) варианты перекодировки имени (предполагаемый в примере файл сохранил расширение «.pdf» на латинице, поэтому файл можно как-то задействовать через шаблон оболочки):
# Или другой вариант:
# После каждого варианта просмотреть
# содержимое переменной N для перекодированного имени.
# И если имя выглядит разумно, то:
Программы для Windows часто поставляются в виде особых архивов, в том числе формата Microsoft Cabinet («.cab»). Такие архивы по лицензионным соглашениям запрещено распаковывать вручную. Для Linux есть программа cabextract.
Иногда в России встречаются старые форматы архивов с внутренней компрессией: ARJ, HA, LHA и другие. Для Linux могут найтись программы: arj, ha, unar. Иначе может понадобиться устанавливать FreeDOS/Wine или иную среду выполнения DOS/Windows-программ, а потом искать соответствующие декомпрессоры.
В некоторых форматах архивов и/или сжатых файлов предусмотрено шифрование с паролем: 7z, RAR, ZIP и другие.
Компрессия данных может встретиться и на системном уровне. Например, в некоторых файловых системах нулевые фрагменты (пустые блоки) внутри файлов не хранятся и не копируются (это называется «разреженные файлы», sparse files).
Программы для GUI: Archive Manager (File Roller) для GNOME, Ark для KDE, Engrampa для MATE, PeaZip, Xarchiver. Они отображают содержимое архивов, подобно тому как диспетчеры файлов отображают содержимое каталогов; предоставляют меню команд создания/распаковки архивов. Но сами не содержат программного кода архиваторов/компрессоров, поэтому требуют установки библиотек (libarchive, liblzma, unrar и других) и самих архиваторов/компрессоров для командной строки.
В файлах мультимедиа (изображения, звук, видео) часто применяют алгоритмы «несимметричного» сжатия, то есть с частичной потерей информации. Это позволяет сжать данные ещё сильнее (в десятки или больше раз). Некоторые потери в деталях изображений или в звуковых волнах уместны, если средний человек эти оттенки/детали/шумы и прочее не различает. Такие алгоритмы обычно имеют широкий набор настроек, поэтому нужно следить за тем, чтобы качество мультимедиа не стало плохим, явно заметным.
Архивация и компрессия файлов. Часть 1
(НЕ является руководством по резервному копированию. Во второй части используется тот же тестовый каталог с теми же файлами.)
Традиционные и/или стандартные сейчас либо ранее (в POSIX) программы-архиваторы: cpio, pax, tar. Менее известные: dar, star.
Примеры действий с архивами tar:
# Создать тестовый каталог с содержимым.
# Файл из случайно сгенерированных байтов.
$ dd if=/dev/urandom bs=1k count=100 of=works/old/file2.rnd
# Текстовый файл. Аргумент iflag=fullblock нужен,
# чтобы dd дождалась достаточного объёма данных от col,
# не завершаясь раньше этого.
| dd bs=1k count=100 iflag=fullblock \
# Вот итоговый вид поддерева works от программы tree.
# (Она не стандартная, устанавливают отдельно.)
Предполагается заархивировать старые файлы, т. е. в old/.
# Посмотреть свойства архива:
archive.tar: POSIX tar archive (GNU)
# Содержимое (список файлов).
# Освободить место, занятое старыми файлами.
# Извлечь содержимое архива.
# Сам архив останется прежним.
# Однобуквенные опции можно набрать слитно с общим дефисом.
Файлы извлекаются вместе с путями, так что каталог old со всем содержимым мог быть восстановлен в любом другом подходящем рабочем каталоге.
Архив можно пополнить. Пополнение архивов бывает «добавлением» (append) или «обновлением» (update).
$ mv today/file3.txt old/
# Всё равно этот файл состоял только из нулей.
# Здесь путь к файлу не выводится.
И ещё много разных опций, например:
Документация: man tar, info tar.
Благодаря сохранению метаданных, архиваторы иногда применяют для аккуратного копирования по конвейеру, например:
Следите за тем, чтобы правильно строить пути (чтобы, например, не получилось в итоге works/old/today/file3.txt вместо works/old/file3.txt). Для начала стоит запустить только find.
Формат tar имеет проблемы с хранением специальных файлов, со скоростью поиска файла в архиве, с хранением некоторых метаданных. Если это критично, то следует применять архиватор dar.
Шрифты в Linux
(НЕ является инструкцией по руссификации интерфейса.)
Файл шрифта (font file) содержит наборы изображений (рисунков) символов и соответствующие символам коды. Технически шрифты могут быть растровыми (bitmap fonts) или векторными (outline/vector fonts).
Пример того, как может выглядеть буква А в растровом шрифте с глифами размером 16×8 точек. Пустые/фоновые пикселы показаны символом
Основную графическую идею (стиль) шрифта называют «гарнитУрой» (typeface, или font face). Символы одной гарнитуры схожи примерно так же, как инструменты из одного набора или предметы посуды из одного сервиза.
Шрифты в текстовой консоли
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)
Вспомогательные программы для правки шрифтов: nafe ( https://sourceforge.net/projects/nafe/ ), psftools ( https://tset.de/psftools/index.html ), rw-psf ( https://github.com/talamus/rw-psf ). Они конвертируют символы в ascii-art (вроде вышеуказанного примера буквы А) или растровые изображения. После правки в текстовом или графическом редакторе можно конвертировать файл обратно в шрифт.
Применить настройки на текущей консоли:
Пакеты программ: 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»), векторный;
и ещё несколько более редких.
NotoSans-Regular.ttf: TrueType font data
Графическая подсистема X Window System задействует шрифты сама или через библиотеки. X-программа (клиент сервера X Window) может запросить отрисовку шрифта по записи формата X Logical Font Description (XLFD). Запись состоит из 14 полей через дефисы. Пример:
Значения можно подбирать GUI-программой xfontsel. Кнопка select копирует запись в буфер X, откуда её можно вставить в редактор средней кнопкой мыши (колёсиком).
Настройки применения шрифтов в общем файле /etc/X11/xorg.conf:
# Прочие параметры этой секции.
В указанных каталогах следует запустить программы mkfontscale и mkfontdir. В результате должны появиться файлы encodings.dir, fonts.alias, fonts.dir.
Шрифт можно подключить временно, вручную:
xset +fp /usr/share/fonts/X11/misc
# Перечитать списки шрифтов.
К библиотеке прилагается семейство программ fc-*, в том числе:
# Показать установленные шрифты, имеющие символы русской кириллицы.
DejaVu Sans,DejaVu Sans Light
Nimbus Roman No9 L
NotoSans-Regular.ttf:0 Satisfy the coverage for ru language
NotoSans-Regular.ttf:0 Satisfy the coverage for en language
NotoKufiArabic-Regular.ttf:0 Missing 66 glyph(s) to satisfy the coverage for ru language
NotoKufiArabic-Regular.ttf:0 Missing 72 glyph(s) to satisfy the coverage for en language
NotoKufiArabic-Regular.ttf:0 Satisfy the coverage for ar language
То есть в основном файле есть символы для русского, английского языков; в файле для арабского языка есть только арабица.
Каталоги для хранения шрифтов: общий /usr/share/fonts/, пользовательский
/.fonts/). В fonts.conf можно указать другие.
Желательно иметь в GUI: пропорциональные шрифты с засечками и без них (для большинства виджетов), моноширинный шрифт (для эмулятора терминала), шрифт со вспомогательными символами (для офисного текстового процессора).
Семейства свободно доступных шрифтов, которые считают приятными для глаз: Cantarell, Droid, Noto, Ubuntu. Шрифты со вспомогательными символами: OpenSymbol, Symbola; или Dingbats и Wingdings из Windows.
Для установки шрифта, поддерживаемого Fontconfig, нужно скопировать его файлы в один из каталогов хранения (можно во вложенный каталог). Желательно правильно установить целевые права, например 444 для файлов и 555 для каталогов. Потом запустить fc-cache (может сработать автоматически).
Для офисных документов популярны семейства шрифты из 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 сама никак не взаимодействует со шрифтами, все программы обращаются к внешним библиотекам.
В шрифтах TrueType могут быть дополнительные встроенные данные (hints) по отрисовке; их применение называется «хИнтинг» (hinting). В библиотеке FreeType наилучший алгоритм отрисовки (TrueType Bytecode Interpreter) был запрещён патентами примерно до 2010 года/версии 2.4.






