Minimalna instalacja Linuksa

Ostatnio wpadłem na pomysł, aby wziąć swój stary bardzo przestarzały laptop,
zainstalować na nim linuksa i zobaczyć, jak szybko będzie działać. Miałem
na myśli minimalne środowisko graficzne z leciutkimi aplikacjami i jestem
 zaskoczony pozytywnym wynikiem. Mówię o komputerze z procesorem Intel Atom N270 (jedno-rdzeniowym, dwu-watkowym, taktowanym 1.6GHz), który ma pamięć DDR albo DDR2 o pojemności 1GB. Wydajność tego komputera jest porównywalna do raspberrypi 3b (oczywiście mam na myśli przeglądanie internetu, odtwarzanie filmów itd., procesory RISC i CISC to dwie różne sprawy i mają swoje zalety i wady). Robię ten wpis także ze względu na one-board computers, które są mało wydajne. Na tym komputerze żaden inny aktualny system nie ma prawa działać.

System

Polecam wybrać ubuntu minimal install (link do pobrania: x86, x86_64, ppc, ppc64, raspberrypi), ponieważ instaluje jedynie podstawowy system. Podczas instalacji na ostatnim kroku będzie komunikat o możliwości zainstalowania dodatkowych komponentów. Nie wybieraj żadnego środowiska graficznego, ponieważ jest to najbardziej zasobożerna część systemu. Są minimalne menadżery okien zorientowane na wydajność. Polecam również korzystać z minimalnych aplikacji z pakietu x11-apps. Spis aplikacji z opisem jest dostępny pod tym linkiem.

Który menadżer okien wybrać?

dwm

Video demonstrujące: https://www.youtube.com/embed/-jFUE6pu3_4

Dwm tile window manager waży 20kB, jest aktualny i rozwijany, ma bardzo prosty minimalny interfejs, pozwala na korzystanie z kilku pulpitów. Sterowanie jest za pomocą myszki i klawiszy. To jest mój ulubiony kafelkowy menadżer. Poruszanie się po nim jest dla mnie łatwe, a nawet jest dla mnie przyjemniejsze od pełnego środowiska graficznego. Przez ctrl-p jest aktywne menu, wpisując nazwę programu można go uruchomić, jest aktywne podpowiadanie przez co strzałkami można wybrać. 

xmonad

xmonad jest pod względem sterowania podobny do dwm, jednak w odróżnieniu od niego nie ma górnego menu służącego do przełączania pulpitów. 

Fluxbox


Ma pasek zadań, za pomocą którego można minimalizować, zwinąć
albo zamknąć aplikacje. Menu jest proste w użytkowaniu, brakuje mi jedynie ikon. Nie spędziłem z fluxbox dużo czasu. Prawdopodobnie można go bardzo dobrze dostosować do swoich preferencji, jednak będzie to trudne dla kogoś, kto nie miał nigdy wcześniej żadnego doświadczenia z edytowaniem plików w /etc. 

FVWM - stacking window manager

FVWM ma nowoczesny wygląd (bogaty w ikony), ale nie przepadam za interfejsem, ponieważ jest według mnie zbyt skomplikowany . Można go kochać albo nienawidzić (tak jak emacs). Ma wiele wariantów np fvwm2 albo fvwm-crystal. Polecam samemu przetestować, ponieważ jest warty uwagi oraz po części bardzo skomplikowany. Szczególnym jest fvwm95, który jest wariantem fvwm wzorującym się na tym co w tamtym momencie przedstawiał Microsoft wprowadzając Windows 98. Został przeportowany, aby działał na nowoczesnych dystrybucjach linuksa, jednak do pełnej funkcjonalności potrzebuje biblioteki i aplikacji xclass (szczególnie pulpit). Nie jestem w stanie go skompilować, ponieważ nie mam headers Xclass/utils.h i nie jestem w stanie go znaleźć w internecie oraz skompilowanie xclass za pomocą aktualnej wersji gcc jest nie możliwe, kod napisany jest pod starszą wersję libstdc++ która jest częścią gcc. Jeśli dobrze się orientuję, muszę mieć libstdc++5, a w związku z tym muszę użyć kompilatora gcc-3.3.3 (link) . Nie chcę jednak używać przestarzałych kompilatorów, a nie mam żadnego doświadczenia jako programista, więc nie poprawię kodu. FVWM95 jest bardziej ciekawostką niż praktycznym rozwiązaniem, bez xclass nie ma np. działającego pulpitu, a start menu jest "sztywne", ponieważ nie można edytować elementów, które na nim się znajdują, w przeciwieństwie do każdego wydania Windows.

Twm

video: https://www.youtube.com/watch?v=PPlYzFzRWz0

Twm jest bardzo podstawowym menadżerem okien, posiada proste menu, jest rozwijany od 1987. Wspominam o nim dlatego, że powstało na nim wiele innych programów np. vtwm, tvtwm, CTWM i FVWM. Bardzo bardzo klasyczny i brzydki. Mam wrażenie, że aktualnie nikt go nie używa.

 Aplikacje

Oprócz x11-apps polecam również xpdf, xosview, wicd i fspanel (prosty taskbar) ze względu na swoją minimalność. Omawiany system jest x86, ponieważ mój laptop jest wstanie wykonać tylko programy skompilowane na tę architekturę sprzętową. Po przełożeniu dysku ssd do komputera stacjonarnego mimo wszystko zacinał firefox i falkon (też przeglądarka internetowa), te programy zacinały też na komputerze z intel i7-3770 z 16gb ramu (Linux ma włączoną przy kompilacji flagę HIGHMEM64 umożliwiającą maksymalne wykorzystanie 64gb pamięci operacyjnej na architekturze x86). Dlatego sądzę, że to nie była wina laptopa, iż nie byłem w stanie na nim oglądać YouTube, webkit na linuksie x86 jest bardzo słabo zooptymalizowany. Być może w przyszłości więcej programów będzie słabo działać na x86, a programiści nie będą zwracać już na to uwagi, ponieważ to już jest przestarzała architektura sprzętowa.

Pozostałe aplikacje, które polecam:

xload - wyświetla użycie procesora

urxvt, aterm, xterm - klasyczny terminal dla X, wysoce konfigurowalny 

 xedit - notatnik, ma trzy opcje: Quit, Save i Load, 

nedit - minimalny notatnik z bardziej nowoczesnym interfejsem 

xcalc - klasyczny kalkulator

xosview - klasyczny system monitoring tool. Wyświetla użycie procesora, lecz nie tylko

xpdf - program do wyświetlania pdf'ów

...oraz inne programy napisane pod X server, używające X-athena-widgets (Xaw) bądź Motif lub napisane bezpośrednio na Xlib/XDG/Xtoolkit. Wysoko poziomowe widgets jak np. GTK są wysoko zasobożerne, dlatego do minimalnej instalacji Linuksa radzę unikać programów nich używających. Unikając zapełnienia się pamięci można dać "drugie życie" starym komputerom, jednak nie można ominąć ograniczeń sprzętowych.