Konsola

13 sierpnia 2005, michuk

Konsola (terminal, emulator terminala) i powłoka (shell), czyli z grubsza to to co w MS Windows nazwano “wierszem poleceń”. Dla niektórych zbędny dodatek do systemu, tylko dla wtajemniczonych. Dla innych podstawowe narzędzie pracy. Konsola w Linuksie, w odróżnieniu od windowsowego wiersza poleceń, to bardzo potężne narzędzie, dzięki któremu możemy wykonać praktycznie każdą operację w naszym systemie. Dzięki konsoli i wybranej powłoce (np. bash) możemy m.in:


apt-get install mp3blaster

Rys 1. Instalacja programów sprowa-
dza się do wydania jednej komendy



Alsamixer - ustawienia kanałów dźwiękowych

Rys 2. Alsamixer - ustawiamy
kanały karty dźwiękowej

  • bardzo sprawnie zarządzać konfiguracją systemu,
  • instalować oprogramowanie,
  • operować na plikach i katalogach w systemie (np. używając programu Midnight Commander),
  • kopiować i udostępniać dane między komputerami używając SSH, NFS czy Samby,
  • czytać pocztę (mutt, pine), przeglądać sieć (lynx, elinks) i grupy dyskusyjne (slrn),
  • słychać muzyki (mpd/mpc, mp3blaster, xmms-shell),
  • wypalać płyty CD (cdrecord, cdrdao) i DVD (growiofs),
  • czy rozmawiać przez Jabbera i Gadu-Gadu (ekg/ekg2)!

Jeśli zależy nam na zwiększeniu wydajności pracy, warto zaprzyjaźnić się z konsolą. Aby poznać podstawy poruszania się w tym środowisku z początku będziemy musieli poświęcić nieco czasu na naukę. Ona jednak – jak wiadomo – w las nie idzie. A dodatkowa wiedza na pewno nie zaszkodzi nam w przyszłości, lecz przeciwnie – pomoże nam łatwiej i szybciej wykonywać powtarzalne czynności w naszym systemie.

Jak znaleźć konsolę w systemie?

Najczęściej powinna być ona udostępniona “gdzieś na wierzchu”, np. jako jedna z pierwszych pozycji menu, na pulpicie lub pasku szybkiego uruchamiania. Terminal zwykle przedstawiany jest graficznie jako mały monitorek, czasami z obrazkiem Tuxa - linuksowej maskotki.

Co odróżnia konsolę Linuksa od wiersza poleceń Windows?

Krótko: Zarówno architektura jak i możliwości.
A teraz nieco dokładniej… Przede wszystkim, w Linuksie powłoka systemowa jest oddzielną warstwą, a nie integralną częścią systemu. Dzięki takiej architekturze możemy używać wielu powłok do różnych zadań. W szczególności, możemy mieć uruchomionych jednocześnie kilka(-naście, -dziesiąt) konsol, z inną powłoką w każdej z nich. To powłoka odpowiada za funkcjonalność taką jak historia poleceń, dopełnianie nazw komend i opcji programów, a także instrukcje warunkowe, pętle i inne wyrażenia związane z programowaniem w shellu. Najpopularniejsze powłoki to bash, zsh i ksh.
Emulator terminala jest “opakowaniem”, czyli (w znacznym uproszczeniu i nie wnikając w historię) programem, dzięki któremu możemy korzystać z powłoki. Do najbardziej znanych emulatorów należą: gnome-terminal, konsole, xterm, aterm, Eterm i multi-gnome-terminal. Emulator terminala może obsługiwać przezroczystość, wiele terminali w kartach (tabach), skróty klawiszowe uruchamiające konsolowe programy i podobną funkcjonalność.

Prawdziwa konsola, a emulator

W wielu dystrybucjach Linuksa (szczególnie tych domyślnie przeznaczonych na serwer) domyślnym interfejsem użytkownika jest właśnie konsola. System graficzny (X Window System) uruchamiany jest opcjonalnie. W takim przypadku dostęp do terminala mamy bezpośrednio po zalogowaniu do systemu i nie musimy korzystać z emulatora działającego w środowisku graficznym. W przypadku, gdy w naszym systemie domyślnie uruchamia się środowisko graficzne, zawsze możemy zalogować się alternatywnie w “prawdziwej konsoli” używając skrótu klawiszowego (CTRL+ALT+F1 do F6).

Taka architektura, nie wymagająca środowiska graficznego do pracy w systemie, jest ogromną zaletą Linuksa i innych systemów uniksowych. Podobne rozdzielenie miało zresztą miejsce również we wczesnych wersjach systemu Windows. Do wersji 3.11 okienka uruchamiane były przez użytkownika opcjonalnie, z konsoli systemu DOS. W kolejnych wersjach, od Windows 95, po najnowsze Windows XP włącznie, porzucono to rozwiązanie. Środowisko graficzne uruchamiane jest od tej pory zawsze, pożerając cenne zasoby niezależnie od tego czy system służy nam jako serwer, czy desktop. Skazanie na interfejs graficzny to również istotne ograniczenie w przypadku awarii systemu. Przykładowo, gdy z powodu problemów z kartą graficzną Windows nie chce się uruchomić, nie mamy praktycznie możliwości w prosty sposób naprawić błędu (np. usunąć konfliktujący sterownik i zastąpić go innym). Jeśli automat zawiedzie, jesteśmy skazani na zawsze pomocny support lub ręczną reinstalację.

Dlaczego warto używać konsoli?

No właśnie… Dlaczego w ogóle używać konsoli (pomijając sytuacje awarii). Nie łatwiej wszystko wyklikać? Przecież Linux miał być tak samo prosty jak Windows!

Spokojnie. Oczywiście nie ma przymusu używania konsoli w Linuksie. Zdecydowana większość standardowych operacji w zakresie konfiguracji systemu jest dostępna z poziomu GUI. Trzeba jednak pamiętać o jednej ważnej rzeczy: klikanie jest może i prostsze, ale na pewno mniej efektywne.

Nie wierzycie? No to kilka przykładów:

  • Usuwamy plik test.txt znajdujący się w naszym katalogu domowym
    W konsoli: rm ~/test.txt (nazwa pliku uzupełni się po wciśnięciu klawisza TAB)
    Graficznie: Klikamy dwukrotnie na ikonę z domkiem na pulpicie. Następnie prawym klawiszem myszy zaznaczamy nasz plik i wybieramy opcję “Usuń”.
  • Konfigurujemy połączenie z Internetem przez DHCP
    W konsoli: sudo dhclient eth0 i podajemy hasło roota
    Graficznie: Klikamy w ikonkę reprezentującą sieć, pojawia nam się aplet konfiguracji sieci. Wybieramy kartę sieciową eth0, klikamy “Aktywuj”. Jeśli nie działa, wchodzimy do konfiguracji, podajemy hasło roota, ustawiamy dynamiczne przydzielanie adresu przez DHCP, wychodzimy z konfiguracji, jeszcze raz klikamy “Aktywuj”, wychodzimy z apletu.
  • Uruchamiamy serwer WWW Apache2
    W konsoli: sudo /etc/init.d/apache2 start i podajemy hasło roota
    Graficznie: Wybieramy w menu Gnome: System->Ustawienia->Usługi systemowe. Następnie szukamy serwera Apache2 i zaznaczamy przy nim ptaszek. Klikamy “Zastosuj” i wychodzimy z apletu.
  • Oglądamy film w odtwarzaczu Mplayer
    W konsoli: mplayer /home/filmy/Aviator/AviatorCD1.avi (oczywiście z auto-uzupełnianiem nazw katalogów i pliku wideo z użyciem klawisza TAB)
    Graficznie: w menu Gnome wybieramy: Aplikacje->Dźwięk i obraz->MPlayer, po uruchomieniu klikamy “Otwórz” i nawigujemy klikając do katalogu /home/filmy/Aviator, a następnie klikamy na pierwszą część. Alternatywnie najpierw nawigujemy w menedżerze plików do katalogu /home/filmy, a następnie uruchamiamy wybrany film klikając prawym przyciskiem na jego ikonkę i wybierając “Otwórz w”->”Mplayer”.


konsola w akcji

Rys 3. Narzędzia konsolowe w akcji: mp3blaster, Midnight
Commander, gcc, FvwmConsole i top

To tylko cztery przykłady. W każdym z nich wykonanie tej samej czynności w konsoli jest kilka(-naście?) razy szybsze niż zrobienie tego samego z użyciem narzędzi graficznych. Oczywiście nie jest tak, że wszystko łatwiej jest zrobić w trybie tekstowym. Przykładowo, wypalanie płyty DVD z konsoli wymaga znajomości kilkunastu parametrów programu growisofs. Zdecydowanie łatwiej jest przeciągnąć odpowiednie pliki w programie K3B czy GnomeBaker i kliknąć ikonkę “Nagraj DVD”, z domyślnymi ustawieniami. W ogólności jednak, jeśli zależy nam na zwiększeniu wydajności pracy, warto zaprzyjaźnić się z konsolą. Aby poznać podstawy poruszania się w tym środowisku z początku będziemy musieli poświęcić nieco czasu na naukę. Ona jednak – jak wiadomo – w las nie idzie. A dodatkowa wiedza na pewno nie zaszkodzi nam w przyszłości, lecz przeciwnie – pomoże nam łatwiej i szybciej wykonywać powtarzalne czynności w naszym systemie.

Więcej o konsoli

Podstawowe polecenia