Консоль 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