application sharing что это

Что такое Sharing и для чего он нужен¶

В Multi-Vendor данный механизм разграничения прав недоступен.

Схема шаринга¶

Существует 2 вида объектов шаринга:

К объектам относятся сущности, описанные схемой: app/schemas/sharing/schema.php:

Общее описание объекта задается примерно так:

Пользовательский интерфейс¶

Несмотря на то, что объект может быть доступен для многих витрин, управлять его данными, изменять, сохранять и т.д. сможет только компания-владелец. Для всех остальных этот объект будет доступен в режиме read-only (для объектов типа “Owned”)

Если объект относится к типу “Not owned”, то такой объект не может быть изменен под витриной. Только root-администратор может изменять данные объекта.

Код и запросы¶

Записи в эту таблицу добавляются и удаляются АВТОМАТИЧЕСКИ, исходя из шаринг-схемы, описанной выше. Не нужно дополнительно вставлять записи в эту таблицу.

Механизм шаринга использует core-hooks (link!) для того, чтобы проверять запросы к БД и автоматически расширять их, для разграничивания прав использования объектов.

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

Другие типы шаринга¶

В корзине существует так называемый третий вид шаринга. Это шаринг значений. К таким видам шаринга относятся:

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

Например, один и тот же продукт, расшаренный на несколько витрин, может иметь различное название и описание для каждой из них, или значение настройки, например Enable secure connection at checkout, может иметь различные значения для разных витрин.

Каждый объект реализует данный механизм по-своему и не использует шаринг-схему.

Источник

Как реализовать шаринг в социальные сети

Меня зовут Илья Степанов. Я – технический директор digital-агентства. Так как у нас много разных клиентских проектов, то мы постоянно сталкиваемся с новыми для нас задачами. Одной из таких оказалась реализация шаринга в социальные сети.

Почему мы озадачились этой темой

Наш клиент – застройщик северной столицы Legenda Intelligent Development уже давно работает на рынке недвижимости и в этом году отметил свой юбилей – 10 лет. В честь этого события они устроили конкурс, где любой человек мог выиграть ювелирное украшение по своему индивидуальному эскизу. Для этого нужно было сконфигурировать кольцо, серьги или кулон с элементами, созданными по интерьерным мотивам. Далее пользователь должен расшарить свой дизайн хотя бы в одну из социальных сетей: Facebook и Vkontakte. Потом случайным образом между участниками, выполнившими условия, разыгрывали призы.

Что надо было сделать

Помимо разработки самого лендинга с конфигуратором нужно было реализовать возможность шаринга созданного украшения с сопроводительным текстом в социальные сети. Для этого требовалось создать приложения в Facebook и VKontakte и настроить необходимые разрешения, а в коде разобрать и подключить API этих соцсетей и запустить функционал шаринга. Также нужно было собрать email поделившихся пользователей для проведения розыгрыша. Мы решили все это сделать на JavaScript.

Реализация шаринга в Facebook

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

Для начала необходимо разобраться, какое приложение нужно создать. Facebook предлагает множество приложений, но далеко не все из них нужного нам функционала. Когда вроде бы выяснили, что конкретно нам подходит, нужно было правильно это настроить и предоставить Facebook информацию о нас: юридическую, политику конфиденциальности и так далее. Потом проверяем все на тестовом аккаунте разработчика и запрашиваем необходимые разрешения. Например, на предоставление личных данных пользователя: почта, телефон, разрешение на публикацию в его ленте поста.

Грабли: выбор неправильного приложения

Проблема была в том, что клиент заранее создал приложение и предложил дальше работать именно с ним. Но по факту оно было игровым и не поддерживало необходимый нам функционал. А именно позволяло постить на стену только тем, кто находится у пользователя в друзьях (знаете, вот эти истории, когда просят помощи в покупке овец на онлайн-ферму и тп). В итоге запросили неправильные разрешения. Согласование со стороны Facebook длилось около недели. И в конце выяснилось, что делали мы совершенно не то.

Как надо было сделать в идеале, чтобы не потерять драгоценное время.

Выбрать приложение с нужным функционалом, изучив документацию Facebook.

Заполнить всю необходимую юридическую информацию о себе.

Выбрать требуемые разрешения.

Протестировать на аккаунте разработчика (такой функционал по умолчанию есть у всех аккаунтов на Facebook for Developers).

И только потом отправлять всё это на согласование.

Подробная инструкция

Перейдите на страницу ваших приложений https://developers.facebook.com/apps/ и нажмите «Создать приложение».

Выберите тип приложения «Компания».

    Перейдите в Настройки >> Основное и заполните поле «Домены приложений». Также нужно указать ссылку на политику конфиденциальности, потому что это обязательное поле и без его заполнения данные не сохранятся.

    Далее выбираем нужные разрешения. Для авторизации и шаринга достаточно базовых разрешений.

    Если же вам нужно получить информацию, которой нет в базовых разрешениях, то их необходимо получить. Нам, например, нужно было получить разрешение на получение email адреса пользователя. Для этого нужно перейти в раздел Проверка приложения >> Разрешения

    Потом найдите нужное разрешение и запросите расширенный доступ. Разрешение на email можно получить автоматически просто по нажатию кнопки. Но большинство разрешений требует отправки запроса, где нужно указывать, зачем вам это и подробно описывать (прикрепив видео), как это будет использоваться в вашем приложении. Если в коде вы запрашиваете какое-то разрешение, которого у вашего приложения нет, то Facebook выдаст ошибку, что не все разрешения были одобрены.

Реализация в коде и использование API

Выбираем нужное API. Мы реализовывали все на JavaScript, поэтому выбирали, исходя из этого.

Для интеграции мы использовали Facebook SDK for JavaScript v11.0.

Методы

В параметр appId необходимо передать id вашего приложения.

В параметре scope указываются запрашиваемые разрешения.

Результат

В итоге функционал на сайте выглядит следующим образом:

Публикация приложения

Когда вы убедились, что всё реализовано верно, протестировали, получили разрешения, можно нажимать заветную кнопку «Опубликовать приложение». Оно отправляется на модерацию на пару-тройку дней.

Дело сделано! Вашим приложением смогут пользоваться все участники Facebook.

Реализация шаринга в VKontakte

Тут всё намного проще, чем с Facebook. ВКонтакте разрешает практически всё, что хочешь. Нужно внимательно прочитать инструкцию на странице разработчика. Дальше создать приложение, выбрать категорию, заполнить нужные данные (их намного меньше, чем требует FB). Дальше подключить API для JavaScript, протестировать и в продакшн!

Подробная инструкция

Создание приложения

Перейдите на страницу ваших приложений https://vk.com/apps?act=manage и нажмите «Создать».

Введите название приложения и выберите тип «Standalone-приложение».

    Перейдите в Настройки и включите Open API.

    После чего заполните поля «Адрес сайта» и «Базовый домен».

    Введите название приложения и выберете тип “Standalone-приложение”

    После чего заполните поля «Адрес сайта» и «Базовый домен»

    Интеграция приложения

    Для работы с API мы использовали JavaSсript SDK https://vk.com/dev/Javascript_SDK.

    Методы:

    Инициализация

    В параметр appId необходимо передать id вашего приложения.

    Для авторизации необходимо просто перенаправить пользователя по определённому адресу.

    Получение данных пользователя https://vk.com/dev/users.get

    После того, как всё протестировано, можно включать приложение.

    Результат

    В итоге функционал на сайте выглядит следующим образом:

Вывод

Читайте документацию и шарьте в социальные сеточки!

Источник

Application sharing

Granting access

Access is typically granted in one of three ways, depending on the architecture of the Application Sharing software.

3. The shared content (being an application or entire desktop) can be accessed using a permission based software approach. This technique helps to ensure that the application or desktop being controlled cannot be accessed without direct live approval, helping to eliminate the security risk of taking control of a desktop when the user is not present.

Type of access

Once the applications or documents to be shared and whom they are to be shared with have been determined, there are generally two types of access that can be granted to remote users.

1. Control Access – the host user allows remote users to actually control, edit, and manipulate the shared content; most Application Sharing software allows the host to revoke Control Access at any time. during the remote control session, keyboard and mouse are remotely controlled. Usually a hot key is provided to revoke access.

2. View Access – the host user only allows remote users to passively view the shared content; remote users have no ability to edit or effect change in the shared content whatsoever.

Uses

There are two primary applications of Application Sharing, each contingent on the Type of Access granted.

1. Control Access – this configuration is most widely used to facilitate collaboration by virtual team s. Team members can collaborate on the same document, making instantly apparent changes in real-time.

2. View Access – this configuration is most suitable to a training scenario. The remote user (trainee) can passively view the actions of the host (trainer) without being able to interrupt or manipulate the shared content.

See also

* Collaborative Software
* Remote Assistance Software
* Remote Access
* Open-Xchange

Look at other dictionaries:

Application Sharing — Application Sharing, eine Funktion in Konferenzprogrammen (Konferenz), die es möglich macht, Anwendungen gemeinsam zu nutzen. Dafür müssen alle Beteiligten über das gleiche Betriebssystem und die gleiche Anwendungs Software verfügen … Universal-Lexikon

Application Sharing — Die Begriffe Anwendungsaufteilung, Anwendungsverteilung oder englisch Application Sharing bezeichnen eine Ergänzung der audiovisuellen Konferenz. Hierbei werden Programme, Daten oder Objekte von zwei oder mehr Beteiligten gleichzeitig genutzt,… … Deutsch Wikipedia

Sharing — (von engl. to share „teilen“, „teilnehmen“, „verteilen“) steht für Sharing (Psychologie), den Erfahrungsaustausch nach psychotherapeutischen Sitzungen Filesharing, den Austausch oder die gemeinsame Nutzung von Dateien, Programmen, Musik, Spielen… … Deutsch Wikipedia

Application Gateway — Eine externe (Netzwerk oder Hardware ) Firewall (von engl. firewall [ˈfaɪəwɔːl] „die Brandwand“) stellt eine kontrollierte Verbindung zwischen zwei Netzen her. Das könnten z. B. ein privates Netz (LAN) und das Internet (WAN) sein; möglich ist… … Deutsch Wikipedia

Application programming interface — API redirects here. For other uses, see API (disambiguation). An application programming interface (API) is a source code based specification intended to be used as an interface by software components to communicate with each other. An API may… … Wikipedia

Application firewall — An application firewall is a form of firewall which controls input, output, and/or access from, to, or by an application or service. It operates by monitoring and potentially blocking the input, output, or system service calls which do not meet… … Wikipedia

Application delivery network — An Application Delivery Network (ADN) is a suite of technologies that, when deployed together, provide application availability, security, and acceleration. At the core of an ADN is the Application Delivery Controller (ADC), an advanced traffic… … Wikipedia

Application-level gateway — In the context of computer networking, an application level gateway [RFC 2663 ALG: official definition (refer section 2.9)] (also known as ALG or application layer gateway) consists of a security component that augments a firewall or NAT employed … Wikipedia

Application-level gateway — Applications level gateway, или ALG (англ. «шлюз прикладного уровня») компонент NAT маршрутизатора, который понимает какой либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом,… … Википедия

Источник

Файлы ярлыков приложений («.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

714 постов 13.2K подписчика

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

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

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

В среде 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.

Источник

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