
Powłoki – FISH, czyli nowoczesna powłoka dla dewelopera. Część druga

W tej części cyklu o powłoce Fish postaram się przybliżyć projekt Oh My Fish (dalej ujęty jako OMF lub komenda omf), który został zainspirowany bardzo popularnym wśród użytkowników zsh projektem Oh My Zsh.
W tej części cyklu o powłoce Fish postaram się przybliżyć projekt Oh My Fish (dalej ujęty jako OMF lub komenda omf), który został zainspirowany bardzo popularnym wśród użytkowników zsh projektem Oh My Zsh.
Oh My Fish!
Oh My Fish jest frameworkiem (inaczej rzecz ujmując platformą programistyczną), który w znaczny sposób rozszerza możliwości Fisha. Pozwala on na:
- zarządzanie pakietami
- zarządzanie repozytoriami
- tworzenie własnych motywów, pakietów w oparciu o szablon
- zawiera narzędzia diagnostyczne.
Oficjalna strona projektu na platformie GitHub: OMF na Githubie.
Przesłonięcie innej komendy
Cały framework Oh My Fish wywołujemy przy pomocy polecenia omf
.
W celu sprawdzenia, czy inny program nie koliduje z komendą omf, możemy sprawdzić, czy inny pakiet nie dostarcza takiego pliku. W tym celu wykonujemy komendę:
[user@host]$ sudo yum whatprovides '*/omf' filesystem-3.2-21.el7.x86_64 : The basic directory layout for a Linux system Filename : /usr/share/omf gnome-doc-utils-stylesheets-0.20.10-5.el7.noarch : XSL stylesheets used by gnome-doc-utils Filename : /usr/share/xml/gnome/xslt/docbook/omf
W rodzinie dystrybucji Enterprise Linux 6 i 7 istnieją pakiety, które dostarczają folder omf. Są to filesystem i gnome-doc-utils-styleesheets. Tworzą one katalog o nazwie omf. Co istotne, nie istnieje żaden plik binarny, który tak się nazywa. Same pliki omf są specjalnymi XML’ami używanymi między innymi przez Yelp, czyli program pomocy Gnome.
Wiedząc zatem, że omf nie powoduje konfliktów w naszym systemie, możemy go używać, nie martwiąc się o przesłonięcie komendy.
Instalacja
By zainstalować Oh My Fish, możemy wykonać prosty skrypt.
curl -L https://get.oh-my.fish | fish
Jeśli jednak wolimy najpierw zobaczyć, jak wygląda nasz skrypt, możemy po prostu go pobrać, sprawdzić i wywołać w niemalże identyczny sposób.
curl -L https://get.oh-my.fish > install.fish # Sprawdzenie skryptu cat install.fish | fish
Uwaga:
Do zainstalowania OMF wymagana jest nowsza wersja Gita (wyższa lub równa 1.9.5, niedostępna standardowo enterprise’owych Linuksach 6 i 7).
Skrypt instalacyjny najnowszego stabilnego Gita możemy znaleźć na naszym blogu.
Git – podstawowe narzędzie pracy dewelopera i nie tylko. Część II: trochę komend i trochę praktyki
Używanie, instalacja nowych motywów, wybór motywu
Puste wywołanie omf poinformuje nas o możliwych podkomendach.
> ~ omf
Na powyższym zrzucie terminala możemy zauważyć dwie ciekawe informacje. Pierwsza – domyślny motyw omf nie renderuje się poprawnie. Wymaga on od nas czcionek powerline’owych. Druga – kolorowanie podkomend. Zauważmy, że uświadomienie o fakcie, iż omf update
jest jednoznaczne z omf u
, zostało nam dane w wyjątkowo przyjaznej formie.
omf theme # Listuje motywy omf theme nazwa_motywu # Wybiera motyw omf install nazwa_motywu # Instaluje motyw, jeśli nie został zainstalowany
Dokumentacje do domyślnie dostępnych motywów znajdziemy tutaj.
Poniższy zrzut prezentuje instalację motywu, wystąpienie błędu oraz użycie narzędzia omf doktor
.
Instalacja wtyczki
Wywołując omf install
i wciskając dwa razy „tab”, dostaniemy dostępne motywy oraz wtyczki.
Zainstalujmy teraz dwie wtyczki. Pierwsza to battery. Instalacja odbywa się poprzez omf install battery
.
Jak nietrudno się domyślić, wtyczka pokazuje nam stopień naładowania baterii.
Z kolei druga wtyczka wyświetla pogodę.
W tym celu wywołujemy omf install weather
lub krócej omf i weather
.
Do poprawnego działania wtyczka ta potrzebuje pakietu JQ znajdującego się w repozytorium EPEL. Więcej informacji na temat JQ znajdziemy tutaj.
By go zainstalować, wystarczy wywołać sudo yum install -y jq
.
Dezinstalacja wtyczki
Dezinstalacja wtyczki odbywa się poprzez komendę omf remove
lub krócej omf r
.
Zauważmy, że instalacja wtyczki weather doinstalowała nam także pakiety spark i config. Usuwając weather, dwa pozostałe zostaną. Poniższy przykład pokazuje, że omf nie zarządza jednak zależnościami przy usuwaniu.
Podsumowanie
Jak widać, omf jest bardzo prostym i równocześnie potężnym narzędziem do zarządzania Fishem.
Niestety ze względu na objętość materiału oraz nasze starania o dostarczenie tekstu wysokiej jakości, porównaniu wydajności poświęcony będzie kolejny artykuł. Zależy nam, by procedura testowa była stosunkowo najlepsza i uniwersalna, tak by w przyszłości można było ją testować także do innych muszelek (shelli :)).