macOS to nie tylko GUI

Wiele osób, zarówno użytkowników, jak i te, które tylko przelotnie miały styczność z systemem macOS, uważają go za system z graficznym interfejsem użytkownika i nic ponadto. Przecież okno terminala w Microsoft Windows kojarzy się wyłącznie z “historycznym bagażem” jakim był MS DOS i koniecznością zachowania wstecznej kompatybilności, a sukces firmy z logo nadgryzionego jabłka od zawsze jest kojarzony z okienkami i myszą. Skąd więc terminal w macOS? Pomijając zawiłe losy systemu operacyjnego macOS, który w swojej historii zmieniał nazwy i ostatnio znany był jako OS X, a także Mac OS X, to, z czym obecnie użytkownicy mają styczność to spadek po systemie NeXTStep, który pracował na komputerach firmy NeXT, wykupionej przez Apple w 1996 roku. Ten natomiast został napisany na bazie mikrojądra Mach i kodu systemu BSD Unix. Tym sposobem, wiele osób tego nieświadomych, ma na swoim komputerze system operacyjny, który w dużym uproszczeniu, pochodzi z tego samego drzewa genealogicznego co Linux (według niektórych źródeł Linux to akronim od  Linus Torvald’s UNIX). I to tyle tytułem wstępu, bo nie o historii macOS jest ten artykuł 😉

Nudnej teorii słów kilka

Celem tego artykułu, nie jest wyjaśnianie zawiłości architektury systemu macOS, a zainteresowanych zgłębieniem tematu odsyłam do lektury na przykład tego wpisu (uprzedzam, po angielsku) na Wikipedii. Kluczowym natomiast dla dalszej lektury, jest zrozumienie, że macOS ma kilka warstw. W uproszczeniu ta graficzna, z którą na co dzień użytkownik macOS ma do czynienia, w istocie jest grupą aplikacji i API pracujących na niżej położonych komponentach, jak jądro, stos sieciowy, system plików i sterowniki sprzętowe. Dlaczego o tym piszę? Ponieważ każdy użytkownik systemu macOS może również “skomunikować” się z tymi niżej położonymi komponentami systemu. Realizowane jest to poprzez powłokę systemową bash, która to skądinąd jest domyślną powłoką w większości dystrybucji systemu Linux. Dostęp do niej realizowany jest poprzez emulator terminala, najczęściej w uproszczeniu zwany po prostu terminalem.

Instalacja

Wbrew pozorom, nie będzie to akapit o instalacji aplikacji terminala w macOS, bo takowy każdy użytkownik komputera Apple posiada. Gdzie więc go szukać i jak uruchomić? Jest kilka sposobów. Najprostsze to kliknąć na ikonę Launchpad, a następnie wybrać folder Inne i w nim odszukać ikonę aplikacji Terminal. Można też analogicznie, wybrać Finder i przejść do Programy, a następnie Narzędzia i kliknąć na Terminal.app. Czy też wybrać Wyszukiwanie Spotlight i wpisać terminal, zatwierdzają komendę klawiszem Enter. Na przyszłość można sobie przypiąć terminal w Docku, by mieć do niego szybki dostęp. Co więc będziemy instalować? Terminal, chociaż w pełni funkcjonalny, jest mało przyjazny i ma niewiele opcji personalizacji. Warto więc zacząć swoją przygodę z linią komend systemu macOS od instalacji przyjaźniejszej aplikacji terminala. Z czasem każdy pewnie znajdzie coś dla siebie, ale na razie polecam iTerm2, z którego sam korzystam. Zachęcam zatem do pobrania pliku ZIP zawierającego aplikację a przy pierwszym uruchomieniu iTerm.app, aplikacja sama zapyta, czy chcemy, aby skopiowała się do folderu Programy.

Co oczywiście polecam uczynić. Jak też przypiąć go do Docka, aby w przyszłości dostęp do niego był błyskawiczny. Dla jasności, w kolejnych krokach zakładam, że aplikacja Terminal lub iTerm są już uruchomione i w nich będą wydawane komendy.

Ale po co to wszystko?

Odpowiedź jest dość prozaiczna – by MÓC WIĘCEJ. Wiele zaawansowanych ustawień systemowych, o których istnieniu przeciętny użytkownik macOS nie ma pojęcia, jest dostępnych tylko z poziomu linii komend. Podobnie wiele narzędzi, szczególnie tych bardziej zaawansowanych, wymaga sięgania do linii komend. Ale też wiele prostych czynności można wykonać szybko i sprawnie korzystając z terminala, nie wspominając o automatyzacji rutynowo wykonywanych operacji za pomocą skryptów. Ale dość tej teorii, zróbmy zatem coś w tym terminalu, najlepiej zabawnego i prostego na zachętę. Włączcie zatem głośniki (koniecznie!) i wydajcie komendę:

  • say “Twoje życzenie jest dla mnie rozkazem”

Spodobało się? To spróbujmy w innych językach. Najpierw sprawdźmy jakie są dostępne:

  • say -v ?

I teraz możemy już mieć komputer przemawiający jak J.A.R.V.I.S. (tak, to jest poprawna pisownia, ponieważ to z ang. Just A Really Very Inteligent System) do Tony’ego Stark’a:

  • say -v Alex “Let me introduce myself. I am JARVIS. A virtual artificial intelligence. And I am here to assist you.”

Mam nadzieję, że Wam się spodobało i możemy przejść do bardziej zaawansowanych rzeczy. Ale zacznijmy od …

Warzymy piwo

Użytkownik komputera Apple, zapytany o źródło aplikacji, zapewne wskaże App Store. Jednakże macOS to nie iOS i wybór źródeł programów jest w tym wypadku znacznie szerszy. A gdyby tak istniało narzędzie, równie wygodne, jak App Store i dające znacznie większą swobodę wyboru? Ależ ono istnieje. Jest nim Homebrew, czyli jak sami autorzy piszą o swoim dziele, “brakujący menadżer pakietów dla macOS”. Idea menadżera pakietów zaczerpnięta jest z różnych dystrybucji Linuxa, gdzie znajdziemy takie projekty jak na przykład APT (Debian, Ubuntu) czy Yum (CentOS). Aby zainstalować Homebrew wydajemy w terminalu polecenie:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

W efekcie zostaniemy poinformowani jakie zmiany zostaną wprowadzone w naszym systemie i poproszeni o zgodę na kontynuację (klawisz Enter) lub przerwanie operacji (dowolny inny klawisz).

W zależności od szybkości połączenia z Internetem instalacja może zając kilka-kilkanaście minut, w sam raz na wycieczkę do lodówki po jakiś napój przed lekturą kolejnego odcinka.

 

 

Komentarze