Проект переехал на новый домен!  [[ перейти ]]

FreeBSD как десктопная система

Автор: Raven2000.

  По просьбам трудящихся возьмусь за неблагодарную тему по одомашниванию FreeBSD
в десктопную систему. Я не сторонник того чтобы одно превращать в другое, чем оно
совсем не является в том смысле, что FreeBSD шикарная серверная система, но
довольно посредственная десктопная можете меня камнями закидать, но это мое мнение
и я при нем останусь :). Серверу графическая оболочка и прочие фенечки не нужны, а
если юзер захочет оную поставить, то нужно запастись терпением опытом работы
с системой и большего желания одомашнить *BSD.
Начнем с настройкой консоли и установкой X11 с русским KDE, потом перейдем к
необходимому софту который заменит программные аналоги в других системах, например
Microsoft Office, Internet Explorer, The Bat! и т.д. в общем все что сделает работу
с системой удобной и сухой :)

Список:
# Настройка графики и удобство работы с консолью
# Установка и конфигурирование X11 & KDE 3.5
     Ставим X11
     Ставим KDE 3.5
     Конфигурирование X11
# Настройка видеокарты и монитора
     Монитор
     Видеокарта
     Тестируем
# Русификация KDE, шрифты и менеджер дисплеев
     Менеджер дисплеев KDE
     Делаем KDE по русски
     Установка кириллических шрифтов
# Мультимедия и устройства ввода
     Ставим звук
     Настройки клавиатуры
     Мышь
# Монтирование
     Автомонтирование флэшек и CD-ROM в KDE с перекодировкой
     Монтируем NTFS и FAT тома
# Софт - браузеры, офис, мультимедийный и тд
     Слушаем музыку
     Пишем на CD и DVD
     Офис
     Раскладка клавиатуры
     Браузеры
     ICQ
     Файловые менеджеры
# Бонусы
     Оформление окон как у висты
     Сетевой монитор во FreeBSD
     Набор утилит


И так поехали:

# 1) Настройка графики и удобство работы с консолью

# Установка и конфигурирование X11 & KDE 3.5

Ставим X11:

# cd /usr/ports/x11/xorg && make install clean


2.1) Ставим KDE 3.5
Я ставлю KDE с CD поставляемого вместе с FreeBSD (CD2) на котором находятся
распространенные пакеты программ,в том числе и KDE 3.5 Из портов качать накладно трафика
столько, что дешевле WinXP цензионный купить :) Кто без 2го диска брал или траф
позволяет то для их и установки X11 и Xorg выполнается из коллекции портов.
Cтавим KDE 3.5 из портов:

# cd /usr/ports/x11/kde3 &&make install clean

2.1) Конфигурирование X11
После установки X11 надо ее под свое оборудование настроить. От root отдаем команду:

# Xorg -configure

В каталоге /root будет создан конфигурационного файла под именем xorg.conf.new X11
сделает попытку распознать графическое оборудование системы и запишет конфигурационный
файл, загружающий правильные драйверы для обнаруженного оборудования в системе. Но
очень часто в частности у меня невсегда она правильно отрабатывала приходилось руками
править конфиг это ниже :)

Имеется также графический инструмент для настройки, xorgcfg который включён в
дистрибутив X11. Он позволяет выполнить настройку в интерактивном режиме посредством
выбора соответствующих драйверов и настроек. Эта программа может быть запущена в консоли
командой.

# xorgcfg -textmode

Кроме того, существует программа настройки xorgconfig это консольная утилита,
которая менее дружественна к пользователю, но может работать в ситуациях, в которых
другие утилиты не работают.при настройке через xorgconfig - работает в text-mode,
порядка 100 пунктов при выборе драйвера для видеокарты. Использовать xorgconfig с
последующей ручной правкой мой случай :)

# xorgconfig

Для проверки того, что Xorg может работать с графическим оборудованием настроенного
по умолчанию в настраиваемой системе.Для этого выполните:

# Xorg -config xorg.conf.new

Если появилась чёрно-белая сетка и курсор мыши в виде X, то памятник вам и флаг в
чайку настройка была выполнена успешно. Для завершения тестирования просто нажмите
одновременно Ctrl+Alt+Backspace. Если что то не так, рябь\не включается\т.д.
смотрите лог-файл /var/log/Xorg.0.log

# Настройка видеокарты и монитора

3) Монитор
Задаем частоты для монитора (если у вас LCD то вам повезло и можете пропустить частоты).
Они обычно обозначаются как частоты горизонтальной и вертикальной
синхронизации. Эти значения добавляются в файл xorg.conf.new в раздел "Monitor":

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

Или как у меня

Section "Monitor"
         Identifier "CTX"
         VendorName "CTX"
         ModelName "CTX 711"
         DisplaySize 1280 1024
         HorizSync 30.0 - 64.0
         VertRefresh 75.0
EndSection 

HorizSync и VertRefresh может и не оказаться в файле конфигурации. Тогда добавляем
с указанием корректных значений горизонтальной частоты синхронизации после
HorizSync и вертикальной частоты синхронизации после VertRefresh. В примере выше
были введены частоты монитора моей системы. Вводите только те частоты на которых может
работать ваш монитор! а то ШаЙТАН АлаХ МАЙФУН!
Подсчитать Modeline (конфигурационную строку указывающую иксам какое разрешение и какую
частоту развертки ставить). Можно так.

# gtf 1024 768 100
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
 Modeline "1024x768_100.00"  113.31  1024 1096 1208 1392  768 769 772 814  -HSync +Vsync

X11 позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими
её мониторами. Программа xset управляет временными задержками и может явно
задавать режимы ожидания, останова и выключения. Если вы хотите включить использование
возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел,
описывающий монитор:

Option       "DPMS"

Далее выбераем желаемые разрешение и глубину цвета, которые будут использоваться
по умолчанию. Они задаются в разделе "Screen":

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

Ключевое слово DefaultDepth описывает глубину цвета, с которой будет работа по
умолчанию. Это значение может быть переопределено при помощи параметра командной
строки -depth для Xorg. Ключевое слово Modes описывает разрешение, с
которым нужно работать при данной глубине цвета. Заметьте, что поддерживаются
только те стандартные режимы VESA, что определены графическим оборудованием
настраиваемой системы. В примере выше глубина цвета по умолчанию равна двадцати
четырём битам на пиксел. При такой глубине цвета принимается разрешение
в 1024 на 768 точек.

3.1) Видеокарта
Определение типа видеоадаптера.

Section "Device" 
        Identifier "NVIDIA GeForce" 
        Driver "nvidia" 
        VendorName "NVidia" 
EndSection 

В этом разделе интересен пункт Driver, который указывает на используемый драйвер.
В моём случае используется драйвер с http://www.nvidia.com установленный из портов.
Список имеющихся драйверов можно найти в каталоге /usr/X116/lib/modules/drivers.

Определение видеорежимов.

Section "Screen" 
Identifier "Screen 0" 
Device "NVIDIA GeForce" 
Monitor "CTX 711" 
DefaultDepth 24 
Option "ConnectedMonitor" "CRT,TV" 
Option "TVStandard" "NTSC" 
Option "TwinView" "yes" 
Option "TwinViewOrientation" "Clone" 
Option "MetaModes" "1280x1024" "1024x768" "800x600"
#Option "MetaModes" "1280x1024,1024x768@1280x1024; 1024x768,1024x768; 800x600,800x600"
Option "HorizSync" "CRT-0: 30.0-85.0; TV-0: 20.0-50.0" 
Option "VertRefresh" "CRT-0: 75.0; TV-0: 45.0-100.0" 
SubSection "Display" 
Viewport 0 0 
Depth 8 
EndSubSection 
SubSection "Display" 
Viewport 0 0 
Depth 16 
EndSubSection 
SubSection "Display" 
Viewport 0 0 
Depth 24 
EndSubSection 
EndSection 

Опция MetaModes для вывода клона изображения на телевизор. При этом в режиме 1280x1024
используется панорамирование на телевизоре до размера 1024х768 (показывается только
часть картинки, при перемещении курсора рабочий стол смещается в нужном направлении).

Если у нас nVidia - то мы можем пойти дальше и установить
драйвер из портов с дальнейшей настройкой как описано
в документации порта:
/usr/ports/x11/nvidia-driver - драйвер от nVidia
/usr/ports/x11/nvidia-settings - управляющая панель для драйвера
/usr/ports/x11/nvidia-xconfig - управление конфигурацией драйвера
/usr/ports/sysutils/nvclock - статус и оверклокинг

Остальные вопросы про настройки карточек тут

3.2) Тестируем
Для проверки работы протестируем свой конфиг.

# Xorg -config xorg.conf.new

Если небо в клеточку и мышь крестиком , то все ок
идем дальше копируем конфиг на свое рабочее место.

# cp xorg.conf.new /usr/X11R6/etc/X11/xorg.conf

Или

# cp /etc/X11/xorg.conf

Теперь ставим старт KDE по умолчанию. И стартуем иксы (KDE)

# % echo "exec startkde" > ~/.xinitrc
# startx


# Русификация KDE, шрифты и менеджер дисплеев.

4) Менеджер дисплеев KDE
Для того, чтобы разрешить запуск kdm, измените в файле /etc/ttys строку,
относящуюся к консоли ttyv8:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

4.1) Делаем KDE по русски

# cd /usr/ports/russian/kde3-i18n && make install clean

Далее в KDE настройках системы включаем язык интерфейса как Russian и
перезапускаем KDE. Теперь мы имеем полноценную русскую версию системы.

4.2) Установка кириллических шрифтов
Устанавливать набор ttf шрифтов из Windows. Перед установкой
выходим из KDE. Создаем папку и копируем шрифты *.ttf из папки Windows/Fonts,
например, папка /usr/X11R6/lib/X11/fonts/win-ttf.
Далее необходимо проделать несколько действий:

# cd /usr/X11R6/lib/X11/fonts/win-ttf 
# mkfontscale 
# mkfontdir 

после этих действий в папке должны появиться два файла font.dir и font.scale
Последнее действие:

# fc-cache /usr/X11R6/lib/X11/fonts/win-ttf 
# mkfontscale -e /usr/X11R6/lib/X11/fonts/encodings 

в файле

# ee /usr/X11R6/etc/X11/xorg.conf

добавьте путь к новому каталогу /usr/X11R6/lib/X11/fonts/win-ttf

:
FontPath "/usr/X11R6/lib/X11/fonts/win-ttf "
:

Перезапустите иксы и пользуйтесь шрифтами.
Для тех, кто не любит лишних рестартов, то под рутом пишем

# fc-cache -v -f


Так же вместо копирования шрифтов с Windows, можно поставить
порт x11-fonts/webfonts с параметром WITH_MSWINDOWS_LICENSE=yes
И кроме этого, наборы шрифтов можно найти в портах /usr/ports/x11-fonts

Далее делаем типа Майкрософтовского Clear Type.
В ControlCenter->Appearance&Themes->Fonts.
справа чекбокс "использовать сглаживание шрифтов" отмечаем и правее
кнопка "настроить", нажимаем ее, затем отмечаем чекбокс "использовать
межстрочное сглаживание".
Windows по дeфолту везде использует Tahoma 10; и для моноширинного Courier New

# Мультимедия и устройства ввода

5) Ставим звук
Эти примеры приведены для звуковой карты Creative SoundBlasterR Live!. Другие
имеющиеся модули драйверов звуковых карты приведены в /boot/defaults/loader.conf
Если вы не уверены, какой драйвер использовать, попробуйте загрузить snd_driver:

# kldload snd_driver

После этого действия на первой текстовой консоли должны появиться сообщения
о найденных устройствах.
Итак, драйвера загружены смотрим какой же из них наш. Выполняем команду:

# cat /dev/sndstat

Далее чтоб нужные звуковые модули загружались при запуске системы добавляем
соответствующюю модулю строку (смотря какой модуль я тут внесу загрузку всех модулей)
к файлу /boot/loader.conf:

snd_driver_load="YES"  

Дальнейшем за место выше написанного пропишем нужный нам драйвер\модуль от своей
звуковушки. А узнать какой подцепился модуль можно так:

# cat /dev/sndstat

В дальнейшем при компиляции ядра можете сразу указать нужные драйвера.
(соответственно в /boot/loader.conf удалите строчки со звуком)
Звуковые модули можно посмотреть тут /boot/defaults/loader.conf

Быстрым способом тестирования звуковой карты является отправка любого файла
в файл /dev/dsp, как показано здесь:

# cat filename > /dev/dsp

Результатом выполнения этой команды станет шум, который означает, что звуковая
карта работает.

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

# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4

Смотрим

# more /etc/sysctl.conf | grep chans

5.1) Настройки клавиатуры.

Section "InputDevice" 
Identifier "Keyboard1" 
Driver "kbd" 
Option "AutoRepeat" "500 30" 
Option "XkbRules" "xorg" 
Option "XkbModel" "geniuscomfy2"      # использемая клавиатура  
Option "XkbLayout" "us,ru"            # раскладка клавиатуры         
Option "XkbVariant" "basic,winkeys"   # базовая раскладка клавиатуры 
# раскладка клавы меняется как CTRL+SHIFT, а также расположения знаков препинания 
# как на клаве Microsoft Windows 
Option "XkbOptions" "grp:ctrl_shift_toggle,numpad:microsoft"
EndSection 

5.2) Мышь

Section "InputDevice" 
Identifier "Mouse1" 
Driver "mouse" 
Option "Protocol" "Auto" # Auto detect 
Option "Device" "/dev/sysmouse" 
Option "ZAxisMapping" "4 5 6 7" #включение поддержки колеса мыши 
EndSection 


# Монтирование

6) Автомонтирование флэшек и CD-ROM в KDE с перекодировкой

6.1) Монтируем NTFS и FAT тома.

# ls -1 /sbin/mount* # что система может примонтировать

На данный момент в FreeBSD имеется драйвер доступа к NTFS в режиме ''только чтение''. mount_ntfs(8)FAT в режиме чтения-записи. mount_msdosfs(8)
В файле /etc/fstab пропишите строки, заменив /dev/ad* на свои. Каталоги /mnt/win_* создайте сами.

/dev/ad0s1	/mnt/win_c	ntfs	ro,noauto,-C=ru_RU.CP866,-W=koi2dos 0 0
/dev/ad0s5	/mnt/win_d	msdosfs	rw,noauto,-L=ru_RU.KOI8-R -D CP866  0 0

К недавнему времени появились два порта для чтения\записи на NTFS

Port:   ntfsprogs-1.13.1
Path:   /usr/ports/sysutils/ntfsprogs
Info:   Utilities and library to manipulate NTFS partitions
Maint:  babak@farrokhi.net
B-deps:
R-deps:
WWW:    http://www.linux-ntfs.org/

И второй порт

Port:   fusefs-ntfs 1.913
Path:   /usr/ports/sysutils/ntfsprogs
WWW:    http://www.ntfs-3g.org/


# Софт - браузеры, офис, мультимедийный и тд :)

7) Слушаем музыку
Для прослушивания музона я ставлю XMMS.

# cd /usr/ports/multimedia/xmms && make install clean

Устраняем траблы с кириллицей.

# cd /usr/ports/russian/xmms && make install clean

В этом случае мы получаем тот же самый проигрыватель, но с поддержкой перекодировки
тегов и имён файлов.

7.1) Пишем на CD и DVD
Ставить для CD будем k3b + русификация его
Ставим k3b

# cd /usr/ports/sysutils/k3b && make install clean

Русифицируем k3b

# cd /usr/ports/misc/k3b-i18n && make install clean

Для DVD ставим dvd+rw-tools

# cd /usr/ports/sysutils/dvd+rw-tools && make install clean 

Для корректной работы (бывает не находит привод) действуем так:
Дописываем в файл такие строчки

# ее /etc/devfs.conf 
perm    cd0     0660 
perm    pass0   0660 
perm    xpt0    0660

И сюда дописываем

# ее /boot/loader.conf 
atapicam_load="YES"

Перезагружаемся, или делаем данные действия руками. В данном случае предполагается, что
пользователь от которого будут записываться диски - в группе operator, т.к. владелец
устройств - root:operator. Для добавления его в группу операторов делаем так:

pw groupmod operator -m _имя_пользователя_

Либо, если не хотите добавлять, делайте права на устройство 0666.

Для проверки что привод найден смотрим так:

# cdrecord -scanbus 
Cdrecord-Clone 2.01 (i386-unknown-freebsd6.2) Copyright (C) 1995-2004 JЖrg Schilling 
Using libscg version 'schily-0.8'. 
scsibus2: 
        2,0,0   200) '_NEC    ' 'DVD_RW ND-4550A ' '1.06' Removable CD-ROM 
        2,1,0   201) *


7.2) Офис
Для замены Microsoft Office качаем OpenOffice
Русифицированный OpenOffice
Или Eng Download OpenOffice.org Version: 2.2 (Stable)

7.3) Раскладка клавиатуры
Для переключения раскладки клавы есть несколько интересных программ.
kkbswitch - Умеет следить за окнами и запоминать раскладку для каждого окна.
xneur - Для автоматического переключения клавиатурной раскладки.

7.4) Браузеры
Я использую Opera 9.20 очень давно, так что рекомендую

# cd /usr/ports/www/opera && make install clean

Кто-то использует FireFox

# cd /usr/ports/www/firefox && make install clean


7.5) ICQ
Клиент ICQ у меня Kopete. Один нюанс, когда учетку в Kopete вносите сразу указывайте кодировку
по умолчанию русскую, а то закорючки будут приходить :)

# cd /usr/ports/net-im/kopete && make install clean


7.6) Файловые менеджеры
Krusader аналог Total Commander

# cd /usr/ports/x11-fm/krusader && make install clean


# Бонусы

8) Оформление окон как у висты

# cd /usr/ports/x11-themes/kde-windeco-crystal/ && make install clean

Потом в KDE в оформление окон и меняем вид.

8.1) Сетевой монитор во FreeBSD
KNemo - утилита для мониторинга и отображения состояния сетевого интерфейса в KDE

8.2) Набор утилит
desktopbsd-tools - набор утилит для упрощения жизни