Блог Eugen772

начинающий для начинающих во FreeBSD и всяком другом


FreeBSD 7.2 Xorg 7.4 hal 0.5.11 и Layout ru (русская клавиатура через новую хитро в...ю з....цу)
Pentalfa
[info]eugen772
Источники:
[1]HandBook - 5.4 X11 Configuration
[2]Xorg устройства ввода через hal

И так обновили FreeBSD до версии 7.2, затем обновили порты и портапгрейдили xorg до версии 7.4 со всеми последствиями.
В результате получили проблемы с запуском иксов. Узнаем что /etc/X11/xorg.conf теперь "почти" ненужен и переименовываем его, чтобы он потерялся для иксов. А так же что "почти" все что нужно будет делать hal.
Значит их нужно установить. Добавить в rc.conf.local и перезагрузить машину.
Мои версии hal-0.5.11_26 dbus-1.2.4.6_1 policykit-0.9_5
Строчки в rc.conf.local:
dbus_enable="YES"
polkitd_enable="YES"
hald_enable="YES"
В свою очередь иксы запускаются, но без правильного определения драйвера nvidia и без переключения клавиатуры на русскую раскладку.

Читаем [1] "The automatic configuration may fail to work with some hardware, or may not set things up quite as desired. In these cases, manual configuration will be necessary."
Значит возвращаем наш xorg.conf в работу. Далее там сказано законментить RgbPath "/usr/local/share/X11/rgb" ибо он выдает ошибку.
Я решил не мучиться а сгенерировать новый xorg.conf, после чего в новый конфиг добавил старые FontPath для русских шрифтов и в секции Device видео карты поменял драйвер на nvidia.
Так вроде решилась проблема с видюхой (но работу 3D я не проверял, оставил на потом).

Теперь, как решилась проблема с русской клавой.
Опять таки читаем [1], там предлагается вырубить автоматизм hal`а (Option "AutoAddDevices" "false"), но мне почемуто захотелось помучиться.
Поэтому читаю последующий Note. Пишут мол создайте файл /usr/local/etc/hal/fdi/policy/x11-input.fdi для французов, но их мы не любим с 18 века. Поэтому заполняю я свой файл сдедующим содержанием (опираясь на [2] после строчки "конфиг выше не работает cо старым hal, у меня заработал этот"):
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_options.XkbModel" type="string">pc104</merge>
<merge key="input.x11_options.XkbLayout" type="string">us,ru(winkeys)</merge>
<merge key="input.x11_options.XkbVariant" type="string">winkeys</merge>
<merge key="input.x11_options.XkbOptions" type="string">grp:ctrl_shift_toggle</merge>
</match>
</device>
</deviceinfo>

Перезагружаем систему, что бы hal перечитал этот файл. И вроде вот оно счастье.

Но возникает вопрос, зачем такие муки и надрывы, если уж все так автоматизируется, что гонять xorg.conf уже не надо, то уж такую задачу как переключение раскладки и определения установленого драйвера видюхи можно было както по проще решить.
Ну да ладно. Теперь хочеться выяснить, как без xorg.conf можно было бы пользоваться русскими шрифтами и правильно определять nvidia драйвер. К тому же в источнике [2] упоминается, что "rules нужна для поддержки расширений клавиатуры, вроде регулятора громкости и т.п." - а это я еще не пробовал, поэтому интересно. Еще остались вопросы по [2] о строчке "конфиг выше не работает cо старым hal, у меня заработал этот" старый и новый hal так сильно отличаются? И где лежат подробные описания всех значений полей?

Заметки по удобствам FreeBSD и тд
Pentalfa
[info]eugen772
FreeBSD-сервер для линуксоида: приведение конфигурации к виду, в котором удобно работать
статья полезна, лично для меня, на гуру не претендую
в ней описываются: установка, настройка, работа с портами (в том числе knobs) и т.д. с командами которые я нигде ранее не видел ( :( может мне очки купить?)

Обновление ПО во FreeBSD
описываются команды утилиты portupgrade
учитывая как кривовато работает стандартные проги установки портов, команды этой утилиты их полностью могут заменить, надеюсь с ними глюков будет меньше

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

XTerm и KOI8-R во FreeBSD
Pentalfa
[info]eugen772
Сейчас сижу на Enlightenment (X window manager). Занятная весщичка. В качестве X file manager пробую Worker, тоже не дурно. XTerm дефолтовый не хочет понимать русский шрифт. Worker при выполнении каких-либо операций может выдать xterm окно для сообщения результата, естественно xterm выдаст стандартные сообщения согласно локали пользователя. В результате мы ничего прочесть не можем, одни абраказяблы.
Гуглим... FreeBSD XTerm KOI8-R
Получаем следующие ссылки:
http://koi8.pp.ru/xwin.html
"Software Tuning:
XTerm . 
New version require locale converter /usr/X11R6/bin/luit installed to work with non UTF-8, i.e. ru_RU.KOI8-R locale. Add 
XTerm*locale: true
XTerm*VT100*allowC1Printable: true
into your ~/.Xdefaults file."
вроде помогает, но после того как я обновил порты, перестало помогать.
Следующая ссылка
http://www.reid.ru/freebsd/?p=6
"В домашнем каталоге в файле настройки XTerm прписать:
xterm*font: -*-terminus-medium-r-normal-*-12-*-*-*-*-*-koi8-r"
не понял я про файл XTerm, записал в ~/.Xdefaults, помогло. Только это будет работать если установлены шрифты /usr/ports/x11-fonts/terminus-font/ (его я не ставил) или /usr/ports/x11-fonts/cyr-rfx/ (этот установил, вроде работает).
На этом же сайте видим коммент
"kegf 
2009-01-23 14:02:50 

и ещё:
с xterm’ом вкупе идет программа koi8rxterm, которая нормально отображает русский.
Мой конф .Xdefaults:
KOI8RXTerm*colorMode: on
KOI8RXTerm*colorBD: lightgreen
KOI8RXTerm*colorBDMode: on
KOI8RXTerm*colorUL: yellow
KOI8RXTerm*colorULMode: on
KOI8RXTerm*dynamicColors: off
KOI8RXTerm*highlightSelection: true
KOI8RXTerm*background: #000000
KOI8RXTerm*foreground: #ffffff
KOI8RXTerm*font: -*-terminus-*-r-*-*-12-*-*-*-*-*-koi8-r
KOI8RXTerm*SaveLines: 10000
KOI8RXTerm*ScrollBar: off"
если запускать koi8rxterm, проблем со шрифтом нет. Опять таки указан -*-terminus-*-r-*-*-12-*-*-*-*-*-koi8-r, который все испортит, если не установлен шрифт terminus или cyr-rfx.
Но так как из-за Worker`а отделаться от стандартного xterm мы можем только отредактировав его настройки (к примеру заменив xterm на koi8rxterm или добавив опцию -k8 (честно я ее не пробовал)) и к тому же в дальнейшем не известно какие будем проги ставить и можно ли изменить их дефолтовый терминал на koi8rxterm мы не знаем. Решил изменить ~/.Xdefaults следующим простым способом:

KOI8RXTerm*colorMode: on
KOI8RXTerm*colorBD: lightgreen
KOI8RXTerm*colorBDMode: on
KOI8RXTerm*colorUL: yellow
KOI8RXTerm*colorULMode: on
KOI8RXTerm*dynamicColors: off
KOI8RXTerm*highlightSelection: true
KOI8RXTerm*background: #000000
KOI8RXTerm*foreground: #ffffff
KOI8RXTerm*font: -*-terminus-*-r-*-*-12-*-*-*-*-*-koi8-r
KOI8RXTerm*SaveLines: 10000
KOI8RXTerm*ScrollBar: off

XTerm*colorMode: on
XTerm*colorBD: lightgreen
XTerm*colorBDMode: on
XTerm*colorUL: yellow
XTerm*colorULMode: on
XTerm*dynamicColors: off
XTerm*highlightSelection: true
XTerm*background: #000000
XTerm*foreground: #ffffff
XTerm*font: -*-terminus-*-r-*-*-12-*-*-*-*-*-koi8-r
XTerm*SaveLines: 10000
XTerm*ScrollBar: off

Первые 30 минут работы меня устраивают, посмотрим что будет дальше.

P.S.
по установке terminus в системную консоль, есть запись:
http://www.reid.ru/freebsd/?p=1169

Macromedia Flash Player for FreeBSD.
Pentalfa
[info]eugen772
Сейчас ищу способ, как завести Flash в нативной Opera для FreeBSD. Пака гуглил, нашел ссылку:
http://www.petitiononline.com/flash4me/petition.html
Это петиция под которой может подписаться любой, кому нужен Flash во FreeBSD.
15 минут назад и я подписался, номер моей подписи был "7554 Signatures Total".

Я остаюсь (FreeBSD forever)
Pentalfa
[info]eugen772
В некотором смысле прикручивая к своему посту песню Чёрного Обелиска - Я остаюсь, хочу сказать, что на все 100% я попрежнему приверженец FreeBSD, хоть и в PC-BSD проэкте есть значительная польза. В этой системе(FreeBSD), как выразился мой брат впервые ее увидев гы, я чуствую себя как во "втором" DOSе, только жутко развитом. Как и в DOSе, во FreeBSD действует принцип "в системе все изменения могут быть только от моих рук", а значит если после настройки все работает как надо, так будет "до конца дней ваших, пока смерть не разлучит вас" и в тоже время "кривые руки не знают скуки", незабываем об этом.

Монтируем флешку во FreeBSD
Pentalfa
[info]eugen772
# mount_msdosfs -L ru_RU.KOI8-R -D CP866 -o longnames /dev/da0s1 /mnt
тута все как всегда, команда определяющая файловую систему, опция указывающая локальную кодировку, опция указывающая кодировку флешки, опция разрешающая просмотр длинющих имен (не по правилу 8.3), путь к файлу девайса устройства, путь к директории куда ее мантируем. 

Монтирование CD DVD во FreeBSD с русской кодировкой.
Pentalfa
[info]eugen772
Автомонтирование во FreeBSD уже работает, но все же с ним бывают вопросы. Да и пока начинающий только учится поднимать X.org и так далее, он работает в консоли, до автомонтирования ему еще далеко. К тому же в консоли многим, и мне тоже, нравится работать больше чем пользоваться какой-либо системой автоматизации монтирования.
Монтирование описыватся во многих книгах и мануалах, поэтому не буду расписывать синтаксис и значение ключей. Новичкам: учитесь читать на языке потенциального врага.

Монтируем CD DVD с русской кодировкой:

файловая система iso9660

mount_cd9660 -C KOI8-R /dev/cd0 /mnt
mount -t cd9660 -C KOI8-R /dev/cd0 /mnt (с опцией -t я почемута не подружился, не помню почему)

примечание: девайс cd0 это не acd0, а это устройство ATAPI (кажися типа сидюк с расширеными возможностями и скоростью). Так что замените его при необходимости в команде монтирования. Если ваше устройство поддерживает ATAPI (на текущий день это уже почти default) читайте Handbook/Устройства хранения/Запись и использование оптических носителей (CD)/Использование драйвера ATAPI/CAM как заставить работь привод через ATAPI драйвер. На счет -C KOI8-R можно сказать, что это указыавтеся локальная кодировка, то есть настройки вашей системы это либо KOI8-R либо UTF-8 (полностью всю систему на сей день перевести не представляется возможным) либо CP1251 (переводить на эту кодировку я даже пробовать небуду).

файловая система udf

Выше приведенной командой можно монтировать CD DVD с файловой системой (ФС) cd9660. Представим себе, что на DVD был записан файл более 2 Гб (если не ошибаюсь в ограничениях cd9660). Он мог быть записан с ФС udf, при этом команда сильно не изменится:

mount_udf -C KOI8-R /dev/cd0 /mnt
mount -t udf -C KOI8-R /dev/cd0 /mnt

Так, кажется это все, что касаеца монтирования CD DVD. Больше этого я не использую. Единственной проблемой для меня в монтировании в консоле было запомнить необходимые параметры. Но это решилось просто. В домашней директории ~/ положил файл-памятку (простой ascii текст) назвал его personal_faq.txt, записал в него часто используемые команды, и в последствии командой cat (вывод в стандартный поток вывода) и командой фильтрации строк grep получал список подходящих команд, к примеру:

$ cat personal_faq.txt | grep mount_cd9660
mount_cd9660 -C KOI8-R /dev/cd0 /mnt
mount -t cd9660 -C KOI8-R /dev/cd0 /mnt


так же в него напихал
запись dvd
создание iso образов
очистка rw дисков (хорошая штука для создания подставок под кружки с чаем/кофе, если применить на простые r балванки :)))
и еще много чего планирую напихать и в блог выложить

теперь просто нужно помнить пару букв необходимых для фильтра файла-памятки.

Home