____  _____ ___    ______
   ____ _________  ___  ____  / __ \/ ___//   |  / ____/
  / __ `/ ___/ _ \/ _ \/ __ \/ / / /\__ \/ /| | / __/   
 / /_/ / /  /  __/  __/ / / / /_/ /___/ / ___ |/ /___   
 \__, /_/   \___/\___/_/ /_/\____//____/_/  |_/_____/   
/____/                                                  
                                    

greenOS Arch Edition

greenOS Arch Edition jest to skonfigurowany w odpowieni sposób Arch Linux. Swoim wyglądem ma przypominać greenOS, jednak nie jest to samodzielna dystrybucja. Poniżej znajduje się zrzut ekranu, przestawiający pulpit.

Kilknij obrazek, aby otworzyć w pełnym rozmiarze

W tej konfiguracji użyto manadżera wyświetlania LightDM oraz środowiska graficznego XFCE4. Zainstalowano takie programy jak Firefox, Thunderbird, VLC, QMMP, Redshift, Snap, ncspot oraz KVM. Poniżej znajduje się lista kroków, którą należy wykonać, aby skonfigurować w ten sposób Arch Linux. Podanej listy można użyć do utworzenia skryptu, lub wprowadzać polecenia ręcznie dokonują niezbędnych dla siebie modyfikacji. Tak przygotowany system, można spakować do archiwum i instalować na róznych maszynach zaoszczędzając wten sposób czas na konfigurowaniu identycznych środowisk jak i reinstalacji stanowiska z tym systemem w tej konfiguracji.

  1. Pobranie najnowszego obrazu Arch Linux-a i uruchomienie z niego maszyny wirtualne bądź fizycznego komputera. Obraz płyty możemy pobrać z linku poniżej http://ftp.icm.edu.pl/pub/linux/distributions/archlinux/iso .
  2. Po uruchomieniu się systemu, uruchamiamy program tmux, dzielimy konsole na dwa poziome okna (w języku polskim brakuje dobrego tłumaczenia słowa angielskiego "pane"). Na jednym zostawiamy prompt (znak zachęty) na drugim uruchamiamy polecenie installation_guide. Instalujemy system zgodnie z wytycznymi poradnika. Jest jednak kilka czynności jakie należy wykonać w trakcie instalacji.
    • Pakiety do zainstalowania (przy pobieraniu obrazu): base, linux, linux-firmware, networkmanager, grub, vim, man-db, man-pages, texinfo.
    • Po zamianie głównego katalogu, na ten obrazu należy uruchomić Network Manager:
      [archiso /]# systemctl enable NetworkManager.service
      
    • W pliku /etc/vconsole.conf poza zmienną LANG zapisujemy zmienną FONT ustawioną na lat2-16 oraz zmienną FONTMAP ustawioną na 8859-2
    • Tworzymy użytkownika, instalujemy sudo, które ustawiamy w taki sposób aby nie trzeba było wpisywać hasła (ten podpunkt można potraktować wedle własnych preferencji).
  3. Instalujemy środowisko graficzne:
    [user@greenOSAE ~]$ sudo pacman -Syu xfce4 xfce4-goodies xorg lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
    
  4. Zmieniamy kilka ustawień lightdm, po to aby wczytało zainstalowany wcześniej temat, oraz reagowało odpowienio na różnych kartach graficznych.
    [user@greenOSAE ~]$ sudo vim /etc/lightdm/lightdm.conf
    #w sekcji [LightDM] usuwamy znak komentarz sprzed poniższej opcji i nadajemy
    #jej poniższą wartość.
    logind-check-graphical=true
    #w sekcji [Seat:*] tak jak powyżej
    greeter-session=lightdm-gtk-greeter
    
  5. Tapety. Pobranie tapet greenOS. Ten punkt można sobie odpuścić jeśli, ktoś szuka tylko konfiguracji XFCE dla Arch.
    [user@greenOSAE ~]$ sudo pacman -Syu wget
    [user@greenOSAE ~]$ wget https://i.ibb.co/5Y8F1mr/greenos-wallpaper.png
    [user@greenOSAE ~]$ wget https://i.ibb.co/2MJvLyH/greenos-lightdm-wallpaper.png
    [user@greenOSAE ~]$ sudo mv greenos-lightdm-wallpaper.png /usr/share/pixmaps
    [user@greenOSAE ~]$ sudo mv greenos-wallpaper /usr/share/backgrounds/xfce
    
  6. Włączenie LightDM. Cały trick tej konfiguracji polega na tym, że użyjemy mendżera wyświetlania, przez co użytkownik koncowy takiego systemu nie zorientuje się nawet, że środowisko graficzne na tym sprzęcie było instalowane z ręki. Ponieważ po załadowaniu systemu wystartuje LightDM, po zalogowaniu użytkownika wystaruje on pierwsze dostępne środowisko graficzne, o ile użytkownik nie zdefiniował inaczej, za pomocą pliku .xinitrc.
    [user@greenOSAE ~]$ sudo systemctl enable lightdm
    
  7. Restart komputera. Po załączeniu LightDM, możemy zrestartować komputer, aby sprawdzić czy nasze środowisko graficzne zostanie poprawnie uruchomione. Jeśli nasze środowisko nie wystatowało, ekranie pojawiąją się różne dziwne rzeczy związane z grafiką. Może to oznaczać, że brakuje odpowiedniego sterownika, niestety źle działający LightDM, psuje również działanie pozostałych konsol. Tak więc aby go wyłączyć musimy uruchomić system z LiveCD Arch Linux podmontować główny system plików, następnie zmienić główny katalog za pomocą polecenia arch-chroot, następnie wyłączyć LightDM poniższym poleceniem:
    [user@greenOSAE ~]$ sudo systemctl disable lightdm
    
    Następnie uruchomić ręcznie XFCE, jednak będzie to wymagać stworzenia pliku .xinitrc. Po zalogowaniu się na swoje konto.
    [user@greenOSAE ~]$ vim .xinitrc
    exec startxfce4
    #zapisujemy zamiany.
    [user@greenOSAE ~]$ startx
    
    Po wydaniu ostatniego polecenia środowisko powinno wystartować. W późniejszych podpunktach będzie podane jak zainstalować sterownik Nvidii (jest nieco powszechniejsza w użyciu niż Radeon choć mniej rekomendowana).
  8. Konfiguracja XFCE. Po zalogowaniu się usuwamy dolny panel, a górny przenosimy na dół. Następnie zmieniamy ilość przestrzeniu roboczych ilość pozostawiamy wedle uznania. Usuwamy to podstawowe menu i zastępujemy je Menu Whisker. Konfigurując menu, w zakładce Przycisk panelu pole Wyświetlanie ustawiamy na Ikona i etykieta Ustawiamy następnie swoją ikonę i etykietę, jeśli jednak ma być to greenOS, to należy pobrać z https://i.ibb.co/fS0sHyD/leaf.png ikonę oraz ustawić etykietę na greenOS. Z panelu usuwamy wskaźnik baterii jeśli będziemy używać systemu na laptopie, to możemy go zostawić. Modyfikujemy przyciski sesji, z polu Wygląd ustawiamy Przyciski sesji, z przycisków odznaczamy wszystkie, poza Zablokowaniem ekranu znajdującym się pod nim sepraratorem oraz Wyłączeniem. Za pomocą apletu Wygląd wybranym z menu (kategoria Ustawienia), zmieniamy motyw systemu na Adwaita (ciemny). Na koniec zmieniamy tapetę, klikając PPM na pulpit i wybierając Ustawienia pulpitu następnie jedną z tapet.
    Problem z tapetą użytkownika:
    Jeśli zamierzamy użyć tego systemu jako archiwum, to warto mieć na uwadze, że XFCE mimo ustawionej tapety, która za każdym wyłączeniem/ włączeniem komputera jest taka sam to po ponowym zainstalowaniu systemu z archiwum tapeta jest inna mimo tego samego konta. Przyczyn problemu nieznam, chociaż mam jego rozwiązanie XFCE (jeden z jego programów) cały czas ustawia tę samą tapetę, z racji tego należy ją przenieść, ale tak żeby nie zginęła. Na przykład do /usr/share/pixmaps.
    [user@greenOSAE ~]$ mv /usr/share/backgrounds/xfce/xfce-verticals.png /usr/share/pixmaps
    
    Następnie tworzymy dowiązanie symboliczne do naszej tapety o nazwie wskazującej na tą niedawno przeniesioną.
    [user@greenOSAE ~]$ ln -s /usr/share/backgrounds/xfce/greenos_wallpaper.png /usr/share/backgrounds/xfce/xfce-verticals.png
    
    Teraz tapeta powinna być cały czas taka sama.
  9. Polskie znaki w terminalu. Jeśli uruchomimy terminal to możemy zauważyć, że nie można wpisać żadnego z polskich znaków. Należy to naprawić, wymaga to jednego polecenia i zrestartowania komputera.
    [user@greenOSAE ~]$ sudo localectl set-x11-keymap pl
    
    Restartujemy komputer, lub zamykamy i uruchamiamy ponownie serwer X window.
  10. Ustawienia terminala. W preferencjach emulatora terminala w zakładce Kolory wybieramy profil Zielone na czarnym oraz kolor aktywnych kart na jaskrawożółty, w zakładce Wygląd zmieniamy czcionkę na Source Code Pro Regular oraz ustawiamy przezroczyste tło na poziomie 0.85.
  11. Zmiana kolorystki okna logowania, tapety okna logowania oraz domyślnego obrazu użytkowników. W tym celu uruchamiamy program lightdm-gtk-greeter-settings i ustawiamy motyw na Adwaita-dark i ikony na Adwaita. Następnie ustawiamy tapetę. Z folderu /usr/share/pixmaps wybieramy greenos_lightdm_wallpaper.png. Kolejną rzeczą do ustawienia jest domyślny obraz użytkowników, z pod menu wybieramy plik następnie wybieramy logo Arch Linux /usr/share/pixmaps/archlinix-logo.png
  12. Instalacja oprogramowania użytkowego.
    [user@greenOSAE ~]$ sudo pacman -Syu firefox thunderbird vlc qmmp pulseaudio pulseaudio-alsa pavucontrol
    
  13. Instalacja sterowników własnościowych od Nvidii.
    [user@greenOSAE ~]$ sudo pacman -Syu nvidia
    [user@greenOSAE ~]$ sudo mkinitcpio -P
    
  14. Instalacja oprogramowania Redshift. Program ten pomagachronić wzrok podczas wieczornej pracy przy komputerze usuwając barwę niebieską - ocieplając wyświetlane kolory. Ze względów geograficznych nie wszędzie na świecie jest noc, dlatego też ten program do swojego działania połączenia z GPS lub ręcznego podania lokalizacji. Tak też zrobimy w naszym przypadku. Podamy ręcznie współrzędne geograficzne. Najpierw jednak pobierzemy domyślną konfigurację Redshift i zapiszemy ją na ścieżce: ~/.config/redshift/redshift.conf, konfigurację można pobrać z linku poniżej: https://raw.githubusercontent.com/jonls/redshift/redshift/master/redshift.conf.sample W pliku w sekcji [manual] podajemy współrzędne geograficzne, które możemy pobrać z tego odnośnika: https://location.services.mozilla.com/v1/geolocate?key=geoclue. Kolejną rzeczą jak została do ustawienia jeśli chodzi o Redshift to jest to autostart. W ustawieniach przechozimy do Sesja i uruchamianie, w zakładce Uruchamiane programy kilkamy + w oknie Dodawanie programu,w polu Nazwa wpisujemy Redshift, opis można pominąć, w polu Polecenie wpisujemy /usr/bin/redshift. Po ponownym zalogowaniu Redshift powinien zostać uruchomiony.
  15. Instalacja snap oraz ncspot. Snap jest rodzajem mendżera pakietów dającym m.in. możliwość instalowania tego samego oprogramowania na różnych dystrybucjach, z kolei ncspot jest lekką wersją klienta serwisu Spotify. Na Arch Linux Snap nie jest od tak dostępny, i trzeba go zainstalować z pakietów AUR. Pakiety AUR są paczkami zawierającymi kod źródłowy przygotowany do kompilacji pod Arch Linux, skompilowany kod może zostać zamieniony na pakiet mendżera Pacman i zostać przez niego zinstalowany jak każdy inny pakiet pobrany z repozytorium. Na początek ppotrzebujemy oprogramowania do pobrania pakietu AUR oraz jego kompilacji:
    [user@greenOSAE ~]$ sudo pacman -Syu git base-devel
    
    Następną czynnością jest skolonowanie repozytorium ze snapd i przjeście do katalogu zawierającego pobrane pliki.
    [user@greenOSAE ~]$ git clone https://aur.archlinux.org/snapd.git
    [user@greenOSAE ~]$ cd snapd
    
    Teraz przechodzimy do kompilacji z pomocą polecenia makepkg. Opcja -s nakazuje zainstalować wszystkie zależności potrzebne do zbudowania pakietu a opcja -i zapyta o instalacje pakietu zaraz po jego zbudowaniu. Po zostając w katalogu snapd wywołujemy poniższe polecenie:
    [user@greenOSAE ~]$ makepkg -si
    
    Po zbudowaniu musimy włączyć i uruchomić socket dla snapd oraz utowrzyć dowiązanie symboliczne.
    [user@greenOSAE ~]$ sudo systemctl enable --now snapd.socket
    [user@greenOSAE ~]$ sudo ln -s /var/lib/snapd/snap /snap
    
    Teraz należy zrestartować maszynę, po uruchomieniu wydajemy następujące polecenie.
    [user@greenOSAE ~]$ sudo snap install ncspot
    
    Może się zdarzyć, że zostanie wyświetlony błąd Too early for operations..., wtedy należy wydać poniższe polecenie i spróbować ponownie wydać polecenie instalacji.
    [user@greenOSAE ~]$ sudo snap refresh
    
  16. Ostatnią czynnościa do wykonania, pozostaje zainstalować jakąś metodę wirtualizacji. Oracle VirtualBox nie jest dobry rozwiązaniem jeśli chodzi o systemy Linux ze względu na to iż bywa niestabilny, szczególnie te wersje od 6.0. Do wyboru pozostaje KVM oraz XEN. Ja przesiadłem się z VirtualBox-a na właśnie KVM i to też zainstalujemy. Instalacje rozpoczynamy od zainstalowania paczek z repozytorium.
    [user@greenOSAE: ~]$ sudo pacman -Syu virt-manager qemu vde2 ebtables dnsmasq bridge-utils openbsd-netcat
    
    Następnie włączamy usługę do autostartu i uruchamiamy ją.
    [user@greenOSAE: ~]$ sudo systemctl enable libvirtd.service
    [user@greenOSAE: ~]$ sudo systemctl start libvirtd.service
    
    Kolejną rzeczą jaką należy wykonać jest odblokowanie opcji w pliku /etc/libvirt/libvirtd.conf musimy od szukać i odblokować unix_sock_group = "libvirt" oraz unix_sock_rw_perms = "0770". Zapisujemy zmiany w pliku. Abyśmy mogli korzystać z maszyn wirtualnych jako zwykły użytkownik musimy dodać użytkownika do grupy oraz ją utworzyć.
    [user@greenOSAE: ~]$ sudo usermod -a -G libvirt user
    [user@greenOSAE: ~]$ newgrp libvirt
    
    Na koniec należy zrestartować usługę.
    [user@greenOSAE: ~]$ sudo systemctl restart libvirtd.service
    

Podsumowując Arch Linux jest dystrybucją na pewno skierowaną do bardziej zaawansowanych użytkowników. W zamian za trudy konfiguracji mamy dostęp najnowszego jądra oraz najnowszych wersji programów. Dzięki staraniom deweloperów Arch-a możemy zainstalować Linuxa np. na Chrombookach i wykorzytać w pełni potencjał takiej maszyny. Gdzie np. na dystrybucjach pochodnych Debiana jak i na samym Debianie na części (jak nie na większości) Chromebooków nie będzie działać dźwięk. Proszę nie brać tej oceny jako atak wymierzony w kierunku Debiana, ponieważ nadal nie znam bardziej stablinej dystrybucji niż Debian. Wciąż ze wsparciem dla starego sprzętu, czego brakuje w Arch-u czy CentOS-ie.

Źródła:

  1. Problemy z grafiką LightDM https://wiki.archlinux.org/title/LightDM#Autologin_does_not_work
  2. Ustawienie tematu dla LightDM https://wiki.archlinux.org/title/LightDM#Greeter
  3. Instalacja sterowników własnościowych Nvidii https://wiki.archlinux.org/title/Nvidia#Installation
  4. O Redshift: https://wiki.archlinux.org/title/Redshift#Configuration
  5. Dodanie programu do autostartu: https://wiki.archlinux.org/title/XFCE#Autostart
  6. Instalacja Snap na Arch Linux: https://snapcraft.io/docs/installing-snap-on-arch-linux
  7. Instalacja KVM na Arch Linux: https://linuxhint.com/install_configure_kvm_archlinux

Jeśli komuś nie chce się wykonywać powyższych czynności, to może pobrać gotowe archiwum znajdujące się pod poniższym odnośnikiem.

https://sourceforge.net/projects/greenosae/files/rootfs/greenOSAE-2.0.2.tgz/download

Procedura instalacji jest zgodna z greenOS, jedyną różnicą jest tworzenie pliku konfiguracyjnego GRUB-a, do tego wykorzystujemy to polecenie:

# grub-mkconfig -o /boot/grub/grub.cfg

Zmiany, których dokonano na oryginalnym archiwum, aby można było je upublicznić znajdują się tutaj. Z kolei lista zainstalowanych pakietów tutaj.

Changelog najnowszej wersji znajduje się tutaj.

-- Changelog --

-- 11.02.2022 - Aktualizacja oryginalnego archiwum i upublicznienie go
-- 11.02.2022 - Nowa wersja archiwum, zamiany w changelog-u powyżej

~xf0r3m