Grub2 Не отображается (или криво отображается) меню загрузчика.

Собственно проблема нарисовалась после автоматического апдейта убунты до версии 12.04.  После перезагрузки компа увидел на экране примерно такое изображение: 

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

Короче, решается эта проблема просто. Правим конфиг /boot/grub/custom.cfg

Находим и раскоментируем строку

#GRUB_GFXMODE=640×480

Теперь заглянем в описание этого параметра:

GRUB_GFXMODE=640×480 - этот пункт отвечает за разрешение графического меню GRUB2. Данный параметр предоставляет разрешение, которое поддерживается видеокартой пользователя (например: 640×480, 800×600, 1024×768, 1600×1200 — для соотношения сторон 4:3. И 640×400, 800×500, 1024×640, 1280×800, 1680×1050 — для широкоформатных мониторов с соотношением сторон 16:10). Настройки применимы только для меню загрузки. Так же у нас есть возможность увидеть все доступные разрешения для экрана из меню GRUB2. Для этого, находясь в меню, жмем «с», затем в строке grub> пишем vbeinfo.

Если строка GRUB_GFXMODE=640×480 закомментирована или выбранное разрешение недоступно, тогда GRUB2 использует настройки по умолчанию, определенные скриптом /etc/grub.d/00_header.

Отлично, значит для моего монитора эта строка будет выглядеть так:

GRUB_GFXMODE=800x600x32,800x600x24,800×600

Третья цифра указывает битность изображения. Параметров как видите можно указывать несколько, через запятую. В этом случае загрузчик попытается применить первую комбинацию, если не получиться то вторую и т.д.

Естественно не забываем сделать sudo update-grub

Почитать о настройка GRUB2 можно здесь:

http://help.ubuntu.ru/wiki/grub
http://ubuntologia.ru/grub2-settings-file

Переключение раскладок клавиатуры в Xfce на Debian (Squeeze)

Для нормально смены раскладок по Ctr+Shift достаточноотредактировать файл  /etc/default/keyboard:

XKBMODEL=»pc105″
XKBLAYOUT=»us,ru»
XKBVARIANT=»,»
XKBOPTIONS=»grp:ctrl_shift_toggle,grp_led:scroll»

При переключении на русскую раскладку будет загораться индикатор «ScrollLock». Если этого мало и хочется иметь нормальный индикатор клавиатуры в трее, то можно установить XXkb:

apt-get install xxkb

 

После чего ходим в конфиг /etc/X11/app-defaults/XXkb и правим следующие строки:

XXkb.image.path: /usr/share/xxkb

XXkb.mainwindow.enable: yes
XXkb.mainwindow.geometry: 15×15+985-31
XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm
XXkb.mainwindow.image.3: su15.xpm
XXkb.mainwindow.image.4:
XXkb.mainwindow.label.font: -misc-*-r-*-20-*

XXkb.mainwindow.type: tray
! possible values — normal, top, tray, wmaker

XXkb.button.enable: no

В результате имеем в трее примерно таку картинку:

  

Если поставить параметр XXkb.button.enable: yes то xxkb попытается вставить индикатор раскладки в заголовок окна. Поэтому придется настраивать всю секцию XXkb.button
По мне так это лишнее.

Не забудте добавить xxkb  в автозагрузку!

Смена локализации в Xfce на Debian (squeeze)

Оказалось все до смешного просто:

dpkg-reconfigure locales

Проверяем содержимое файла /etc/default/locale  должен выглядеть так:

# File generated by update-locale
LANG=ru_RU.UTF-8

После чего перегружаем комп.

static declaration of ‘strcasestr’ (Apache 1.3.41 rus/PL30.24)

На FreeBSD старше 7.0 при сборке Apache 1.3.41 rus/PL30.24 вываливается с ошибкой:
mod_charset.c:1210: error: static declaration of ‘strcasestr’ follows non-static declaration
/usr/include/string.h:71: error: previous declaration of ‘strcasestr’ was here

Чтобы исправить данную ошибку надо в файле src/modules/extra/mod_charset.c найти переменную ‘strcasestr’ и сменить ее например на ‘strcasestr1′. Эта ошибка возникает, т.к. в include/string.h уже есть функция strcasestr(), которая объявляется в mod_charset.c.