Blog (107)
Komentarze (2.3k)
Recenzje (0)
@webnullcz. 1 | Siła konsoli w systemach Uniksowych

cz. 1 | Siła konsoli w systemach Uniksowych

13.11.2010 14:34, aktualizacja: 16.11.2010 14:40

Witam, słyszałem wiele negatywnych opinii odnośnie konsoli dlatego postaram się wytłumaczyć, że jest ona naprawdę użyteczna i wręcz niezbędna w każdym systemie.

Czym jest konsola i do czego służy

Konsola to uniwersalne narzędzie do wykonywania najbardziej przeróżnych czynności zaczynając od sterowania systemem operacyjnym, przez słuchanie muzyki do grania w gry tekstowe.

Jednak konsola to coś więcej niż tylko wpisywanie poleceń przez użytkownika, i tutaj chciałbym podkreślić inne bardzo ważne i niezastąpione zastosowania konsoli w tym ogromnym świecie informatycznym.

[color=#FF0000]Ważna informacja: Żadne okienko terminala nie musi być otwarte aby polecenie zostało wykonane, to wszystko może chodzić i chodzi w tle bez przerwy - bo cokolwiek robimy to system wywołuje różne polecenia.

[color=#FF0000]Jaka jest idea?

99% programów Uniksowych, tak tych graficznych, tekstowych czy słuchowych?(dla niewidzących) umożliwia sterowanie przez konsolę. To nie windows, tutaj tworzymy wszystko według takiego modelu i każdemu jest wygodnie i na rękę.

Ale można zadać pytanie; po co Mi to?

Wyobraź Sobie, że masz w programie odtwarzającym wideo opcję "Po zakończeniu oglądania wykonaj polecenie" (całkiem realne), dzięki takiej opcji możesz ustawić, że po zakończeniu oglądania filmu wyłączy się komputer, załączy wygaszacz ekranu, pobierze plik z internetu, otworzy się przeglądarka, zamknie się program odtwarzający filmy czy co tylko sobie wymyślisz.

To proste, jeden program umożliwa wykonanie danego polecenia poprzez dane zdarzenie.

Dzięki temu możemy stworzyć co Nam wyobraźnia przyniesie do głowy.

[color=#DAA520]Przykładowe zastosowanie pierwsze - odtwarzacz muzyki

373949

Powiedzmy, że chcemy ustawić na klawiszu F12 jakąś nietypową czynność, np. ustawienie naszego ulubionego utworu w odtwarzaczu muzyki

W tym celu wyszukujemy odpowiednią opcję w odtwarzaczu muzyki np. rhythmbox

webnull@webnull-desktop:~$ rhythmbox-client --help
Użycie:
  rhythmbox-client [OPCJA...]

Opcje pomocy:
  -h, --help                                Wyświetla opcje pomocy

Opcje programu:
  --debug                                   
  --no-start                                Bez uruchamiania nowej instancji programu Rhythmbox
  --quit                                    Kończy działanie programu Rhythmbox
  --no-present                              Bez wyświetlania istniejącego okna programu Rhythmbox
  --hide                                    Ukrywa okno programu Rhythmbox
  --next                                    Przechodzi do następnego utworu
  --previous                                Przechodzi do poprzedniego utworu
  --seek                                    Przewija bieżącą ścieżkę
  --notify                                  Wyświetlanie powiadamiania o odtwarzanym utworze
  --play                                    Wznawia odtwarzanie, jeśli jest wstrzymane
  --pause                                   Pauzuje odtwarzanie, jeśli jest uruchomione
  --play-pause                              Przełącza tryby odtwarzania/wstrzymania
  --play-uri=Adres URI do odtworzenia       Odtwarza podany adres URI, importując go, jeśli to konieczne
  --enqueue                                 Dodaje podane ścieżki do kolejki odtwarzania
  --clear-queue                             Opróżnia kolejkę odtwarzania przed dodawaniem nowych ścieżek
  --print-playing                           Wyświetla tytuł i wykonawcę odtwarzanego utworu
  --print-playing-format                    Wyświetla sformatowane szczegóły utworu
  --select-source=Źródło do wybrania        Wybiera źródło pasujące do podanego adresu URI
  --activate-source=Źródło do aktywacji     Aktywuje źródło pasujące do podanego adresu URI
  --play-source=Źródło do odtworzenia       Odtwarza ze źródła pasujące do podanego adresu URI
  --set-volume                              Ustawia głośność odtwarzania
  --volume-up                               Zwiększa głośność odtwarzania
  --volume-down                             Zmniejsza głośność odtwarzania
  --print-volume                            Wyświetla bieżącą głośność odtwarzania
  --mute                                    Wycisza dźwięk
  --unmute                                  Wyłącza wyciszenie dźwięku
  --set-rating                              Ustawia ocenę bieżącego utworu

Skoro już znaleźliśmy naszą "funkcję" programu (argument) to teraz użyjemy go w praktyce.

rhythmbox-client --play-uri="/home/webnull/Muzyka/Utwor.ogg"

Teraz odtwarzacz muzyki Rhythmbox powinien nam zagrać utwór /home/webnull/Muzyka/Utwor.ogg

Ale dlaczego by nie ustawić Sobie ten utwór na klawisz F12?

To bardzo proste, ustawiamy sobie to powyższe polecenie do wykonania po naciśnięciu klawisza F12 w programie do bindowania klawiszy (xbindkeys, fluxbox, lub jakiś z pakietu GNOME graficzny ładny i prosty konfigurator).

[color=#1E90FF]Przykładowe zastosowanie drugie - aktualizacje serwera

373959

Przede wszystkim zaletą systemów Uniksowych jest to, że administrator może być jeden na bardzo wiele komputerów, a dobrze skonfigurowany system potrafi sam o Siebie zadbać.

Podstawą systemów Uniksowych są aktualizacje czyli świeże, stabilne (możemy wybrać również niestabilne - testowe), załatane oprogramowanie na bieżąco.

Aby system sam się aktualizował bez problemów zaleca się używania repozytorium stabilnego które gwarantuje, że nic się nie stanie po aktualizacji.

No więc do rzeczy, jako użytkownik uprzywilejowany - root wpisujemy do fcrontaba lub crontaba zaplanowane zadanie, np. codziennie o 00:00 będzie wykonywane polecenie /root/zaaktualizuj-system.

W pliku /root/zaaktualizuj-system dodajemy polecenie aktualizujące system, ewentualny raport wysyłany na e‑mail w razie wykrycia niepowodzenia (status błędu zwrócony przez proces aktualizacji - da się wykryć).


#!/bin/bash
. /root/funkcje-mailowe # dołącza plik z funkcjami mailowymi
apt-get update &> /dev/null
apt-get upgrade &> /dev/null

if [ "$1" == "Błąd" ]
then
      wyslij_mail_do_admina
fi

[color=#DAA520]Przykładowe zastosowanie trzecie - serwer czuwający nad zasypiającymi użytkownikami

Jeżeli mamy w domu serwer, albo router z Linuksem bądź taki router na którym jest możliwa instalacja systemu opartego o Linuksa np. OpenWRT to możemy wykonywać na nim dowolne zaplanowane zadania.

Przykładowo dodajemy zadanie do fcrontaba bądź crontaba w serwerze/routerze aby o godzinie 03:00 w nocy sprawdzał czy komputer jest przez dłuższy czas bezczynny. Po półgodziny bezczynności komputera w nocy serwer/router wysyła do komputera sygnał wyłączania np. shutdown -h now

Oczywiście możemy rozbudować nasze rozwiązanie o obsługę wyjątków. Możemy napisać bardzo prostą aplikację serwerową np. w Pythonie która będzie komunikować się z routerem i podawać informacje, czy pobieramy dany plik przez noc, czy automatyczne wyłączanie komputera jest zablokowane itp.

Istnieje alternatywa, nie musimy mieć serwera, ale wtedy musimy czuwać i serwisować każdy komputer z osobna, dlatego polecam serwer.

[color=#DAA520]Przykładowe zastosowanie czwarte - instalacja oprogramowania

Windows: Ile możemy czasu spędzić na szukaniu instalatora? Nie raz trzeba dojść do 20 strony w wyszukiwarce Google/Yahoo/Innej aby odnaleźć szukany instalator. Czasami także trzeba wysłać SMS, zarejestrować się i dostawać kupę spamu, albo kliknąć w banner i zagłosować aby dostać instalator - no cóż..

No dobrze, udało się pobrać, pierwszy sukces! Ale teraz rozczarowanie, instalator wysypuje nielogiczne błędy typu "Włóż płytę do napędu CD zawierającą plik X", i chociaż wskazujemy Mu położenie pliku to on nadal go szuka, no cóż ostatnio miałem taki błąd, siedziałem przy nim całą godzinę kiedy instalowałem komuś świeżo zakupioną grę.

373974

W systemach Uniksowych mamy całkowicie inną sytuację, nie tolerujemy reklam, spamu, ani innego "chamstwa" potocznie mówiąc.

Mamy Swoje ogromne bazy danych z oprogramowaniem, liczące tysiące serwerów lustrzanych (zawierających tą samą treść) w każdym kraju.

Wystarczy małe, proste, i wygodne polecenie aby zainstalować program.

W systemach opartych o Debiana robimy to tak:

sudo apt-get install audacity

W systemach z rodziny Gentoo:

emerge audacity

Arch Linux:

pacman -S audacity

Gdzie audacity to nasz program który instalujemy. Po wykonaniu tego polecenia program jest zainstalowany, uruchamiamy go z graficznego menu bądź z polecenia w terminalu.

- Czytaj dalej...

Wybrane dla Ciebie
Komentarze (44)