FreeBSD

Elsőnek perverz ötletnek tűnt FreeBSD -t desktopként használni, de gondoltam, egy próbát megér. Amúgy is ismerkedek a BSD világával.
Hozzávalók:
- FreeBSD 8.2-RELEASE amd64
- Lenovo T61 (Intel Core2 Duo T7100 @ 1.8GHz, 2GB RAM, Intel X3100GMA, Intel 4965abg wifi, Intel ethernet, Intel HD audió)

A telepítés simán ment a sysinstall eszközzel. UFS partícióim vannak, a /usr a legnagyobb, ez 30GB lett. Hagytam kb. 20GB szabad helyet a winyón, oda majd egy ZFS partíciót fogok létrehozni és játszani vele.

Miután megvolt az alaprendszer, jöhetett az X11+KDE. Mivel bináris csomagként én úgy látom, hogy csak a KDE 4.3.5 telepíthető (és nekem 4.5.x -től szimpatikus a KDE), ezért maradt a ports -ból való forgatás. Kezdetnek a kézikönyv alapján ports update, majd lehetett továbbhaladni a

cd /usr/ports/x11/kde4 && make clean install

nyomvonalon. Azt persze gondoltam, hogy nem 10 perc lesz a móka, de a nettó 12 óra kicsit odabaszott meglepett. Itt jött az első tanulság: a /etc/make.conf fájlhoz adjam hozzá ezt:

BATCH=YES

, így nem kérdezget rá minden leforgatandó csomag beállítására, forgatja az alapértelmezett beállításokkal őket (így be lehet vágni a sarokba a gépet, hadd dolgozzon, nem kell ránézni folyamatosan).

Elkészült a friss, ropogós KDE 4.6.5 és el is indult. Mondjuk a szűkszavú wikibejegyzés azt nem írja, ha szeretnék egeret és billentyűzetet is használni a KDE mellett, akkor a /etc/rc.conf -hoz még adjak hozzá két bejegyzést:


hald_enable="YES"
dbus_enable="YES"

Eztán kezdtem el érdeklődni a wifi iránt, hogy legalább egy madzagtól megszabaduljak. Arra jutottam, hogy a telepített GENERIC kernel az nekem tökéletes, mert modulként már ott van hozzá minden, ami most kell. A /boot/default/loader.conf -ban megmondtam, hogy szeretném, ha be is töltené a boot során a rendszer őket:


if_iwn_load="YES"      #ez a bejegyzés már megvolt, csak a NO -t kellett YES -re átírni
iwn4965fw_load="YES"   #a többi bejegyzést pedig csak hozzáadtam
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"

A network-manager és a wicd rövid guglizás után úgy tűnik, hogy nincs portolva FreeBSD -re és kézzel meg nincs kedvem a wpa_supplicant -tal szórakozni állandóan, ezért rövid keresgélés után megtaláltam a portsban a wifimgr -t, ami egy jó megoldás nekem wifire csatlakozáshoz. A /etc/rc.conf -ba előbb be kell szúrni két sort:


wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"

eztán már a wifi manager meg tudja keresni az elérhető hálózatokat és ha minden jól ment, csatlakozik is a kiválasztotthoz.

Forgattam egy Firefox5 -öt portsból (binárisan csak 3.6.x -et láttam), ez alig 30 perc volt. A flashplugin telepítése a kézikönyv alapján ment egyszerűen. Viszont a Firefox elég instabil lett valamiért, folyamatosan összeomlik (évek óta használom Windowson, Linuxon, sosem volt ilyen gondom), így a portsból forgattam egy Chromiumot is, ez szépen megy, bár vagy másfél óra alatt fordult le.

A gtk -s alkalmazások KDE -s integrációjához az oxygen-gtk 1.1.1 -et forgattam le. A systemsettings -ben kapunk egy "GTK styles and fonts" menüpontot, ha leforgatjuk pl. a gtk-qt4-engine -t a portsból. Itt lehet kiválasztani az oxygen-gtk témát. Ez azért hasznos, mert ugyan kézzel is szerkeszthetjük a ~/.kde4/share/config/gtkrc-2.0 fájlt és mondhatjuk, hogy az oxygen-gtk témát akarjuk használni, de sajnos a KDM minden indításkor törli a gtkrc és gtkrc-2.0 fájlokat, így a kézi szerkesztés eredménye minden újraindítás után elvész.

Ha már systemsettings. Valami el van benne basszarintva, mert ha olyasmit akarunk beállítani, amihez root jog kell, nem tudja meghívni a kdesu -t, csak hibát dobál. Ez a következőképp javítható:
- szerkesszük a /usr/local/etc/dbus-1/system.conf fájlt
- adjuk hozzá a következő két sort (kacsacsőrök előtti/utáni spészek nélkül):


< includedir >/usr/local/kde4/etc/dbus-1/system.d< /includedir >
< servicedir >/usr/local/kde4/share/dbus-1/system-services< /servicedir >

Aztán most egy kis visszakanyarodás a /boot/default/loader.conf -hoz. Mivel szeretem, ha cincog valami a két kis hangszóróból a gépen, ezért az említett fájlhoz még hozzáadtam ezt:

snd_hda_load="YES"

. S ha már itt vagyunk, akkor meg kell emlékezni a következő bejegyzések beszúrásáról is:


coretemp_load="YES"
acpi_video_load="YES"
acpi_ibm_load="YES"

Ezek közül az utolsót emlegették fórumokon, hogy majd segít nekem abban, hogy a hangerőszabályzó és néhány egyéb ThinkPad specifikus billentyűt (pl. Fn+Home: kijelző fényerő fel, Fn+End: ugyanez le, stb) tudjak használni. Na ez még nem jött össze, az Fn+F4 (s2ram) kombó az működik oob, de a többi az meg még most sem. A save2ram -ról érdemes még elmondani, hogy működik és vissza is jön a rendszer. Viszont az első altatás+ébresztés után nem megy a tapipad (gondolom valami ps2 basz van, bár a billentyűzet meg megy), a második után pedig az usb portok sem (ez usb basz, egyértelmű). Ezekre még valami megoldást kell találni és nem tűnik esélytelennek a dolog, találtam fórumtémákat, csak még nem rágtam magam végig rajtuk. (1)

Konklúziót egyelőre még nem akarok levonni, az viszont tény, hogy van egy működő FreeBSD desktopom, simán (szaggatás nélkül) tudok jutub videjókat nézni, netezni, filmet nézni (vlc), zenét hallgatni, esesházni, stb. A ports -ban rengeteg csomag van, egyelőre semmi sem hiányzik.

Mégmielőtt: ismerem a PC-BSD -t; szabadságon vagyok, innen a sok szabadidő; van baratnőm, ő varrni szok, amikor én ilyesmivel toszom az időt.

Hozzászólások

Az utolsó bekezdés odabasz :). Egyébként jó írás, és hasznos is. Én pl úgy kezdtem hogy install után ports-ban kiadtam a make install-t kde-nek, aztán elégedetten elmentem aludni, hogy majd reggelre fent lesz. Hát nem lett :)

Legutobb mikor ezt probaltam, ugyaneddig jutottam, de az olyan regen volt (>2 eve), hogy meg nem volt 64 bites nvidia driver ra (onnantol szivas es no3D xf86-video-nv-vel, mert akkor meg nouveau se volt), meg a hangra mar igy nem is kerestem megoldast, annyira emlekszem, hogy ootb nem szolt, de nem szenvedtem vele tobbek kozt emiatt sem. A tobbinel nagyjabol ugyanez volt.

Ujra erik egy proba nekem is, csak elobb megnezem, hogy mennyire kompatibilis a hardveremmel (bar azota a core i5-os GPU-ja van csak nalam)

Suspend+resume működik (az ezzel kapcsolatos usb problémámra a megoldás az, hogy modulként kell az usb támogatást fordítani a kernel mellé és a /etc/rc.suspend + /etc/rc.resume fájlokba beírni, hogy suspend előtt unload -olja (ez hogy van magyarul??), resume után pedig töltse be), a cpu_freq szabályozás az szerintem csak elvileg (de gyakorlatilag úgy látom, hogy maxon pörög mindig, bár nem bőg a venti és nem forr a proci (58-60C, mint Linux alatt is)), tehát ezen még valószínüleg reszelni kell.

Azt hittem, hogy csak nekem vannak mazo hajlamaim, de nem..:)))))

//Eladó 2db Hynix HYMP564S64CP6-C4 512MB-os DDR2-es Notebook memóriamodul.//


Eztán kezdtem el érdeklődni a wifi iránt, hogy legalább egy madzagtól megszabaduljak. Arra jutottam, hogy a telepített GENERIC kernel az nekem tökéletes, mert modulként már ott van hozzá minden, ami most kell. A /boot/default/loader.conf -ban megmondtam, hogy szeretném, ha be is töltené a boot során a rendszer őket:
if_iwn_load="YES"      #ez a bejegyzés már megvolt, csak a NO -t kellett YES -re átírni
iwn4965fw_load="YES"   #a többi bejegyzést pedig csak hozzáadtam
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"

Igen ez a tokeletesen "rossz" megkozelites. Minden ami foo/default/bar konyvtarban van, azt nem szabad bantani, mert azt a frissites felulcsapja.
A fenti problema szep megoldasa a /boot/loader.conf-ba beirasa, mivel bootkor a rendszer eloszor betolti a foo/default/bar-ban levo configet, es utana ramergeli, a te altalad letrehozottat, es ami ketszer szerepel benne, abbol az utobbit veszi figyelemben, es az a beallitas az megmarad frissites utan is.
___
info


Forgattam egy Firefox5 -öt portsból (binárisan csak 3.6.x -et láttam), ez alig 30 perc volt. A flashplugin telepítése a kézikönyv alapján ment egyszerűen. Viszont a Firefox elég instabil lett valamiért, folyamatosan összeomlik (évek óta használom Windowson, Linuxon, sosem volt ilyen gondom), így a portsból forgattam egy Chromiumot is, ez szépen megy, bár vagy másfél óra alatt fordult le.

ha a kernel configban nem szerepel ez a sor:

options P1003_1B_SEMAPHORES # POSIX-style semaphores

akkor add hozza
___
info

"Aztán most egy kis visszakanyarodás a /boot/default/loader.conf -hoz. "

meg1x: man loader.conf :


FILES
     /boot/defaults/loader.conf  default settings -- do not change this file.
     /boot/loader.4th            defines the commands used by loader to read
                                 and process loader.conf.
     /boot/loader.conf           user defined settings.
     /boot/loader.conf.local     machine-specific settings for sites with a
                                 common loader.conf.
     /boot/loader.rc             contains the instructions to automatically
                                 process loader.conf.

___
info

az acpi-s gombokra meg nezz ra a devd-re
___
info

Szerintem a devd a normál billentyűzet gombjainak lenyomását se érzékeli, de szerencsére haaz xev látja, akkor már kb bármit lehet vele csinálni. (Amúgy a fényerő gombhoz mit rendeltél devd-ben? Csak mert most kapásból semmilyen parancs nem jut az eszembe, ami ilyesmit csinálna FreeBSD-n.)

sysctl -lel az acpi_ibm egyik változóját babrálom, de most nincs előttem, fejből meg nem emlékszem sajnos. Ha majd előttem lesz, megírom. (egyébként a hangerőt is és sok egyéb dolgot tud a sysctl babrálni, szóval ha 0x134 (hangerő le) és 0x136 (hangerő fel) billentyűket el tudnám kapni a devd -vel, akkor már örülnék)

De minek ehhez devd? Ha xev alatt látod, akkor pl. xmodmap-pal hozzárendelheted a megfelelő X-es neveket:

"The "Volume Up" key is called
XF86AudioRaiseVolume

The "Volume Down" key is called
XF86AudioLowerVolume

The mute key is called
XF86AudioMute"

és ekkor már mennie kéne.

Itt egy hasonló példa:

"Here is my .Xmodmap:

keycode 160 = XF86AudioMute
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume"

Egy ilyet kell a saját xev-vel feltérképezett billentyűzeted alapján beállítani.

(Persze ha a karakteres konzolon is akarod hogy működjenek, az szerintem macerásabb (sőt, szerintem nem is lehet a konzol billentyűzetdriverébe parancsfutatást erőszakolni. man kbdcontrol kbdmap)

Thinkwiki alapján reszeltem, azért a devd+sysctl első nekifutásra. Ha a devd -t

-Dd

kapcsolóval indítod, akkor látható, hogy milyen keyboard event -eket kap el és milyen szabályrendszereket néz át (/etc/devd.conf és /etc/devd/*) és mire van egyezés (egyezés esetén pedig milyen társított utasítást futtat le, az is látszik). Mivel ezzel a módszerrel nem jelentkezett semmilyen esemény a hangerőgombokra (meg még 1-2 thinkpad specifikus billentyűre sem), ezért néztem meg xev -vel, hogy az érzékel -e valamit (úgy tudom, de FIXME, hogy ha az xev sem érzékeli, akkor kernel szinten nincs lekezelve az esemény, tehát másik driver kell, ami ugye nem áll fenn, mert az xev érzékeli a leütéseket).

tl;dr: köszi a tippet, megpróbálom így is majd hétvégén.

Felbuzdultam, kipróbáltam, egyelőre marad. Szintén T61. Köszönöm.