LINUX.ORG.RU

Как отображаются символы в консоли?

 , ,


0

2

Вопрос, возможно, в тему про ядро, но все же он, как мне показалось, относится к общим вопросам. В общем мне бы хотелось знать какую последовательность символов/ключевых слов набрать в «гугле», чтобы я получил статьи с картинками по таким вопросам. Открываю консоль/терминал в Ubuntu 16.04, жму кнопку a/ф в консоли волшебным образом отображаются эти символы. 1.Как этот символ попал в видеопамять? Интересуют участки кода которые дергают нужные шрифты(ncurses?; где расположены файлы со шрифтами и в какой момент они грузятся в память) по заданной кодировке(в каком месте настоек устанавливается кодировка символов?) и пишут в видеопамять. 2. Где лежат шрифты которые отображаются в БИОС`е и в какой кодировке они закодированы? 3. Одинакова ли схема работы по отображению символа в консоли и в графической оболочке?

П.С. В,общем-то, я наверное смог бы сам за определенное время найти ответы, но это медленнее чем воспользоваться чужим опытом.

Ответ на: комментарий от EXL

Чорт, там нет картинок. Я все еще плохо читаю, а в детстве, любил комиксы, потому что там много картинок. Да и мне больше идро интересно, а не то, что на гитхабе. В ядре должно быть все необходимое для отображения символов, т.к. если устанавливать только ядро, то там и менюшечка появится и конослька с кореткой. Но самый большой недостаток в этом всем их коде - нет картинок. Хочу, чтобы было хотя бы несколько картинок как в pearlswine комиксе.

parmesan
() автор топика
Ответ на: комментарий от parmesan

А зачем тебе ядро? Ты же спрашивал про терминал в Ubuntu, который называется GNOME Terminal.

Если я не ошибаюсь, внутри GNOME Terminal используется эмулятор терминала vt102, что-то типа такого: https://github.com/Swordfish90/qmltermwidget/blob/490eeaf195cd5764a3798c2a234...

Потом это всё оборачивается в красивенький виджет, и ты взаимодействуешь именно с ним. То есть рисует символы на экран тулкит (в примере с Ubuntu — GTK+), а не ядро.

В ядре тоже есть эмуляторы терминала, и фреймбуферная консоль (на своей убунте можешь переключится в неё по Ctrl+Alt+F1/F2). Вот там как раз и лежат шрифты, символы которых пишутся в /dev/fb0.

EXL ★★★★★
()
Ответ на: комментарий от parmesan

Возможно сначала стоит научиться читать что-то помимо комиксов, а уже потом лезть в стены текста и кучи сорцов.

entefeed ☆☆☆
()
Ответ на: комментарий от EXL

Согласен, упоминание убунты все портит. Исправляюсь: «Открываю консоль/терминал в Ubuntu 16.04, жму кнопку a/ф в консоли волшебным образом отображаются эти символы.»-> В открытой консоли жму кнопку a/ф в консоли волшебным образом отображается соответствующий символ. «Вот там как раз и лежат шрифты» - где там? И хочу знать папочку в ядре линукса последней версии (4.6-rc6 2016-05-01), где :

а) обрабатывается событие нажатие кнопки «a/ф» на клавиатуре; б) код который определяет какую картинку-символ отослать в видеопамять; с) посылает эту картинку Это все что я пока хочу знать. У меня есть некоторая уверенность, что такие вопросы уже задавали и я просто хочу либо ссылки на статьи либо ссылки на участки кода. П.С. желательно с картинками как в комиксах, чтобы можно было интересно читать. Но все равно спасибо за ссылку на код из гитхаб.

parmesan
() автор топика
Ответ на: комментарий от parmesan

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

anonymous
()
Ответ на: комментарий от entefeed

Не вариант. Да и комиксы я не читал, а смотрел на картинки в них. Читать пока не научился - только писать.

parmesan
() автор топика
Ответ на: комментарий от anonymous

Поэтому в сообщении от 06.05.2016 20:36:33 я написал, что исправляюсь и отменил условие, что терминал открывается в убунте. Кнопка на клавиатуре жмется в консоли, допустим, чистого ядра версии 4.5.

parmesan
() автор топика

По запросу linux kernel google выдает очень много красивых картинок с изображениями схем, людей, пингвинов. Из этого я делаю вывод, что разработчики и околоразработчики любят картинки.

parmesan
() автор топика
Ответ на: комментарий от parmesan

Ну если таки виртуальный терминал ядра, то как остальные операционки — или в vesa режиме рисуется как картинка называется фреймбуффер, или в текстовом режиме биосом видяхи.

anonymous
()
Ответ на: комментарий от anonymous

Это что-то уже очень близкое, но ссылок на код все еще нет. Я все понимаю - кроме меня никому это наверное не нужно. Я лишь прошу помощи в том, что скормить гуглу, чтобы он мне ответил и статьи на эту тему показал. Чтобы он мне% вот пармезанчик, смотри сколько всего доброго я тебе могу на это сказать.

parmesan
() автор топика

научись уже различать эмулятор терминала и консоль, некоторые интересные вещи можно узнать и почерпнуть из сорса kmscon, это альтернатива in-kernel linux console, но с аппаратным ускорением, мультимониторностью, ttf/otf шрифтами, 65K цветов (или 256K?) и прочими ништяками.

slon
()
Ответ на: комментарий от EXL

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

slon
()
Ответ на: комментарий от anonymous

Пармезан любит linux.org.linux.org любит пармезан.

parmesan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.