пятница, 27 марта 2009 г.

Временно перестал заниматься Линуксом.
Искал свободную БД и компоненты для Дельфи.
Понравилась MySQL - у неё есть Автоинкремент - удобно вставлять новые записи в таблицу, и сразу получать сгенерированный базой ID-ик.

Для работы с базой подошла ZEOS - таблицы фильтруются, а не как АДО или DBExpress, падают с Unidirectional cursor.

среда, 21 января 2009 г.

Следующим этапом будут Esc-последовательности.

P.S. Список режимов экрана консоли:
утилита scan
или vga=ask в параметрах ядра

также еще есть библиотека "ncurses" для вывода на консоль, до сих пор развивается.
http://www.gnu.org/software/ncurses/ncurses.html
http://ftp.gnu.org/pub/gnu/ncurses/


http://knoppix.ru/adv120604.shtml :
Фреймбуфер (framebuffer) позволяет иметь в консоли не стандартные 80х25 символов, а гораздо больше, например, 128х48 (при разрешении 1024х768 и стандартном шрифте 8х16). Ядром Linux поддерживаются несколько типов фреймбуферов для различных семейств видеокарт, а также общий для всех vesafb (поддерживает все видеокарты, соответствующие стандарту VESA 2.0, т.е. все, хоть сколько-нибудь современные).
Главное достоинство vesafb - его универсальность и совместимость с большинством видеокарт. Но, к сожалению, единственная поддерживаемая им частота обновления - 60 Гц. Для включения фреймбуфера на vesafb необходимо передать ядру (через команду append="" для Lilo или дополнение к команде kernel в случае Grub) параметр vga=номер_режима. Номер режима определяет разрешение и глубину цвета. Так, vga=791 включает 1024x768x16, а 788 - 800х600х16. Более полный список режимов см. в файле fb/vesafb.txt в документации ядра (там режимы указаны в 16-ричной форме, их можно перевести в десятичную, а можно так и записывать - vga=0x314).
Если необходима бОльшая частота обновления, надо использовать специфический для видеокарты модуль. Для всех видеокарт от nVidia это rivafb, для ATI Radeon - radeonfb (для более старых ATI - ati128fb). Поскольку в большинстве дистрибутивов эти драйвера собраны модулями, а фреймбуфер желательно включать еще при загрузке ядра, когда модули недоступны, их необходимо положить в initrd, (рамдиск, модули из которого грузятся еще до монтирования корневой ФС). Для этого выполняем команду mkinitrd --help, копируем последнюю строчку (пример использования), добавляем к ней --with radeonfb (укажите нужный модуль) и выполняем. Затем убеждаемся, что полученный (точнее, обновленный) initrd прописан в конфиг загрузчика. Теперь надо добавить в параметры ядра описание нужного режима. Первым делом уберите vga=, иначе будет инициализироваться vesafb (т.к. он, как правило, вкомпилирован в ядро). Затем добавьте параметр, соответствующий следующему образцу:

video=radeonfb:1024x768-16@85
Здесь 16 - глубина цвета в битах, 85 - частота обновления в герцах. Как то, так и другое может быть опущено (вместе с предшествующими им знаками - и @). Разумеется, имя модуля, разрешение, глубину цвета и частоту обновления необходимо указать свои.
У radeonfb и rivafb есть один похожий недостаток (это не вина их авторов, впрочем). При использовании одновременно фреймбуфера на одном из этих драйверов и Иксов на закрытом драйвере (т.е. nvidia или fglrx) часто наблюдаются различные неприятности типа порчи изображения в консоли. Это, безусловно, вина производителей закрытых драйверов. Иногда, кстати, помогает установка в консоли и Иксах разных разрешений. В любом случае пробуйте, возможно, у Вас таких неприятных эффектов не возникнет.

вторник, 20 января 2009 г.

Итак, консоли:
не больше 16-ти штук ( Note that VT 0 is always open, since it's an alias for the current VT, and people can't use it here. We cannot return state for more than 16 VTs, since v_state is short.)
linux-2.6.0\drivers\char\vt_ioctl.c

Итак, у клавиатуры консоли есть 4 режима:

raw (scancode) K_RAW
mediumraw (keycode) K_MEDIUMRAW
default (ASCII) K_XLATE
Unicode (UTF-8) K_UNICODE

частота повтора,
задержка перед началом повтора

У экрана консоли два основных режима:
текстовый/графический
также отдельно режим (я так понимаю, что это пресловутые VGA 0xXXX)
А еще размер - количество строк и колонок,
XxY - пиксельный размер, а также размер одного символа в пикселях.


Консоли:
tty - реальная консоль
pty - http://en.wikipedia.org/wiki/Pseudo_terminal
http://www.kernel.org/doc/man-pages/online/pages/man7/pty.7.html


P.S.
Интересно, а как включать Нумлок?
клавиша META - обнаружил, что это может быть клавиша "WIN"

понедельник, 19 января 2009 г.

Милостивые государи? Проба пера.

Начну, помоляся :-)
Сим начинаю описание своих похождения по Линуксу.
Поставил ASPLinux 14 Cobalt
И сразу вопросы:
А где тут багтрекер?

Сейчас решил изучить вопрос с консолью и русификацией.
Основные тезисы:
1) Драйвер локальной консоли. Умолчательные значения. Установка параметров для разных консолей.
Переключение консолей. Переключение раскладок. Шрифты консоли. Места хранения настроек, пакеты, использующиеся для настроек.

2) Фреймбуфер, его настройка.