Документация по ОС FreeBSD Суббота, 20.04.2024, 00:50
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Shell [40]

Главная » Статьи » Программирование » Shell

Размер шрифтов, число строк-столбцов и графика в системной консоли [2010]
Сидел дома - на одной консоли собирались иксы из портов (ну извращенец я, что уж тут сделаешь - коммунисты не ищут лёгких путей...), а на другой я по ssh сидел на одном из серваков - смотрел скока траффику за выходные набежало... Смотрю и матерюсь про себя - не из-за трафика, а из-за того, что монитор 17" а вот изображение - текстовый режим :( Строк мало, столбцов мало... Траффик посмотрел, ждать, пока иксы соберутся, ещё пару суток оставалось - скучно. Решил почитать man sc - по системной консоли - перед глазами стоял один из опытов по инсталляции линуха на тестовую машину - когда он с самого начала предложил выбрать режим - вплоть до 1240x1024, кажется (может до 1024x768 - не помню уже) - если пингвин может - чем фряха хуже-то?
   Из мана понял - в фряхе может быть графическая консоль! Пока я курил остальные маны - по vga и vidcontrol на третьей консоли уже собиралось ядро, с опциями:
options SC_PIXEL_MODE
options VESA
device cs0 at isa? flags 0x80

После установки нового ядра и перезагрузки попробовал сменить разрешение на 800x600:
vidcontrol -i mode VESA_800x600 foreground

Прокатило :) Долго сидел и тащщился - после текстового режима это было как в гостях у сказки... Озадачивало только одно - режим сменился только на одной консоли, где я выполнял эту команду. А мне хотелось на всех... Вначале была мысль запихать это в.cshrc - но я от этой мысли вовремя отказался - почитав man rc.conf и выставил в нём:
allscreens_flags="vidcontrol -i mode VESA_800x600 foreground"

Счастье омрачалось лишь одним - я видел как мигает экран - и глаза быстро уставали... (У меня ЭЛТ а не ЖК монитор)... В итоге всё вернул на место - в текстовый режим, только выставил строк побольше - так удобней работать:
allscreens_flags="vidcontrol -i mode 80x30 foreground"

В процессе рытья по ман`ам и конфигам нашёл интересную опцию ядра:
options VGA_WIDTH90 # support 90 column modes

это поддержка режима 90 колонок. Пересобрал ядро, ещё раз, с ней, и поправил строчку в rc.conf:
allscreens_flags="vidcontrol -i mode 90x30 foreground"

В итоге стало ещё чуть-чуть лучше. Так и оставил.

   Самое интересное началось на следующий день - освободился ноутбук - грех было не накатить на него фряху. Выбрал шестую версию. Поставил, и ужаснулся - родное разрешение матрицы бука - 1024x768, и смотрелись эти 640x480 неплохо, в виде небольшого квадрата в середине здоровенного чёрного экрана... Ужас, короче... Пересобрал ядро, с вышеуказанными параметрами - начал ставить 800x600 - а он мне заявляет - режим не поддерживается... Вот блин... (Модуль VESA в FreeBSD работает корректно на 80-90% видеокарт). Бился полдня, в итоге оказалось что действительно, эта ноутбучная видяха не поддерживает режим 800x600, зато работает на 1024x768! Такая строка спасла отца Русской Демократии:
allscreens_flags="-g 132x60 MODE_279"

Чтобы не Было вопросов, откуда взялась стока вот список всех возможных режимов:
/root/>vidcontrol -i mode | more
 mode# flags type size font window linear buffer
------------------------------------------------------------------------------
 24 (0x018) 0x00000001 T 80x25 8x16 0xb8000 32k 32k 0x00000000 32k
 30 (0x01e) 0x00000001 T 80x50 8x8 0xb8000 32k 32k 0x00000000 32k
 32 (0x020) 0x00000001 T 80x30 8x16 0xb8000 32k 32k 0x00000000 32k
 34 (0x022) 0x00000001 T 80x60 8x8 0xb8000 32k 32k 0x00000000 32k
 40 (0x028) 0x00000001 T 90x25 8x16 0xb8000 32k 32k 0x00000000 32k
 42 (0x02a) 0x00000001 T 90x30 8x16 0xb8000 32k 32k 0x00000000 32k
 46 (0x02e) 0x00000001 T 90x50 8x8 0xb8000 32k 32k 0x00000000 32k
 48 (0x030) 0x00000001 T 90x60 8x8 0xb8000 32k 32k 0x00000000 32k
256 (0x100) 0x0000000f G 640x400x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
257 (0x101) 0x0000000f G 640x480x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
259 (0x103) 0x0000000f G 800x600x8 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
261 (0x105) 0x0000000f G 1024x768x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
263 (0x107) 0x0000000f G 1280x1024x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
269 (0x10d) 0x0000000f G 320x200x15 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
270 (0x10e) 0x0000000f G 320x200x16 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
271 (0x10f) 0x0000000f G 320x200x24 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
272 (0x110) 0x0000000f G 640x480x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
273 (0x111) 0x0000000f G 640x480x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
274 (0x112) 0x0000000f G 640x480x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
275 (0x113) 0x0000000f G 800x600x15 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
276 (0x114) 0x0000000f G 800x600x16 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
277 (0x115) 0x0000000f G 800x600x24 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
278 (0x116) 0x0000000f G 1024x768x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
279 (0x117) 0x0000000f G 1024x768x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
280 (0x118) 0x0000000f G 1024x768x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
281 (0x119) 0x0000000f G 1280x1024x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
282 (0x11a) 0x0000000f G 1280x1024x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
283 (0x11b) 0x0000000f G 1280x1024x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
288 (0x120) 0x0000000f G 320x200x32 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
289 (0x121) 0x0000000f G 640x480x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
290 (0x122) 0x0000000f G 800x600x32 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
291 (0x123) 0x0000000f G 1024x768x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
292 (0x124) 0x0000000f G 1280x1024x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
320 (0x140) 0x0000000f G 1400x1050x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
321 (0x141) 0x0000000f G 1400x1050x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
322 (0x142) 0x0000000f G 1400x1050x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
323 (0x143) 0x0000000f G 1400x1050x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
324 (0x144) 0x0000000f G 1400x1050x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
370 (0x172) 0x0000000f G 1600x1200x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
371 (0x173) 0x0000000f G 1600x1200x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
372 (0x174) 0x0000000f G 1600x1200x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
373 (0x175) 0x0000000f G 1600x1200x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
374 (0x176) 0x0000000f G 1600x1200x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
386 (0x182) 0x0000000f G 320x200x8 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
387 (0x183) 0x0000000f G 640x400x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
388 (0x184) 0x0000000f G 640x400x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
389 (0x185) 0x0000000f G 640x400x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
390 (0x186) 0x0000000f G 640x400x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
402 (0x192) 0x0000000f G 320x240x8 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
403 (0x193) 0x0000000f G 320x240x15 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
404 (0x194) 0x0000000f G 320x240x16 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
405 (0x195) 0x0000000f G 320x240x24 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
406 (0x196) 0x0000000f G 320x240x32 1 8x8 0xa0000 64k 64k 0xdc000000 8128k
418 (0x1a2) 0x0000000f G 400x300x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
419 (0x1a3) 0x0000000f G 400x300x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
420 (0x1a4) 0x0000000f G 400x300x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
421 (0x1a5) 0x0000000f G 400x300x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
422 (0x1a6) 0x0000000f G 400x300x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
434 (0x1b2) 0x0000000f G 512x384x8 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
435 (0x1b3) 0x0000000f G 512x384x15 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
436 (0x1b4) 0x0000000f G 512x384x16 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
437 (0x1b5) 0x0000000f G 512x384x24 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
438 (0x1b6) 0x0000000f G 512x384x32 1 8x16 0xa0000 64k 64k 0xdc000000 8128k
450 (0x1c2) 0x0000000f G 640x350x8 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
451 (0x1c3) 0x0000000f G 640x350x15 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
452 (0x1c4) 0x0000000f G 640x350x16 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
453 (0x1c5) 0x0000000f G 640x350x24 1 8x14 0xa0000 64k 64k 0xdc000000 8128k
454 (0x1c6) 0x0000000f G 640x350x32 1 8x14 0xa0000 64k 64k 0xdc000000 8128k

Первый столбец - это и есть режим, указываемый как аргумент MODE_, т.е. MODE_291 - это режим 291 - 1024x768 на 32-битном цвете...
Хотя в списке есть 800x600 - мне его запустить не удалось... Буквой T отмечены текстовые режимы, а буквой G - графические. 132x60 - это столбцы и строки... Кстати, в итоге я остановился на режиме MODE_291 - там цветов побольше :)
Ну, пожалуй, пока всё по графической консоли. Кстати - если кто непонял - то консоль реально графическая - вней даже кино можно смотреть. Если заинтересует такая возможность - то Вам прямой путь в /usr/ports/multimedia/mplayer :) Также, можно менять частоту обновления экрана - но, насколько мне известно, это пока реализовано сторонними патчами. Подождём-с :)

P.S. На одном из серваков на работе я поставил 1024x768 - как ни странно, но глаза от такого режима меньше болят, чем от 800x600, почему - не знаю, хотя моник такой же как дома...

P.S.2 На одной из машин такая особенность - если прописать изменение видеорежима вrc.conf то vidcontrol выпадает в корку, причём режим успевает применить как-то "наполовину"... Я первый раз думал что он висит - но по сети отвечал, подумавши, "вслепую" ввёл логин пароль и дал команду:
vidcontrol -i mode 80x30

после этого он начал показывать. Переписал строку в rc.conf на меньшее разрешение - та же бадяга... Что характерно - после текстового режима он работал в любом графическом, который тянула видеокарта, а вот сразу в графическом не хотел... Тока после текстового. В итоге оставил родной режим, а смену режима прописал в .cshrc.



Источник: http://www.lissyara.su/articles/freebsd/trivia/graphical_console/
Категория: Shell | Добавил: oleg (29.03.2010) | Автор: lissyara
Просмотров: 1026 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024