Ostatnia weryfikacja tekstu: 03.08.2012

Mało znane, ale warte poznania programy

Rozdział ten ma za zadanie oględnie przedstawić różne przydatne w Linuksie programy.

Gconf-editor

Gconf-editor to tak naprawdę interfejs graficzny do plików konfiguracyjnych, znajdujących się w katalogu domowym użytkownika. Można je również edytować ręcznie po wejściu do katalogu ~/home/użytkownik/.gnome2/* i innych. Kropka przed gnome2 oznacza, że ten plik jest ukryty. Gconf-editor jest jednak o tyle dobrym rozwiązaniem, że gromadzi te wszystkie pliki w jednym miejscu i pozwala na zbiorcze wyszukiwanie w nich potrzebnych parametrów. Program ten pozwala na wykorzystanie ukrytych możliwości konfigurayjnych środowiska GNOME.

KDE su i GKSu

Są to bardzo przydatne programy, ułatwiające automatyzację pracy. Wyobraź sobie, że napisałeś jakiś skrypt czy program wymagający do działania uprawnień administratora. W naszym przypadku będzie to banalny zestaw składający się z dwóch skryptów, które będą miały za zadanie kontrolę demona powernowd.

Demon powernowd ma za zadanie skalowanie prędkości procesora, czyli zmienianie jego częstotliwości taktowania zegara. Nowe procesory umożliwiają taką funkcjonalność, a demon powernowd umożliwia łatwą kontrolę tego procesu użytkownikowi.

Kontrola będzie polegała jedynie na włączaniu i wyłączaniu demona właśnie tymi dwoma skryptami:

skrypty włączania i wyłączania na pulpicie, każdy ma rozszerzenie .sh

Zawartość pierwszego z nich:

gksu "sh /etc/rc.d/rc.powernowd start"

Zawartość drugiego z nich:

kdesu "sh /etc/rc.d/rc.powernowd stop"

Jak widać w skrypcie włączającym powernowda zastosowałem program GKSu, który jak nazwa wskazuje, jest napisany w bibliotece GTK, więc przeznaczony jest głównie do użycia w GNOME. Skrypt wyłączający będzie uruchamiany z uprawnieniami administratora przez program KDE su. Po dwukrotnym kliknięciu w obie ikonki na pulpicie wygląda to tak (pliki muszą mieć rozszerzenie sh i prawa wykonywalności [chmod +x plik] ):

Działanie GKSu

Działanie kdesu

KDE su umie więcej

KDE su potrafi zapamiętać hasło roota, dzięki czemu nie trzeba go za każdym razem wpisywać. Potrafi również uruchomić program z innym priorytetem, a także zmienić domyślną ikonę z kluczami w oknie dialogowym ;). Po szczegóły odsyłam do dokumentacji.

Kwin

Kwin to menedżer okien dla środowiska KDE. Jest jednym z najbardziej zaawansowanych programów tego typu. Jeśli nie rozumiesz czym jest menedżer okien, wpisz do konsoli killall kwin. Oprócz tego, że zniknęły obramowania okien, bardzo utrundnione, jeśli nie niemożliwe, jest przełączanie się między nimi. Żeby to odkręcić wciśnij alt+F2, kliknij myszą w ramkę wpisywania polecenia i wpisz kwin.

Dlaczego piszę akurat o menedżerze okien? Bo Kwin ma dosyć potężne możliwości zarządzania oknami, zupełnie niespotykane gdzie indziej. Chcesz wystartować program bez obramowania? Nie ma problemu. Chcesz uruchomić starą okienkową grę w trybie pełnoekranowym? Też nie ma problemu. Jakiś program pojawia się ciągle nie w tym miejscu, gdzie go chcesz? Wymuś inne! Nie podoba Ci się domyślne obramowanie okna? To je zmień! A może chcesz się pozbyć przycisku zamykania okna? Kwin to potrafi.

Aktywacja to nie przywołanie

Po pierwsze jednak zmienimy standardowy sposób na przełączanie się myszą między oknami. Otwórz jakiś program i kliknij w jego ikonkę znajdującą się po lewej stronie na górym pasku obramowania. Ewentualnie możesz wcisnąć alt+F3. Kliknij w pozycję Konfiguracja zachowania okien. Otworzy się okno:

konfiguracja kwin

Wybieramy w nim ikonę jak na obrazku, czyli Aktywne okno. Politykę uaktywniania ustawiamy na Uaktywnianie za kursorem. Wbrew pozorom taka konfiguracja nie powoduje wywołania okna na wierzch po najechaniu na niego kursorem. Powoduje jedynie jego aktywację, a aktywacja to nie wywołanie. Co nam to daje? Wyobraź sobie, że masz obrazek i chcesz z niego przepisać tekst. Albo masz otwarty kurs osługi konsoli i chcesz wpisać jakiś skrypt patrząc jednocześnie na kurs. Przy domyślnym zachowaniu Kwin jest to bardzo utrudnione, ponieważ musiałbyś zasłonić oknem, do którego wpisujesz tekst, okno na które chcesz patrzeć. To ustawienie działa na odwrót. Mając ciągle na wierzchu okno z kursem, najeżdżasz kursorem na konsolę, która staje się aktywna i można w niej wpisywać polecenia, nawet jeśli prawie cały jej obszar jest zasłonięty innym oknem. Przeniesienie zasłoniętego okna na wierzch odbywa się tak jak zawsze, przez kliknięcie.

Wymuszanie innej pozycji okna

Załóżmy, że używasz kgeta do ściągania plików lub amaroka do odtwarzania muzyki. Do tego powiedzmy jeszcze, że ustawiłeś sobie chowanie dolnego panelu. Przy każdym uruchomieniu i wywołaniu z ikony tacki systemowej, kget/amarok będzie pojawiał się u dołu ekranu, co niekoniecznie może Cię satysfakcjonować, ponieważ operowanie przy dolnym brzegu ekranu powoduje wywoływanie panelu, który będzie zasłaniał niezwykle przydatny pasek stanu programu... co w tym wypadku zrobisz? Oczywiście przesuniesz okno programu wyżej. To jednak na niewiele się zda, ponieważ po jakimś czasie zacznie się ono znowu pojawiać w niechcianym miejscu. Nie wspominając o jego oknach dialogowych. Zamiast tego można wymusić jego pozycję pojawiania się na ekranie. Robi się to bardzo prosto: najpierw ustawiamy okno dokładnie w tym miejscu, gdzie chcemy go widzieć, a później

alt+F3, zaawansowane, dodatkowe ustawienia programu

geometria, pozycja, stosuj początkowo

Możesz teraz przeciągnąć okno programu w dowolne miejsce, po dwukrotnym kliknięciu w jego ikonę na tacce systemowej, wróci ono grzecznie tam gdzie go chcesz widzieć.

Kruler

To jedno z moich ulubionych narzędzi. Niezastąpiony przyrząd webmastera: linijka

linijka mierzy szerokość obrazka w pikselach

OptiPNG

Mało kto wie, że PNG jest formatem bezstratnym. Oznacza to, że można w nim przechowywać zdjęcia w najlepszej jakości. Dodatkowo obsługuje przezroczystość, więc nadaje się na strony internetowe i do składu tekstu. Idealnie zastępuje format TIFF, do tego jest na wolnej licencji. Jednak obrazki PNG tworzone przez programy graficzne zwykle są przesadnie duże ze względu na niewydajne algorytmy kompersji bezstratnej. Problem ten rozwiązuje program OptiPNG zastosowany na każdym pliku. Warto też wiedzieć, że po zmniejszeniu liczby kolorów do 256 grafiki komputerowe nadal wyglądają dobrze, a zajmują o wiele mniej miejsca. Wszystkie zrzuty ekranu na tej stronie zostały potraktowane poleceniem convert -quality 0 +dither -colors 256 plik_wejściowy.png plik_wyjściowy.png a następnie optipng -o7 plik.png. Dzięki temu i dzięki braku CMS-a zarządzającego cała moja strona zajmuje mniej niż 2MB. Więcej o optymalizacji PNG.

Narzędzia sieciowe

Tutaj znajdziesz opis kilku poleceń do diagnostyki sieci.

netstat

Netstat wyświetla otwarte połączenia sieciowe. Jeśli coś "zjada" Internet, tutaj możesz sprawdzić co to:

-t oznacza, że chcemy wylistować połączenia protokołu TCP, -u wylistowuje połączenia w protokole UDP (więcej w Wikipedii), -c oznacza ciągłą aktualizację listingu. Aby poznać adresy IP i porty, z którymi się łączymy, zabrońmy ich rozwiązywania przełącznikiem -n:

Jak widać zawartość kolumny Foreign Address ma postać IP:port. Na podstawie IP możemy poznać właściciela serwera i kraj, port umożliwia identyfikację usługi. Netstat zrobił to za nas w poprzednim przykładzie, XMPP to inna nazwa jabbera (jabber to taki protokół gadu-gadu, tylko że otwarty). Jak widać połączeni jesteśmy z dwoma serwerami. Dlaczego?

whois

Whois odpytuje bazę danych DNS w celu wyświetlenia informacji o nieznanym nam adresie IP:

Pierwszy adres należy do google. Nie jest to dziwne, jeśli ktoś podpiął sobie konto gmaila do klienta jabbera. Drugi adres należy do kablówki aster, gdzie mam jeszcze jedno konto:

ping

Aby sprawdzić opóźnienie, jakie mamy do tych serwerów, wykorzystajmy znany graczom ping:

Aster:

Google:

Skąd taka różnica na korzyść Aster?

traceroute

Traceroute wyświetla serwery i rutery, które zechcą się przedstawić, a znajdują się na drodze do badanego przez nas adresu:

Jak widać do sieci Aster prowadzi nas łącze polskiego operatora ATMAN, wpięte do gdańskiego węzła wymiany ruchu (GIX od Gdańsk Internet eXchange). Jesteśmy ciągle w Polsce.

Listing do serwera google'a nie wyjaśnia nam niczego. Wskazówką jest adres 195.39.208.221, należący do GTS Central Europe (jak twierdzi whois), co prawdopodobnie oznacza, że opuszczamy Polskę. Czasy odpowiedzi podawane przez traceroute są mało wiarygodne, lepiej sprawdzać je pingiem. Ping i traceroute łączy narzędzie MTR.

MTR

MTR jest szeroko wykorzystywany do lokalizowania problemu na trasie do podanego serwera.

IP 195... ma najlepszy czas odpowiedzi o 16ms gorszy od adresów 157..., które znajdują się w Polsce. 32% strata pakietów w sieci GTS-u, przez którą się łączę, nie wynika z problemów z hostem, lecz z konfiguracji: rutery brzegowe nie odpowiadają na wszystkie żądania ICMP echo (czyli bardziej zrozumiale: na pingi). Niestety, nic więcej na podstawie tego listingu powiedzieć nie możemy. Nie jest także prawdą, że adresy google'a znajdują się w Kaliforni (jak twierdzi whois), wtedy ping miałby wartość przynajmniej 200ms. Strzelam, że Google umieściło mirrory w sieci Cogentu gdzieś blisko naszej zachodniej granicy lub w Warszawie. Interpretacja wyników poleceń sieciowych wymaga dużej wiedzy i niejednokrotnie bywa problematyczna nawet dla specjalistów.

Wireshark

Jeśli potrzebujemy z jakiegoś powodu sprawdzić co dokładnie jest przesyłane przez jakiś program (na przykład usiłujemy metodą wstecznej inżynierii napisać klienta dla jakiejś usługi), przyda nam się wireshark:

Wireshark

Wireshark, wyświetlający pakiet z hasłem do rutera (zakolorowane).