Консоль FreeBSD (freebsd console vidcontrol sdl svgalib)

Ключові слова:freebsd, console, vidcontrol, sdl, svgalib, (знайти схожі документи)

Від: Олексієнка Василь Newsgroups: Date: Wed, 24 Aug 2005 18:21:07 +0000 (UTC) Subject: Консоль FreeBSD

tlp/fbsd-console.html переклад: Алексєєнко Василь

Примітка: цей документ передбачає, що ви використовуєте останню FreeBSD – RELEASE. Я запускав у консолі 5.x, хоча це ймовірно буде працювати і в 4. x теж.

Таким чином, у вас є ПК з встановленою FreeBSD, але ви не хочете використовувати X? Чудово. Давайте почнемо. З будь-якої причини: обмежені ресурси, переваги, завдання - ви вирішили використовувати комп'ютер без GUI. Зазвичай, коли система UNIX (особливо FreeBSD) не йде з X, можливо вона використовується як сервер. Але, це не те, що ви хочете, чи не так?

Перший крок, з якого ви ймовірно повинні почати - зміна дозволу консолі. Переконайтеся, що ви маєте options VESA в ядрі або завантажено як модуль. Потім, ви повинні перевірити та побачити, які режими доступні, друкуючи:

vidcontrol -i mode grep T

Будемо сподіватися, відмінний режим, такий як 132x25 або 132x60, буде доступний для вас. Деякі режими вимагають спеціальних розмірів шрифту , які перераховані безпосередньо праворуч від розміру екрана. Наприклад, якщо ви хочете режим 132x60, а це вимагає, щоб розмір шрифту 8x8, то ви повинні надрукувати:

vidcontrol -f 8x8 swiss 132x60

Swiss є назвою шрифту, а 8x8 необхідний розмір шрифту. Якщо ці розміри екрана не доступні для вас після ввімкнення підтримки VESA, не панікуйте, оскільки ви можете вибрати інші опції. Перевірте, що ви також додалиопцію в ядро:

Все зробили? Добре. Спробуйте надрукувати наступну команду після того, як ви перезавантажилися з вашим новим ядром:

vidcontrol -g 100x37 VESA_800x600

Будемо сподіватися, це працює у вас. В іншому випадку спробуйте грати з різними режимами/шрифтами, доки ви не знайдете відповідний дозвіл. І пам'ятайте, деякі дозволи вимагають, щоб працювали певні розміри шрифту. Прочитайте man vidcontrol для додаткової інформації!

Тепер, давайте зробимо налаштування постійними. Відредагуйте файл /etc/rc.conf і додайте наступне:

allscreens_flags = "-f 8x8 swiss 132x60" або

allscreens_flags = "-g 100x37 VESA_800x600"

Перевірте, чи замінили мої параметри налаштування дозволу на настройки. Як тільки ви перезавантажитеся, всі ваші ttyvX термінали будуть змінені новими параметрами налаштування!

Підказка: консоль FreeBSD працює зі шрифтами консолі Slackware! Шрифти FreeBSD знаходяться в /usr/share/syscons/fonts/

Рухаємось далі. Наступний список програм, що працюють у текстовому режимі, з якого ви можете знайти собі щось корисне. Пізніше, ми дістанемося до кумедного матеріалу, як ви можете зробити графіку в консолі.

Це має дати вам загальну ідею, що є. Тепер про графічні можливості консолі FreeBSD:

SVGAlib Програми, які підтримують SVGAlib, можуть використовуватися в консолі, використовуючи SVGAlib GGI:vgl Програми, які підтримують GGI, можуть використовуватися в консолі з буфером VGL SDL:vgl Програми, які підтримують GGI , можуть використовуватися в консолі з VGL-backend SDL:svgalib Програми, які підтримують SDL, можуть використовуватися в консолі з буферомSVGAlib

Переконайтеся, що версії GGI/SDL, які ви встановили, зібрані за допомогою підтримки буфера VGL. Це хороша ідея, мати підтримку SVGAlib, зібрану також і для SDL. Щоб використовувати драйвери VGL/SVGAlib з додатками SDL, переконайтеся, що такі змінні оточення встановлені правильно:

Для того, щоб все запрацювало, SDL повинен бути в змозі знайти відповідний дозвіл для перемикання до нього програми для роботи.

Якщо це не працює, не кидайте. Погляньте, чи може програма конфігурована для іншої роздільної здатності або ширини/висоти. Якщо це так, спробуйте змінити такі параметри налаштування, поки це не запрацює. Спробуйте використовувати буфери VGL і SVGAlib!

Для використання драйвера VGL з додатками GGI, переконайтеся, що правильно встановлено змінне оточення:

Так само як і SDL, GGI повинен бути в змозі знайти відповідний дозвіл для перемикання програми. Якщо можливо, конфігуруйте програму, щоб використовувати іншу роздільну здатність або ширину/висоту, поки це не запрацює.

Так само як SDL і GGI, SVGAlib повинен бути в змозі знайти відповідний дозвіл для перемикання програми. Якщо можливо, конфігуруйте програму, щоб використовувати іншу роздільну здатність або ширину/висоту, поки це не запрацює.

Є надія на апаратне прискорення у консолі. Проект kgi4BSD працює над розробкою кращого, більш сучасного, більше підтримуючого графічного рішення для консолі FreeBSD. В даний час все в стадії розробки.

Наступний список графічних програм, яких я зумів змусити працювати, використовуючи один із вищезазначених методів. Нотатка: Вам або вашому двійнику,хто намагається це запустити, будуть потрібні права рута!

dgen-sdl:vgl Дивовижний емулятор Sega Genesis/MegaDrive. Повинен грати з-X-Y (-X 2-Y 2), щоб міг працювати

svnc-svgalib Viewer VNC для SVGAlib. Прочитайте документацію!

links-svgalib Браузер links WWW, запущений у графічному режимі. Працює добре! (1024x768)

quake-sdl:svgalib Порт QuakeForge для Quake. Використовуйте nq-sdl для старту.

showimage-sdl:vgl Перегляд зображень для SDL. Я написав скрипт, який змінює розміри всіх зображень до 800x600 jpeg перед показом. Виправляє несумісні зображення для моєї консолі.

gnuboy-sdl:vgl Чудовий Nintendo GameBoy Color

gnuboy-svgalib Чудовий Nintendo GameBoy Color (Клавіші курсора були зламані в SVGAlib і повинні були бути повторно призначені)

seejpeg-svgalib Перегляд зображень для SVGAlib