Blog (30)
Komentarze (6.3k)
Recenzje (0)
@dragon321FreeBSD jako desktopowy system operacyjny

FreeBSD jako desktopowy system operacyjny

25.07.2016 00:05

Wstęp

Po napisanym wpisie o systemach BSD (znajdziecie go tutaj ) zapowiedziałem zmagania ze stawiania BSD na desktopie. Oto spełniają się moje zapowiedzi. Zmagania ze stawiania OpenBSD na desktopie opisał już muska96, a znajdziecie je tutaj. Relacje ze stawiania FreeBSD opisał także Pado, jego wpis znajdziecie tutaj. Zatem witam Was w kolejnym popełnionym przeze mnie wpisie o BSD, tym razem bardziej praktycznym. Na celownik wziąłem FreeBSD, mój ulubiony system uniksopodobny z tej rodziny. Nie mam zbytnio wolnego komputera, więc postanowiłem sprawdzić jak poradzi sobie stary terminal HP T5720.. Specyfikacje tego cuda znajdziecie tutaj. Wiem, że to sprzęt przeznaczony do zdalnego łączenia się z serwerami, ale jego moc pozwala na o wiele więcej, więc czemu by nie sprawdzić jak sobie poradzi na desktopie?

Oto bohater wpisu
Oto bohater wpisu

Przygotowania

Do postawienia Uniksa z Berkeley na tym sprzęcie trzeba było troszkę przygotowań. Kto przeczytał specyfikacje wie, że ten sprzęt ma 512 MB pamięci masowej. Jest to zdecydowanie za mało na desktop, dlatego niezbędne stało się rozszerzenie tej pamięci. Na szczęście producent nie utrudnił życia wlutowując pamięć na stałe, ani nie tworzył koła od nowa wymyślając nowe złącza, tylko pamięć masowa jest zwykłą kością pamięci typu Flash (mini SSD) podłączonej przez interfejs ATA 44pinowym wejściem. Jest to identyczne wejście jakie stosowano kiedyś do dysków 2,5 calowych, używanych najczęściej w laptopach. Dlatego teoretycznie wystarczy wyjąć pamięć flash, zakupić zgodny HDD i taśmę oraz to podłączyć. A praktycznie?

Praktycznie dokładnie tak samo. Zakupiłem za grosze stary HDD o pojemności 20 GB (to było kiedyś dużo) i taśmę ATA 44pin. Po czym podłączyłem, przypomniałem sobie jak topornie się podłącza taśmy ATA (dobrze, że teraz mamy wygodne kabelki SATA) i uruchomiłem terminal. Sprzęt bez problemu wykrył nowy dysk, oznaczając go wprawdzie jako ATA Flash Disk, jednak pracował bez problemu. Kolejną kwestią pozostawał internet, gdyż sprzęt ma wprawdzie gigabitowy Ethernet (ta wbudowana karta sieciowa jest obsługiwana przez FreeBSD), to jednak nie mam bezpośredniego połączenia z routerem, dlatego niezbędne było użycie WiFi. Problem rozwiązała kupiona za grosze karta TP‑LINK pod USB z chipsetem obsługiwanym przez FreeBSD. Skoro już wszystko jest gotowe, to przejdźmy do instalacji i konfiguracji. Żeby zrzuty ekranu były dobrej jakości, samą instalacje zrobię w programie VirtualBox – zrzut ekranu z terminala zobaczycie na koniec wpisu. Pomimo, że zrzuty będą pochodzić z programu VirtualBox, to będę opisywał jak to wyglądało na terminalu.

Instalacja i konfiguracja

Wchodzimy na stronę domową FreeBSD, dostępną tutaj i przechodzimy do podstrony pobierania. Do pobrania są dostępne dwie gałęzie systemu, 10.x oznaczona jako STABLE i 11.0 oznaczona jako CURRENT. Wersja STABLE, jak sama nazwa wskazuje, jest to wersja stabilna, a CURRENT to aktualna wersja rozwojowa. Mi zależy na stabilności, więc wybieram wersję 10.3 (najnowsza z gałęzi 10.x), gdyż z wersją 11 miałem trochę problemów przy niedawnej zabawie z nią. Z racji tego, że terminal nie ma napędu, to należy pobrać obraz memstick, który po nagraniu go na pendrive umożliwi z niego instalacje. Wybierać też możemy pomiędzy obrazem pełnym, a mini. Pełny zawiera wszystkie potrzebne elementy instalacji w sobie, mini musi mieć połączenie z internetem, by je dociągnąć. Nie jestem pewny, czy instalator będzie poradzi sobie z tą kartą WiFi, więc wezmę pełny. Nagrywam go na pendrive z wykorzystaniem dd dostępnego w chyba każdej dystrybucji Linuksowej, a sam terminal podłączam do klawiatury, myszki i monitora. Teraz startujemy sprzęt z pendrive. Jeżeli pojawi się taki ekran:

598759

to znaczy, że obraz został poprawnie nagrany. Interesują nas opcje dodatkowe, gdyż trzeba wyłączyć ACPI. System uruchomiony z obsługą ACPI zalewa konsole błędami, więc dla świętego spokoju lepiej to wyłączyć. Wystarczy kliknąć klawisz 6, potem klawisz 3 i na końcu Backspace i Enter by wystartować system. Po chwili ładowania pokazuje się ekran instalatora:

598761

Jak widać, system ten nie posiada graficznego instalatora, tylko tekstowy, obsługiwany klawiaturą. Nie jest to problem, gdyż jest on bardzo wygodny i nawet ktoś, kto instaluje FreeBSD po raz pierwszy powinien szybko załapać. Opis instalacji sobie daruję – jest dokładnie taki sam, jak w wielu innych przypadkach i pełno można znaleźć opisów i filmów w internecie. Dodam tylko, że instalator bez problemu wykrył i skonfigurował mi połączenie z WiFi (fakt, musiałem dwa razy skanować dostępność sieci, gdyż za pierwszym nie wykrył mi mojej sieci domowej). Nie bawiłem się też w ZFS i szyfrowanie, tylko zainstalowałem go normalnie na partycji UFS, pozwalając systemowi samemu zorganizować sobie partycje. Schemat partycji jaki użyłem to GPT. Po instalacji przyszedł czas na restart, po którym wita nas ten ekran:

598763

Tak, instalator nie zainstalował żadnego środowiska graficznego i to pozostaje w naszej kwestii. Logujemy się więc na konto roota (nie utworzyłem innego podczas instalacji). Na początek szybki sprawdzian czy jest połączenie z internetem komendą:

 ping google.pl

Sprawdzian dał wynik pozytywny, a więc nie ma potrzeby jakoś bawić się w konfiguracje WiFi. Czas na instalacje paru niezbędnych rzeczy.

Najstarszym sposobem instalacji oprogramowania we FreeBSD jest używanie portów. Porty to zaautomatyzowany system pobierania kodu źródłowego danego programu, rozwiązanie zależności i późniejszą instalacje go, oraz zarządzanie nim (aktualizacje, usuwanie itd.). Użytkownicy Gentoo powinni czuć się jak w domu – bardzo podobnie jest w ich systemie z portage. Warto dodać, że portage było wzorowane właśnie na portach FreeBSD. No, ale kompilacja na tym procesorze trwałaby wieki, więc odpuścimy to sobie i użyjemy binarnych paczek. FreeBSD od kilku wersji udostępnia bardzo dobre narzędzie do zarządzania binarnymi paczkami, podobne do apta Debiana i pochodnych. Na początek instalujemy programy: nano (jakoś nie umiem przywyknąć do vim'a) i sudo. Wystarczy komenda:

pkg install nano sudo

Menedżer pakietów nie jest zainstalowany, więc system zaproponuje pobranie go na co się oczywiście zgadzamy, a po jego instalacji automatycznie zainstaluje żądane pakiety.

Teraz skonfigurujemy sudo, by użytkownik mógł z jego pomocą wykonywać komendy. Konfiguracja pokazana poniżej jest zdecydowanie niezalecana (zamiast dawać dostęp do wszystkich komend, lepiej dać tylko do tych używanych i niezbędnych), takie podejście stosują jednak popularne dystrybucje Linuksowe i dla własnej wygody zrobię w ten sam sposób. Konfiguracje sudo przeprowadzamy za pomocą visudo, jednak zmienię edytor na nano, gdyż jak wspominałem, że nie pasuje mi vim. A więc klepiemy komendę:

env EDITOR=nano visudo

Następnie kasujemy znak komentarza (#) w tej linijce pokazanej na zrzucie ekranu:

598773

Zapisujemy naciskając jednocześnie Control i X oraz potwierdzając klawiszem Y i Enter. Teraz możemy dodać użytkownika do codziennej pracy. Służy do tego program adduser, który wywołujemy wpisując jego nazwę w konsoli i wciskając Enter. Program zada nam kilka pytań, chociaż warte naszej uwagi jest tylko kilka. Na początku program spyta nas o nazwę użytkownika, podajemy więc ją (musi być z małych liter i bez spacji), kolejne pytanie to pełna nazwa, tutaj możemy już podać np. imię i nazwisko. Kolejne pytania zostawiamy domyślnie, aż dostaniemy pytanie o grupę logowania użytkownika. Zostawiamy domyślnie, jednak kolejne pytanie będzie brzmiało: Invite user to other group? Tutaj musimy wpisać wheel i zatwierdzić Enterem. Bez członkostwa w grupie wheel nie będziemy mieli dostępu do sudo, ani nawet możliwości użycia komendy su, by zalogować się na roota, więc jest to ważne. Dalej zostawiamy wszystko domyślnie, przy pytaniu o hasło podajemy je i na ostatnie pytanie Add another user? Wpisujemy odpowiedź no, chyba, że ktoś chce dodać więcej użytkowników.

Pozostała ostatnia kwestia konfiguracyjna, mianowicie ustawienie znaków i języka na Polski UTF‑8. Spowoduje to, że środowisko i programy będą po Polsku, niestety Polskie znaki nie będą wyświetlane w konsoli (w emulatorze terminala w środowisku graficznym będą bez problemu). Prawdopodobnie pomogłoby ustawienie innego fontu dla konsoli, jednak nie sprawdzałem tego – nas w końcu interesuje interfejs graficzny. Robimy to edytując plik /etc/login.conf. Odpalamy go w edytorze nano i szukamy linijki :umask=022:\. Kasujemy z niej znak \ i pod nią dodajemy dwie kolejne, widoczne na zrzucie ekranu (UWAGA: ten duży odstęp z lewej strony to znak Tabulatora, a nie spacje).

598776

Teraz wystarczy tylko zapisać plik i wpisać polecenie:

cap_mkdb /etc/login.conf

Po czym wystarczy się wylogować i zalogować. Teraz możemy przystąpić w końcu do instalacji upragnionego interfejsu graficznego. Wystarczy wpisać komendę:

pkg install xorg

Narazie sam xorg, by się upewnić, czy działa. Po instalacji wystarczy polecenie startx i naszym oczom powinno się ukazać to:

598782

Skoro to się pojawi, to znaczy, że wszystko jest w porządku. Jest to stary menedżer okiem twm dostępny w „iksach” od wielu lat. Aby z niego wyjść wystarczy w lewym terminalu wpisać komendę exit. Teraz po powrocie do konsoli instalujemy środowisko MATE poleceniem:

pkg install mate mate-desktop slim

Ta komenda zainstaluje nam środowisko MATE z minimum potrzebnych programów i do tego menedżer logowania SLIM. Dlaczego MATE? Bo jest to lekkie, stabilne i przyjemne środowisko dobrze działające z FreeBSD. Środowisk mamy oczywiście więcej, mianowicie KDE4 (Plasma 5 dostępna jest w nieoficjalnym porcie), GNOME3 czy XFCE, ale ja zdecydowałem się na pokazanie MATE. Po instalacji wylogowujemy się z konta roota (komenda exit) i logujemy na naszego użytkownika, by utworzyć potrzebny plik i sprawdzić jak on się sprawuje. Plik tworzymy komendą:

echo "exec mate-session" > .xinitrc

To poinformuje menedżer logowania SLIM, że ma uruchomić środowisko MATE. Teraz trzeba dopisać kilka rzeczy do pliku /etc/rc.conf, dlatego wywołujemy komendę [code=shell]sudo nano /etc/rc.conf[/code] Podajemy nasze hasło i dopisujemy wymagane linijki:

598788

Dwie pierwsze linijki (zaczynamy od linijki dbus_enable="YES", to co jest wyżej nas nie interesuje) aktywują potrzebne usługi wykorzystywane przez programy graficzne i środowisko. Ostatnia, jak pewnie sami się domyślacie, aktywuje menedżer logowania SLIM. Teraz zapisujemy i restartujemy system komendą sudo reboot. Po restarcie powinien nas przywitać menedżer logowania. Jeżeli tak się stanie, to wpisujemy nazwę użytkownika, wciskamy Enter, wpisujemy hasło i ponownie wciskamy Enter. Po chwili ładowania powinno nam wystartować środowisko. Pozostała ostatnia kwestia, czyli Polska klawiatura w interfejsie graficznym. Można to zrobić w dwojaki sposób – stworzyć odpowiedni plik konfiguracyjny, lub wpisać komendę: [code=shell]setxkbmap pl[/code] Komenda działa aż do restartu, ale wystarczy dodać w Menedżerze autostartu MATE tę komendę i zapomnieć o niej.

598790

Epilog

Praca już praktycznie zakończona. Mamy postawionego wstępnie skonfigurowanego FreeBSD z interfejsem graficznym. Teraz wystarczy poinstalować potrzebne programy i dokonać pomniejszej konfiguracji. Środowisko nie powala wyglądem, ale łatwo to zmienić. Wystarczy znaleźć dla niego motyw (MATE jest kompatybilne z motywami dla GNOME2) i go zainstalować. Skórki instalujemy w katalogu ~/.themes (jak go nie ma, trzeba go utworzyć), a ikony i kursory w katalogu ~/.icons (też trzeba go utworzyć). Motywy i ikony muszą być rozpakowane w formie folderu. Ja mogę polecić motyw Elegant GNOME Pack dostępny tutaj. Wprawdzie jest to motyw dla GNOME i posiada instalator dla Linuksa, to jednak ręcznie kopiując odpowiednie katalogi w odpowiednie miejsca bez problemu działa w MATE na FreeBSD. Czy ten sprzęt nadaje się na desktop? Odpowiedź brzmi nie. Niby działa dźwięk, środowisko też jest płynne itd., ale internet działa dość wolno i jego przeglądanie jest mało komfortowe. Do tego podczas wykonywania czynności tu opisanych sprzęt się dość mocno nagrzał. Chłodzenie pasywne najwidoczniej jest niewystarczające do zastosowań desktopowych. Na pożegnanie zdjęcie monitora podłączonego do samego terminala ze środowiskiem MATE z wgraną skórką, przeglądarką Midori i programem screenfetch (tak na dowód, że faktycznie zainstalowałem system na terminalu). Sam terminal posłuży mi najpewniej jako mini serwer – na pewno poradzi sobie znacznie lepiej niż jako minidesktop.

Wybaczcie jakość zdjęcia, robione smartfonem, bo nie miałem nic lepszego pod ręką.
Wybaczcie jakość zdjęcia, robione smartfonem, bo nie miałem nic lepszego pod ręką.

Źródła

Zdjęcie terminala

Strona, z której czerpałem część informacji. Strona zawiera o wiele więcej informacji na temat konfiguracji FreeBSD pod desktop, polecam przeczytać.

Poradnik instalacji MATE na FreeBSD 10

Pozostałe zdjęcia nieujęte tutaj w źródłach zostały wykonane przeze mnie za pomocą programu VirtualBox, z wyjątkiem ostatniego, zrobionego smartfonem.

Wybrane dla Ciebie
Komentarze (53)