GPM(1) | General Commands Manual | GPM(1) |
gpm - kivágás és beillesztés segédprogram és egér szerver virtuális konzolokra
gpm [ options ]
Ez a csomag egy hasznos egérszerver próbál lenni Linux konzolon futó alkalmazások részére. A "selection" csomagon alapszik és a kód egy része is magából a selection-ből származik. Ez a csomag a "selection" kiváltására készült egyfajta kivág-és-beilleszt mechanizmusként de vannak további lehetőségei is. A "selection" csomag valósította meg elsőként a kivág-és-beilleszt funkciót Linuxon két egérgomb használatával és a kivágás puffer (cut buffer) neve még most is "selection buffer" ("kiválasztás puffer") vagy csak egyszerűen "selection" ("kiválasztás") ebben a dokumentumban. Az alábbi információk a texinfo fájlból származnak, ami az elsődleges információforrás.
A gpm program egy démonnak tekinthető (ezért a gpmd jobb név lenne neki). Ez a fejezet szándékszik leírni a gpm parancssori opcióit, míg a belső tulajdonságok a következő részekben körvonalazódnak. Gpm belső tulajdonságok.
Az ioctl(TIOCLINUX) redszerhívásban lévő szigorítások miatt a gpm-et a rendszeradminisztrátornak kell futtani. A szigorítások a legutóbbi 1.1-es kernelekbe kerültek be, egy a kiválasztással és a képernyő dump-pal kapcsolatban álló biztonsági rés javításaként.
A szerver a felhasználó izlése szerint konfigurálható és minden alkalmazás örökli a szerver viselkedését. Az 1.02 verziótól kezdődően az egér viselkedése újrakonfigurálható minden, konzolra történő felhasználói bejelentkezéskor. Lásd a ``-q'' Szerver Segélykérés leírását.
A 0.97 verziótól a szerver program a háttérbe került. A gpm megállítható a -k parancssori paraméterrel történő ismételt meghívással, bár a killall gpm jobb választás lehet.
Az 1.10 verzió megadja a lehetőséget a speciális parancsok végrehajtására bizonyos körülmények között. A speciális parancsok alapértelmezésben a rendszer újraindítása és leállítása, de a felhasználó a személyes kívánságát is meghatározhatja. A programok egérrel való elindítása hasznos a programozók számára, mert lehetővé teszi a tiszta lekapcsolást, ha a rendszer billentyűzet zárolódott és nincs használható hálózat, amivel a normális állapotot vissza lehetne állítani.
A speciális parancsok tripla jobb és bal gomb kattintással érhetőek el -- ami egy valószínűtlen esemény a normál egérhasználat mellett. A legegyszerűbb módszer a triplakattintásra az egyik gomb lenyomása és triplakattintás a másikon. Amikor speciális feldolgozás elindult, egy üzenet jelenik meg a konzolon (és kettőt sípol a hangszóró, ha van); ha a felhasználó elenged minden gombot és egyiket három másodpercen belül ismételten megnyomja, akkor a gombnak megfelelő speciális parancs végrehajtódik.
Az alapértelmezett speciális parancsok a következők:
A -S parancssori kapcsoló engedélyezi a speciális parancs végrehajtást és engedi meg a három speciális parancs változtatását. Az alapértelmezések elfogadásához a `-S ""' (azaz üres argumentumot kell megadni). A saját parancsok meghatározásához egy kettősponttal elválasztott listát kell megadni a bal, középső és jobb gombra vonatkozó hozzárendelésekről. Ha valamelyik parancs üres, akkor úgy lesz értelmezve, mint `send a signal to the init process' (`jelzés küldése az init processzhez'). Ez a külön művelet azért támogatott a külső programok végrehajtásán kívül mert néha hibák (bug-ok) a rendszernek lehetetlenné teszik az elágazást; ezekben a ritka esetekben a programozónak mindenképpen le kell tudni állítania a rendszert, és az init leállítása egy futó processzből az egyetlen lehetséges megoldás erre.
Például, `-S ":telinit 1:/sbin/halt"' hozzárendeli az init leállítását a bal gombhoz, egyfelhasználói módba kapcsolást a középsőhöz, és a rendszer leállítását a jobb gombhoz.
A rendszer adminisztrátornak nyilvánvalóan óvatosnak kell lenni a speciális parancsokkal, mivel a gpm superuser jogokkal fut. A speciális parancsok leginkább azoknál a számítógépeknél használhatók, amelyek egeréhez csak megbízható emberek férnek hozzá.
A rendelkezésre álló parancssori opciók a következők:
Szöveget kiválasztani a bal egérgomb lenyomásával és húzásával (bemeszeléssel) lehet. Szöveget ugyanarra vagy egy másik konzolra beilleszteni a középső gombbal lehet. A jobb gombbal bővíteni lehet a kijelölést, úgy mint az `xterm'-nél.
Kétgombos egér a jobb gombot használja beillesztésre.
Dupla és tripla kattintás egész szavakat és egész sorokat jelöl ki. A legjobb vizuális eredmény eléréséhez a `-P' opció használata javasolt.
Ha egy a sor tartalma után álló szóköz be van meszelve, és nincs más szöveg a sorban, akkor az egész sor automatikusan kijelölődik. Ha több sor van kijelölve, akkor a sorvégi szóközök törlődnek a kiválasztás pufferből minden sor végén.
A virtuális konzolra kerülő bármilyen kimenet törli a képernyőről a bemeszelést a képernyőtartalom sértetlensége érdekében, de a beillesztés puffer tartalma nem fog változni.
A kiválasztás mechanizmus le van tiltva, ha az irányító virtuális konzol grafikus módban van, például amikor az X11 fut, és újra engedélyezett, amikor szöveges módba visszatérünk. (Lásd az alábbi HIBÁK részt.)
A gpm szervernek problémái adódhatnak az X-el való együttműködés során: ha az egered egy egyszeres-megnyitású (single-open) eszköz (Pl. busz egér), akkor le kell állítanod a gpm-et az X indítása előtt, vagy használd a ``-R'' opciót (lásd fent). A gpm leállításához a gpm -k parancs használható. Ez a probléma nem fordulhat elő soros egérnél.
Két gpm nem futhat ugyanazon a rendszeren. Ha két egered van, akkor használd a ``-M'' opciót (lásd fent).
Ha az aktuális konzol grafikus módban van, akkor a gpm inaktív, amíg szöveges módba vissza nem áll (ha a -R nem használt), tehát nem válaszol a klienseknek. Mindenesetre nem valószínű, hogy az egérre vágyó kliensek kitörtetnének a rejtett konzolokra.
A pre-1.0 verziszámú gpm-nek problémái vannak a 1.2.9 vagy magasabb verziójú kernellel, mert a klienseknek írási jog kell a /var/run/gpmctl i-bögre (i-node-ra). Vagy a chmoddal kell irási jogot adni a bögnek (node-nak) vagy telepítenni kell a gpm 1.0 vagy későbbi verzióját (mivel neked meg van ez a dokumentum, neked meg van a frissített szoftver).
Andrew Haylett <ajh@gec-mrc.co.uk> (eredeti selection kód) Alessandro Rubini <rubini@ipvvis.unipv.it> (minden új szolgáltatás) A selection és a gpm sok-sok munkatársa.
/dev/mouse Az alapértelmezett egér eszköz /var/run/gpmpid A futó gpm folyamatazonosítója (PID) /var/run/gpmctl Egy control socket klienseknek. /dev/gpmdata Az `ismétlő' (`repeater') (-R) démon által írt fifo.
mev(1) Minta kliens gpm démonhoz. gpm-root(1) A Control-Mouse események kezelője.
A `gpm' -ről szóló infó fájl több, teljes információt ad és elmagyarázza hogyan lehet gpm klienst írni.
Horneczki Gábor <arthur@freemail.c3.hu>
February 1995 | 4th Berkeley Distribution |