Nokia N9 tips & tricks cz. 37 — Terminal bez tajemnic

Wiele z opisywanych przeze mnie trików wymaga użycia Terminala i ręcznego wklepywania poleceń. Brzmi „groźnie”, ale w zasadzie zwykle są to bardzo proste operacje — podmiana jakiegoś pliku systemowego, instalacja pakietu bibliotek itp.

Dla bardziej zaawansowanych użytkowników Linuksa to oczywiście pestka, podobnie jak dla osób pamiętających jeszcze czasy MS-DOS albo CP/M, bo zasada jest z grubsza ta sama, inne są jedynie komendy. Nie ulega jednak wątpliwości, że dla początkujących hasła terminal, konsola itp. kojarzą się z czarną magią. Po komentarzach na blogu widać, że niektórzy wręcz boją się używać go do jakichkolwiek modyfikacji aby czegoś „nie zepsuć”. Nierzadko problemy sprawia też poprawne przepisywanie poleceń...

Warto jednak Terminal zrozumieć i polubić bo daje on potężne możliwości i wcale nie jest tak trudny i niewygodny w obsłudze jak to się z początku wydaje. W tym wpisie przekażę garść wskazówek, które powinny Wam pomóc.

Obsługa może być wygodniejsza

O tym jak aktywować Terminal pisałem już w pierwszym wpisie, nie ma sensu się więc powtarzać. Po jego uruchomieniu pojawi nam się klasyczny czarny ekran z zieloną czcionką i klawiaturą ekranową pod spodem. Do dyspozycji mamy też proste menu dostępne poprzez półprzeźroczystą ikonę w prawym górnym rogu Terminala. Zabawę czas zacząć!

Lepsza czytelność

Część użytkowników narzeka na zbyt mały rozmiar czcionki. Osobiście nie mam do tego zastrzeżeń, ale jeżeli należycie do tej grupy to rozmiar tekstu można zwiększyć po prostu... gestem tzw. szczypania (dotykamy dwoma palcami ekranu i rozszerzamy je). Banalne, prawda? Wiele osób nie wie jednak, że jest tu taka opcja. Przydaje się to podczas kopiowania tekstu, o czym za chwilę.

Dodatkowo można w menu Terminala, w sekcji Color Scheme, wybrać jeden z alternatywnych schematów kolorystycznych (dostępne są White on Black, Green on Black i Black on Light Yellow). Według mnie domyślna zieleń na czarnym tle jest najbardziej rasowa, ale może komuś bardziej będzie odpowiadać inny wariant ;)

Wyświetlanie ostatnich poleceń

Nad klawiaturą ekranową dostępny jest pasek narzędziowy z przyciskami klawiszy Tab, Ctrl, Esc i znakami specjalnymi | & < > $ * ~ itp. (domyślnie) lub kursorami (opcja). Kolejną czynnością jaką bym zalecał jest przełączenie go na ten opcjonalny z kursorami. Możemy to zrobić przesuwając palcem po prostu po ekranie Terminala w prawo lub lewo (o ile wyłączony jest tryb zaznaczania tekstu) albo w menu, w sekcji Toolbars przełączamy opcję Shell na Arrows.

Dzięki temu uzyskamy łatwy dostęp (przy pomocy przycisku strzałki w górę) do ostatnio wprowadzonych poleceń. Znacząco upraszcza i przyspiesza to obsługę ponieważ z czasem wiele poleceń powtarza się albo jest do siebie podobnych, można więc posłużyć się którymś z wcześniej wydanych, zmienić je i dzięki temu oszczędzić sobie żmudnej klepaniny. Jedna uwaga: polecenia są pamiętane niezależnie dla konta usera i roota (o tym później).

Przy okazji zyskujemy też kursory do nawigacji w lewo i prawo, co jest pomocne przy edytowaniu poleceń.

Kopiowanie tekstu

Zamiast edytowania możemy również użyć funkcji kopiuj / wklej (dostępnej od listopadowej aktualizacji ).

Wystarczy po prostu zaznaczyć żądany fragment tekstu po czym pojawi się dymek z trzema opcjami Kopiuj, Wklej i Clear. Wybieramy Kopiuj i wklejamy we wpisywane polecenie. Funkcjonalność ta jest domyślnie aktywna, można ją jednak wyłączyć czasowo wyłączyć by nie przeszkadzała. Wystarczy dotknąć ikony nożyczek w prawym górnym rogu okna programu, pod ikoną menu.

Automatyczne uzupełnianie

W większości przypadków podczas wprowadzania poleceń zachodzi konieczność podania ścieżki dostępu do jakiegoś pliku lub folderu. Często są to bardzo długie ciągi znaków dotyczą bowiem czeluści systemowych folderów. Z moich obserwacji wynika, że tu najczęściej popełniane są błędy — ścieżki wpisywane są niestarannie, z literówkami...

Tymczasem wystarczy podczas wpisywania podać początek nazwy folderu i wcisnąć Tab, a nazwa zostanie automatycznie uzupełniona. Przykładowo chcąc wprowadzić ścieżkę /home/user/MyDocs wystarczy wpisać /h, wcisnąć Tab, a ścieżka zostanie uzupełniona do /home/. Następnie wpisujemy u, wciskamy Tab i na ekranie mamy już /home/user/ itd. Uwaga: jeżeli więcej niż jeden folder zaczyna się od takiego samego znaku nazwa nie zostanie uzupełniona, wystarczy jednak ponownie wcisnąć Tab, a zostanie wyświetlona ich lista.

Tego typu podpowiedzi są szczególnie przydatne podczas wpisywania długich ścieżek. Przy okazji sprawdzamy czy folder o takiej nazwie faktycznie istnieje i tym samym minimalizujemy ryzyko pomyłki.

Łatwiejsze wprowadzanie tekstu

Wprowadzanie dłuższych partii tekstu na klawiaturze ekranowej może być trochę uciążliwe, szczególnie jeżeli trzeba przy tym uważać na błędy. Co można na to poradzić? Najprostszym rozwiązaniem jest przełączenie się na widok poziomy, oferujący większa klawiaturę. Jednak i w trybie pionowym da się całkiem wygodnie pisać — wystarczy skorzystać ze zmodyfikowanego przeze mnie układu klawiatury.

Jeszcze wygodniejsze rozwiązanie to wywoływanie Terminala Nokii N9 z poziomu komputera. Najłatwiej zrobić to Linuksie i Mac OS, w przypadku systemów Windows trzeba zainstalować program PuTTY. Gorąco polecam tę metodę.

Można też sparować Nokię N9 z klawiaturą Bluetooth, ale to temat na oddzielny odcinek...

Najważniejsze komendy

Warto też przybliżyć znaczenie najważniejszych komend, aby łatwiej było zrozumieć istotę poszczególnych trików. Listę komend wraz ze składnią można łatwo znaleźć w Internecie, poniżej ograniczę się do najczęściej stosowanych (zwróćcie uwagę na spacje). Na początek jednak słowo o uzyskiwaniu uprawnień w Nokii N9.

Uzyskiwane uprawień administracyjnych

Domyślnie Terminal uruchamiany jest z uprawnieniami użytkownika, sygnalizuje to znak zachęty ~ $. Możliwość przenoszenia czy kasowania plików jest ograniczona do plików i folderów znajdujących się w /home/user/, a dostęp do plików systemowych mamy tylko w trybie odczytu. Żeby mieć pełną swobodę należy więc uzyskać uprawienia tzw. roota. Służy do tego poniższy zestaw poleceń:

devel-su
Password: rootme

Po wydaniu komendy i wpisaniu hasła znak zachęty zmienia się na ~ #, co oznacza że uzyskaliśmy uprawienia administracyjne. Warto zwrócić uwagę, że podczas wpisywania hasło nie wyświetla się na ekranie. Od tego momentu wszelkie polecenia kasowania / przenoszenia należy wprowadzać z wielką uwagą ponieważ omyłkowe usunięcie plików systemowych może skutkować poważnymi problemami z funkcjonowaniem telefonu, a w skrajnych sytuacjach koniecznością jego flashowania.

Wyświetlanie zawartości folderu

OK. Przejdźmy do komend. Na początek sprawa elementarna czyli wyświetlanie zawartości folderu:

ls [ścieżka_dostępu]

Przykładowo może to być:

ls /home/user/MyDocs

Efektem takiej komendy będzie wyświetlenie zawartości wirtualnego dysku widocznego w systemie komputera jako Nokia N9 po podłączeniu telefonu kablem USB.

Zmiana folderu

Dzięki tej komendzie możemy „przejść” do danego folderu.

cd [ścieżka_dostępu]

Przykładowo:

cd /home/user/MyDocs

Po wydaniu takiej komendy wszelkie polecenia dotyczące tego folderu bądź znajdujących się w nim plików będziemy mogliby wydawać w formie skróconej tj. bez każdorazowego wpisywania ścieżki. Przykładowo do wyświetlenia zawartości tego folderu wystarczy już po prostu sama komenda ls. Jest to przydatne gdy zamierzamy wydawać serię poleceń takich jak np. kopiowanie do różnych folderów docelowych.

Kopiowanie

Kopiowanie jest oczywiście najwygodniejsze przy pomocy jakiegoś menedżera plików, żeby jednak zapisać jakiś plik / folder w obszarach systemowych niezbędne są uprawienia roota —musimy zatem użyć Terminala. Składnia wygląda następująco:

cp [ścieżka_źródłowa][plik(i)_żródłowy(e)] [ścieżka_docelowa]

Przykładowo:

cp /home/user/MyDocs/dzwonek.mp3 /usr/share/sounds/ring-tones/

Jeżeli „jesteśmy” już w folderze (wydaliśmy polecenie cd) w którym znajduje się plik(i) do przekopiowania, wówczas ścieżkę można pominąć:

cp dzwonek.mp3 /usr/share/sounds/ring-tones/

Jeżeli mamy kilka podobnych plików do skopiowania (np. kilka utworów mp3) możemy je przekopiować hurtowo:

cp *.mp3 /usr/share/sounds/ring-tones/

Oczywiście możliwości jest tu znacznie więcej (np. kopiowanie z jednoczesną zmianą nazwy), komenda ma dodatkowe opcje, nie ma jednak sensu tu ich szczegółowo opisywać.

Przenoszenie

Komenda analogiczna w działaniu z tą tylko różnicą, że pliki źródłowe są po skopiowaniu automatycznie kasowane. Składnia wygląda następująco:

mv [opcje] [ścieżka_źródłowa][plik(i)_żródłowy(e)] [ścieżka_docelowa]

Przykładowo:

mv *.mp3 /usr/share/sounds/ring-tones/

Jeżeli chcemy dokonać zamiany plików możemy dodać opcję -f aby pominąć konieczność potwierdzania przy nadpisywaniu każdego pliku:

mv -f *.mp3 /usr/share/sounds/ring-tones/

Usuwanie

Ostatnia z najbardziej elementarnych komend. W tym przypadku składnia wygląda następująco:

rm [ścieżka][nazwa_pliku(ów)]

Przykładowo:

rm /home/user/MyDocs/*.mp3

Wyszukiwanie

Czasami zachodzi konieczność wyszukiwania jakiegoś pliku w gąszczu folderów. W Linuksie jest do tego bardzo wygodne polecenie. Składnia jest następująca:

find [ścieżka] -name '[szukana_nazwa]'

Poniższy przykład wyszykuje pliki mp3 w /home/user/MyDocs/ i podfolderach:

find /home/user/MyDocs/ -name '*.mp3'

Można też oczywiście wyszukiwać w całej pamięci (również w folderach systemowych), w tym wypadku warto jednak ukryć ostrzeżenia o błędach dotyczących praw dostępu:

find / -name '*.mp3' 2>/dev/null

Instalowanie pakietów

W niektórych przypadkach zachodzi konieczność instalacji jakichś bibliotek lub programów z poziomu Terminala przy użyciu uprawnień roota. Służy do tego komenda:

dpkg -i [ścieżka][nazwa_pliku]

Jednym z takich programów jest Opera Mobile. W jej przypadku będzie to:

dpkg -i /home/user/MyDocs/operamobile_11.00-1_armel.deb

Można też użyć skróconej wersji:

dpkg -i /home/user/MyDocs/operamobile*

Pamiętając jednak aby nie przesadzać ze skracaniem bo jeżeli w danym folderze mamy podobnie zaczynające się pakiety (częsty przypadek przy bibliotekach) to zainstalują nam się wszystkie.

Lista zainstalowanych pakietów

Jeżeli zdarzyłaby się potrzeba wyświetlenia pełnej listy zainstalowanych pakietów można użyć poniższej komendy.

dpkg-query -W

Jest to przydatne np. gdy chcemy sprawdzić czy dane biblioteki są obecne w systemie (w menu Ustawienia -> Aplikacje -> Zarządzaj aplikacjami dostępna jest jedynie skrócona lista):

dpkg-query -W lib*

Przeglądanie długiej listy na ekranie Terminala może być uciążliwe. Można jednak wynik zapisać w pliku tekstowym, który można później otworzyć na komputerze, gdzie łatwiej będzie przeglądać zawartość i wyszukiwać:

dpkg-query -W lib*>/home/user/MyDocs/pakiety.txt

Odinstalowanie pakietów

Tu konstrukcja jest jeszcze prostsza::

dpkg -r [nazwa_pakietu]

W przypadku Opery Mobile będzie to:

dpkg -r operamobile

Na zakończenie...

I to właściwie z grubsza wszystko co najważniejsze. Jak widać nie jest to aż tak skomplikowane jakby się z początku mogło wydawać ;) Miłej zabawy!