Всё оказалось ещё вроще чем я писал в прошлой заметке — В ArchLinux текущее ядроо 2.6.30 и в нём уже есть поддержка KMS (видеокарточки от intel поддерживаются на ура), и всё действия сводятся к дописыванию в /boot/grub/menu.lst параметра к ядру i915.modeset=1 и прописыванию модулей intel_agp и i915 в /etc/rc.conf
И после сих нехитрых манипуляций ядро само ловит нужное разрешение.
Хотя по агентурным данным mplayer с таким фреймбуфером (пока) не работает, но несомненный плюс такого метода в том что иксы запускаются без "моргания" и как мне показалось несколько быстрее.
Спасибо vD отписавшемуся в предыдущей заметке в комментариях за терпеняе, разъяснения и помощь
muhas.ru — это просто блог…
О linux, о используемых или просто понравившихся инструментах, вобщем обо всем что окружает мою аскетичную компьютерную жизнь и показалось достойным упоминания или заметки «на память»
Framebuffer на MSI U100 в Archlinux
Предистория
Дело в том что в grub нет возможности задать режим фреймбуферу отличный от 640x480, 800x600, 1024x768 и 1280x1024, а на msi wind матрица 1024x600 и при 800x600 выглядит всё немного растянуто, да и глаза напрягает. В итоге решил найти метот который бы позволил задать разрешение 1024x600 на ноутбучной карточке (intel 945GM).
Поиски
Поиски вели в бредни по патчинью grub2, полез в aur и нашел grub2-915resolution, но сей grub намекает на отказ от ext4 чего я делать не был намерен, после поиска патча на ext4 на эту версию grub и патча 915resolution на grub2 уже поддерживающий ext4 (в ArchLinux он уже на ext4 пропатчен) решил отказаться от сего метода - надоело искать. Потом вспомнил о 915resolution
Посмотрел в aur и нашел 915resolution-static который патчит видео BIOS для поддержки нужного нам режима — в моем случае 1024x600. И с ним всё оказалось нетривиально но до безобразия просто.
Рецепт
yaourt -S 915resolution-static v86d
Первый пакет собираем из aur, второй лежит в extra. После этого редактируем два файла /etc/modprobe.d/uvesafb.conf(при необходимости создать) и /lib/initcpio/hooks/915resolution дабы они выглядели как показано ниже (естественно что делать это надо от пользователя root).
Первый
Второй
После сих действий добавляем в /etc/mkinitcpio.conf нужные хуки (HOOKS="base udev 915resolution v86d остальные") и запускаем (опять же от суперпользователя) mkinitcpio -p kernel26
Как только образ initrd соберется можно уходить в ребут и наблюдать приятную глазу консоль во фреймбуфере с разрешением в 1024х600, правда логотип ArchLinux при загрузке мы не увидем, ибо uvesafb будет включатся несколько позже.
В общем всё не так сложно как я об этом читал в сети, к тому же grub вообще не пригодился.
PS. Кстати, про msi wind u100 есть описание в ArchWiki так же как и на msiwind.net описание ArchLinux. Но про framebuffer там не слова — я что один арчевод работающий по-большей части в консоли не запуская иксов?
PPS. Если есть из читающих Арчевод с желанием запихнуть это в wiki, то просьба запихнуть, а то я с вики плохо дружу, чаще порчу всё — как-то вообще не сложилось с wiki-редактированием
Дело в том что в grub нет возможности задать режим фреймбуферу отличный от 640x480, 800x600, 1024x768 и 1280x1024, а на msi wind матрица 1024x600 и при 800x600 выглядит всё немного растянуто, да и глаза напрягает. В итоге решил найти метот который бы позволил задать разрешение 1024x600 на ноутбучной карточке (intel 945GM).
Поиски
Поиски вели в бредни по патчинью grub2, полез в aur и нашел grub2-915resolution, но сей grub намекает на отказ от ext4 чего я делать не был намерен, после поиска патча на ext4 на эту версию grub и патча 915resolution на grub2 уже поддерживающий ext4 (в ArchLinux он уже на ext4 пропатчен) решил отказаться от сего метода - надоело искать. Потом вспомнил о 915resolution
Посмотрел в aur и нашел 915resolution-static который патчит видео BIOS для поддержки нужного нам режима — в моем случае 1024x600. И с ним всё оказалось нетривиально но до безобразия просто.
Рецепт
yaourt -S 915resolution-static v86d
Первый пакет собираем из aur, второй лежит в extra. После этого редактируем два файла /etc/modprobe.d/uvesafb.conf(при необходимости создать) и /lib/initcpio/hooks/915resolution дабы они выглядели как показано ниже (естественно что делать это надо от пользователя root).
Первый
options uvesafb mode_option=1024x600-32 scroll=ywrap
Второй
run_hook ()
{
msg -n ":: Patching the VBIOS..."
/usr/sbin/915resolution -c 945GM 5c 1024 600
msg "done."
}
После сих действий добавляем в /etc/mkinitcpio.conf нужные хуки (HOOKS="base udev 915resolution v86d остальные") и запускаем (опять же от суперпользователя) mkinitcpio -p kernel26
Как только образ initrd соберется можно уходить в ребут и наблюдать приятную глазу консоль во фреймбуфере с разрешением в 1024х600, правда логотип ArchLinux при загрузке мы не увидем, ибо uvesafb будет включатся несколько позже.
В общем всё не так сложно как я об этом читал в сети, к тому же grub вообще не пригодился.
PS. Кстати, про msi wind u100 есть описание в ArchWiki так же как и на msiwind.net описание ArchLinux. Но про framebuffer там не слова — я что один арчевод работающий по-большей части в консоли не запуская иксов?
PPS. Если есть из читающих Арчевод с желанием запихнуть это в wiki, то просьба запихнуть, а то я с вики плохо дружу, чаще порчу всё — как-то вообще не сложилось с wiki-редактированием
MCabber: количество непрочитанных сообщений в GNU Screen
Вообще не только в screen, а где угодно. Но у меня это именно в screen, поэтому и показываю на его примере.
В настройках mcabber есть опция statefile для которой указывается файл в котором будут построчно сохранятся списки адресов приславших вам сообщение. Как только сообщение будет прочитано адресат из этого списка пропадает, если нет ниодного непрочитанного сообщения то и указанного файла не существует. Для работы опции statefile необходимо включить опцию logging (так же эта опция нужна и для истории сообщений)
Редактируем ~/.mcabber/mcabberrc
И пишем небольшой скрипт который будет вызываться из screen. У мну в скрипте (извиняюсь за то что он на zsh) считается количество строк, вообще можно проверять наличие файла — если файл есть значит есть и сообщения.
Как вызывать внешние команды hardstatus screen'а я уже писал
В .screenrc дописываем backtick номер 1 1 /путь/до/скрипта ну и в нужное место hardstatus вставляем %номер`. У меня сделано жирным красным мигающим текстом %{+Bb r}%3`%{-Bb d.}
В настройках mcabber есть опция statefile для которой указывается файл в котором будут построчно сохранятся списки адресов приславших вам сообщение. Как только сообщение будет прочитано адресат из этого списка пропадает, если нет ниодного непрочитанного сообщения то и указанного файла не существует. Для работы опции statefile необходимо включить опцию logging (так же эта опция нужна и для истории сообщений)
Редактируем ~/.mcabber/mcabberrc
set logging = 1
#дальнейшие параметры логированиия
set statefile = ~/.mcabber/mcabber.state
И пишем небольшой скрипт который будет вызываться из screen. У мну в скрипте (извиняюсь за то что он на zsh) считается количество строк, вообще можно проверять наличие файла — если файл есть значит есть и сообщения.
#!/bin/zsh
MCABBER_NO=`cat ~/.mcabber/mcabber.state &>/dev/null|wc -l`
[[ "$MCABBER_NO" -gt "0" ]] && echo "$MCABBER_NO message"
exit 0
Как вызывать внешние команды hardstatus screen'а я уже писал
В .screenrc дописываем backtick номер 1 1 /путь/до/скрипта ну и в нужное место hardstatus вставляем %номер`. У меня сделано жирным красным мигающим текстом %{+Bb r}%3`%{-Bb d.}
Неразбериха в алиасах
Бывает так что какой-нить алиас равен команде, т.е alias ls='ls -F --color=auto' или alias df='df -h'. Но бывает необходимость воспользоватся не алиасом а именно командой, т.е. в приведенных примерах что бы ls был не цветным и df показывал размер в виде блоков. unalias использовать не вариант по той причине что после него наш алиас уже не будет работать, но предусмотрительные создатели шелов (по меньшей мере zhs и bash) позаботились о таком случае.
Временно отменить выполнение алиаса можно так: \ls и \df
Временно отменить выполнение алиаса можно так: \ls и \df
