GPM(8) | System Manager's Manual | GPM(8) |
gpm - narzędzie do kopiowania i wklejania oraz serwer myszy konsoli wirtualnych
gpm [ opcje ]
Ten program stara się być użytecznym serwerem myszy dla aplikacji uruchamianych na konsoli linuksowej. Bazuje on na pakiecie "selection" i część jego kodu pochodzi właśnie z selection. Pakiet ma być zamiennikiem programu "selection" jako mechanizmu kopiowania i wklejania, zapewnia także dodatkowe usługi. "Selection" było pierwszą implementacją mechanizmu kopiowania i wklejania w Linuksie, używającą dwóch przycisków myszy. Zaznaczony tekst będzie dalej w tym dokumencie nazywany zaznaczeniem (ang. selection). Poniższe informacje zostały wzięte z pliku texinfo, który nadal jest polecanym źródłem informacji.
Plik wykonywalny gpm ma działać jako demon (tak więc gpmd byłoby dla niego lepszą nazwą). Ta część opisuje opcje w linii poleceń gpm, a funkcje programu opisuje kolejna część.
Z powodu ograniczeń wywołania systemowego "ioctl(TIOCLINUX)", gpm musi być uruchamiany przez administratora. Ograniczenia zostały dodane w ostatnich jądrach 1.1, w celu usunięcia błędu ochrony związanego z zaznaczaniem i robieniem zrzutów ekranowych.
Serwer może być ustawiony, tak by pasował do gustu użytkownika i dowolne aplikacje używające myszy odziedziczą te ustawienia. W wersjach od 1.02 aż do 1.19.2, właściwości myszy mogły być zmieniane przez każdego użytkownika logującego się na konsoli systemowej za pomocą opcji -q. Ze względów bezpieczeństwa ta opcja nie jest już dostępna.
Od wersji 0.97 serwer sam umieszcza się w tle. Aby usunąć gpm z pamięci należy wywołać go jeszcze raz z opcją -k, chociaż killall gpm może być lepszym wyjściem.
Wersja 1.10 dodała możliwość wykonywania poleceń specjalnych w odpowiednich warunkach. Standardowo jest to ponowne uruchomienie lub zatrzymanie systemu, ale użytkownik może ustawić własne. Możliwość wywoływania poleceń jest ciekawa dla programistów, gdyż pozwala na czyste wyłączenie komputera, kiedy klawiatura jest zablokowana i niedostępna jest sieć, w celu przywrócenia systemu do stanu używalności.
Polecenia specjalne są włączane przez potrójne kliknięcie lewym i prawym przyciskiem -- bardzo nietypowe przy normalnym używaniu myszy. Najprościej jest je wykonać trzymając jeden przycisk i trzykrotnie klikając drugim. Kiedy wykonywanie specjalnych komend zostanie uruchomione, na konsoli pojawi się wiadomość (i dwa dźwięki z głośniczka jeśli się go posiada); jeśli użytkownik puści wszystkie przyciski i wciśnie znowu jeden z nich w ciągu trzech sekund, wtedy wykonane zostanie polecenie przypisane do tego przycisku.
Standardowe polecenia specjalne to:
Opcja -S włącza wykonywanie poleceń specjalnych i pozwala na zmianę trzech specjalnych poleceń. Aby zaakceptować standardowe polecenia należy wpisać -S "" (podaje pusty argument). Aby podać swoje własne polecenia, proszę użyć listy rozdzielonej dwukropkami podając polecenia dla lewego, środkowego i prawego przycisku. Jeśli jakieś polecenie jest puste, zostanie zinterpretowane jako "wyślij sygnał do procesu inicjującego (init)". Ta szczególna operacja jest udostępniana w połączeniu z wykonywaniem poleceń zewnętrznych, ponieważ czasem błąd programu uniemożliwia forkowanie; w takim rzadkim przypadku programista powinien być w stanie wyłączyć system pomimo tego, a zabicie procesu init jest jedyną możliwością zrobienia tego.
Jako przykład: -S ":telinit 1:/sbin/halt", przypisuje zabicie init lewemu przyciskowi, uruchomienie w trybie jednego użytkownika środkowemu i zatrzymanie systemu prawemu przyciskowi.
Administratorzy systemu powinni oczywiście postępować bardzo ostrożnie z tymi poleceniami, ponieważ gpm uruchamia się z prawami administratora. Polecenia specjalne są dobre tylko w komputerach, gdzie fizyczny dostęp do myszy jest możliwy tylko dla zaufanych osób.
W wierszu poleceń dostępne są następujące opcje:
case $( /usr/bin/tty ) in
/dev/tty[0-9]*) /usr/bin/disable-paste ;;
esac
Aby zaznaczyć tekst proszę wcisnąć lewy przycisk i przeciągnąć myszą. Aby wkleić tekst na tej samej lub innej konsoli należy wcisnąć środkowy przycisk. Prawy przycisk jest używany do zmiany rozmiaru zaznaczenia (tak jak w "xterm").
Myszy dwuprzyciskowe używają prawego przycisku do wklejania.
Podwójne i potrójne kliknięcia zaznaczają cały wyraz lub cały wiersz. Użycie opcji -p jest polecane w celu uzyskania lepszej widoczności.
Jeśli po zawartości wiersza zaznaczona jest kończąca spacja i jeśli nie ma w tym wierszu więcej tekstu, jego reszta zostanie zaznaczona automatycznie. Jeśli zaznaczone jest kilka wierszy, zaznaczone spacje na końcach każdego z nich zostaną usunięte z bufora zaznaczenia.
Jeśli w trakcie zaznaczenia na konsoli wirtualnej wyświetlone zostaną jakieś znaki w zaznaczonym miejscu, podświetlenie zostanie usunięte z ekranu, aby zachować integralność wyświetlania, ale zawartość bufora zostanie nienaruszona.
Mechanizm zaznaczania jest wyłączony jeśli wirtualna konsola zostanie ustawiona w tryb graficzny, np. w czasie uruchamiania X11, i zostanie przywrócona przy powrocie do trybu tekstowego (zob. część BŁĘDY poniżej).
Serwer gpm może mieć problemy w czasie współdziałania z X: jeśli dana mysz jest urządzeniem z możliwością pojedynczego otwarcia (np. myszy typu bus), powinno się wyłączyć gpm przed uruchamianiem X lub użyć opcji -R (zob. wyżej). Aby wyłączyć gpm, proszę użyć gpm -k. Ten problem nie dotyczy myszy typu serial.
Dwie instancje gpm nie mogą zostać uruchomione na tym samym systemie. Aby użyć dwóch myszki proszę skorzystać z opcji -M (zob. wyżej).
Podczas gdy aktualna konsola jest w trybie graficznym, gpm jest uśpiony dopóki nie powróci do trybu tekstowego (chyba że zostanie użyte -R). Przez to nie będzie zwracał odpowiedzi klientom. Jednak jest to nietypowe, aby programy wykorzystujące mysz, odczytywały ją na ukrytej konsoli.
Klienty wydzielone z gpm nie są aktualizowane, dlatego używanie ich stanowi potencjalne zagrożenie dotyczące bezpieczeństwa.
Andrew Haylett <ajh@gec-mrc.co.uk> (oryginalny kod selection) Alessandro Rubini <rubini@linux.it> (stary opiekun
(wciąż bardzo pomaga)) Ian Zimmerman <itz@speakeasy.org> (stary opiekun) Nico Schottelius <nico@schottelius.org> (opiekun) A także bardzo wiele innych osób, które pomogły tworzyć selection i gpm.
Obecnym opiekunem jest Nico Schottelius. Jednak bez pomocy Alessandra Rubiniego i członków listy dyskusyjnej, on sam nie podołałby zadaniu opiekowania się gpm. Adres lista dyskusyjnej dla deweloperów to gpm@lists.linux.it. Więcej informacji o liście znajduje się w pliku README, w części poświęconej dystrybucji źródeł gpm.
/var/run/gpm.pid PID uruchomionego gpm /dev/gpmctl Gniazdko kontrolne dla klientów /dev/gpmdata Kolejka fifo zapisywana przez powielacz (opcja -R).
gpm-types(7) Opis aktualnych typów urządzeń wskazujących obsługiwanych przez gpm.
Plik info o gpm, który zawiera kompletne informacje i wyjaśnia jak napisać klienta gpm.
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Jarek Wołoszyn <yossa@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
luty 2002 | 4th Berkeley Distribution |