Εγχειρίδια για τη γραμμή εντολών

Man » gpm Manual online - λεπτομερής διαδικτυακή τεκμηρίωση για τη σελίδα man gpm

🌍
gpm - ένα εργαλείο αντιγραφής-επικόλλησης και ένας διακομιστής ποντικιού για εικονικές κονσόλες

ΣΥΝΤΑΞΗ

gpm [ επιλογές ]

ΠΕΡΙΓΡΑΦΗ

Αυτό το πακέτο προσπαθεί να είναι ένας χρήσιμος διακομιστής ποντικιού για εφαρμογές που εκτελούνται στην κονσόλα Linux. Βασίζεται στο πακέτο "selection" και μέρος του κώδικά του προέρχεται από το ίδιο. Αυτό το πακέτο προορίζεται να αντικαταστήσει το "selection" ως μηχανισμό αντιγραφής-επικόλλησης. παρέχει επίσης επιπλέον δυνατότητες. Το πακέτο "selection" πρόσφερε την πρώτη υλοποίηση αντιγραφής-επικόλλησης για το Linux χρησιμοποιώντας δύο κουμπιά ποντικιού και η προσωρινή μνήμη αποκοπής ονομάζεται ακόμα "προσωρινή μνήμη επιλογής" ή απλά "επιλογή" σε όλο αυτό το έγγραφο. Οι παρακάτω πληροφορίες προέρχονται από το το αρχείο texinfo, το οποίο είναι η προτιμώμενη πηγή πληροφοριών.

Το εκτελέσιμο αρχείο \`gpm' προορίζεται να λειτουργεί σαν δαίμονας (επομένως, το \`gpmd' θα ήταν ένα καλύτερο όνομα για αυτό).

Αυτή η ενότητα προορίζεται να περιγράψει τις επιλογές γραμμής εντολών για το `gpm', ενώ η εσωτερική του λειτουργία περιγράφεται στην επόμενη ενότητα.

Λόγω περιορισμών στην κλήση συστήματος \`ioctl(TIOCLINUX)', το \`gpm' πρέπει να εκτελείται από τον χρήστη root.

Οι περιορισμοί προστέθηκαν στις τελευταίες εκδόσεις 1.1 του πυρήνα για να διορθωθεί μια τρύπα ασφαλείας που σχετίζεται με το selection και την αποτύπωση οθόνης.

Ο διακομιστής μπορεί να διαμορφωθεί ώστε να ταιριάζει στις προτιμήσεις του χρήστη και οποιαδήποτε εφαρμογή που χρησιμοποιεί το ποντίκι
θα κληρονομεί τη συμπεριφορά του διακομιστή. Από την έκδοση 1.02 έως και την 1.19.2, ήταν δυνατό για οποιονδήποτε χρήστη που συνδέεται στην κονσόλα του συστήματος να αλλάξει την αίσθηση του ποντικιού χρησιμοποιώντας την επιλογή -q. Αυτό δεν είναι πλέον δυνατό
για λόγους ασφαλείας.

Από την έκδοση 0.97, το πρόγραμμα διακομιστή τοποθετείται στο παρασκήνιο. Για να τερματίσετε το \`gpm', μπορείτε απλά να το επαναφέρετε με τη διακόπτη γραμμής εντολών \`-k', αν και η εντολή `killall gpm' μπορεί να είναι μια καλύτερη επιλογή.

ΕΙΔΙΚΕΣ ΕΝΤΟΛΕΣ

Η έκδοση 1.10 προσθέτει τη δυνατότητα εκτέλεσης ειδικών εντολών σε συγκεκριμένες περιπτώσεις. Οι ειδικές εντολές προεπιλέγονται για την επανεκκίνηση και τη διακοπή του συστήματος, αλλά ο χρήστης μπορεί να καθορίσει τη δική του προσωπική επιλογή. Η δυνατότητα επίκλησης εντολών χρησιμοποιώντας το ποντίκι είναι χρήσιμη για τους προγραμματιστές, επειδή επιτρέπει την έκδοση μιας καθαρής διακοπής λειτουργίας όταν το πληκτρολόγιο είναι κλειδωμένο και δεν υπάρχει διαθέσιμο δίκτυο για την επαναφορά του συστήματος σε μια λογική κατάσταση.

Οι ειδικές εντολές ενεργοποιούνται με τριπλό κλικ στο αριστερό και το δεξί κουμπί - ένα απίθανο γεγονός
κατά τη διάρκεια της κανονικής χρήσης του ποντικιού. Ο πιο εύκολος τρόπος για να κάνετε τριπλό κλικ είναι να πατήσετε ένα από τα κουμπιά και
να κάνετε τριπλό κλικ στο άλλο. Όταν ενεργοποιείται η ειδική επεξεργασία, εμφανίζεται ένα μήνυμα στην κονσόλα
(και το ηχείο εκπέμπει δύο μπιπ, εάν έχετε ηχείο). εάν ο χρήστης αφήσει όλα τα κουμπιά και
πατήσει ξανά ένα από αυτά μέσα σε τρία δευτερόλεπτα, τότε εκτελείται η ειδική εντολή που αντιστοιχεί στο
το κουμπί.

Οι προεπιλεγμένες ειδικές εντολές είναι:

αριστερό κουμπί

Επανεκκίνηση του συστήματος στέλνοντας σήμα στη διαδικασία init

μεσαίο κουμπί (εάν υπάρχει)

Εκτέλεση /sbin/shutdown -h now

δεξί κουμπί

Εκτέλεση /sbin/shutdown -r now

Η επιλογή γραμμής εντολών -S ενεργοποιεί την επεξεργασία ειδικών εντολών και επιτρέπει την αλλαγή των τριών ειδικών εντολών. Για να αποδεχτείτε τις προεπιλεγμένες εντολές, χρησιμοποιήστε -S "" (δηλαδή, καθορίστε μια κενή παράμετρο). Για να καθορίσετε τις δικές σας εντολές, χρησιμοποιήστε μια λίστα διαχωρισμένη με άνω και κάτω τελεία για να καθορίσετε εντολές που σχετίζονται με το αριστερό, μεσαίο και δεξί κουμπί. Εάν κάποια από τις εντολές είναι κενή, ερμηνεύεται ως "αποστολή σήματος στη διαδικασία init". Αυτή η συγκεκριμένη λειτουργία υποστηρίζεται, εκτός από την εκτέλεση εξωτερικών εντολών, επειδή μερικές φορές σοβαρά σφάλματα θέτουν το σύστημα σε μια κατάσταση όπου δεν είναι δυνατή η εκκίνηση νέων διεργασιών. Σε αυτές τις σπάνιες περιπτώσεις, ο προγραμματιστής θα πρέπει να είναι σε θέση να τερματίσει το σύστημα ούτως ή άλλως, και η διακοπή της διαδικασίας init από μια τρέχουσα διαδικασία είναι ο μόνος τρόπος για να το κάνει.

Ως παράδειγμα, `-S ":telinit 1:/sbin/halt"` συσχετίζει τη διακοπή της διαδικασίας init με το αριστερό κουμπί, την είσοδο σε λειτουργία ενός χρήστη με το μεσαίο κουμπί και την τερμάτιση του συστήματος με το δεξί κουμπί.

Οι διαχειριστές συστήματος θα πρέπει να είναι προσεκτικοί σχετικά με τις ειδικές εντολές, καθώς το gpm εκτελείται με δικαιώματα υπερχρήστη. Οι ειδικές εντολές είναι καλύτερα κατάλληλες για υπολογιστές των οποίων το ποντίκι μπορεί να προσπελαστεί φυσικά μόνο από αξιόπιστους χρήστες.

ΕΠΙΛΟΓΕΣ ΓΡΑΜΜΗΣ ΕΝΤΟΛΩΝ

Οι διαθέσιμες επιλογές γραμμής εντολών είναι οι ακόλουθες:

-a accel

Ορίστε την τιμή επιτάχυνσης που χρησιμοποιείται όταν μια ενιαία εκδήλωση κίνησης είναι μεγαλύτερη από το delta (δείτε -d).

-A[limit]

Ξεκινήστε με απενεργοποιημένη την αντιγραφή-επικόλληση. Αυτό προορίζεται ως μέτρο ασφαλείας. Μια πιθανή επίθεση σε ένα σύστημα είναι η εισαγωγή μιας κακόβουλης εντολής στο ρεπερτόριο (rm -rf /) συμπεριλαμβανομένου του τερματικού χαρακτήρα νέας γραμμής, και στη συνέχεια ο χρήστης απλώς κάνει κλικ στο μεσαίο κουμπί του ποντικιού. Από την έκδοση 1.17.2, αυτό έχει εξελιχθεί σε έναν πιο γενικό μηχανισμό γήρανσης. Το daemon gpm μπορεί να απενεργοποιήσει (να θέσει σε κατάσταση αναμονής) την αντιγραφή-επικόλληση αυτόματα μετά από μια περίοδο αδράνειας. Για να ενεργοποιήσετε αυτήν τη λειτουργία, απλώς δώστε την προαιρετική παράμετρο limit (χωρίς κενό ενδιάμεσα!), η οποία ερμηνεύεται ως ο χρόνος σε δευτερόλεπτα για τον οποίο μια επιλογή θεωρείται έγκυρη και μπορεί να επικολληθεί. Από την έκδοση 1.15.7, παρέχεται ένα απλό πρόγραμμα που ονομάζεται disable-paste. Το ακόλουθο μπορεί να αποτελέσει μια καλή προσθήκη στο /etc/profile εάν επιτρέπετε σε πολλούς χρήστες να εργάζονται στην κονσόλα σας.

`case $( /usr/bin/tty ) in
/dev/tty[0-9]*) /usr/bin/disable-paste ;;
esac`

-b baud

Ορίστε την ταχύτητα μετάδοσης.

-B sequence

Ορίστε την ακολουθία κουμπιών. Το 123 είναι η κανονική ακολουθία, το 321 μπορεί να χρησιμοποιηθεί από αριστερόχειρες και το 132 μπορεί να είναι χρήσιμο με ποντίκια δύο κουμπιών (ιδιαίτερα στο Emacs). Επιτρέπονται όλες οι μεταθέσεις κουμπιών.

-d delta

Ορίστε την τιμή delta. Όταν μια ενιαία εκδήλωση κίνησης είναι μεγαλύτερη από το delta, το accel χρησιμοποιείται ως πολλαπλασιαστής. (Πρέπει να είναι 2 ή μεγαλύτερο).


-D     Μην ξεκινά αυτόματα σε λειτουργία παρασκηνίου κατά την εκκίνηση και να καταγράφει μηνύματα στην τυπική έξοδο σφαλμάτων, όχι στον μηχανισμό syslog. Αυτό είναι χρήσιμο για τον εντοπισμό σφαλμάτων. στις προηγούμενες εκδόσεις, αυτό γινόταν με μια επιλογή κατά τη μεταγλώττιση.

-g αριθμός
Με συσκευές glidepoint, προσομοιώστε το καθορισμένο κουμπί με άγγιγμα. Ο αριθμός πρέπει να είναι `1`, `2` ή `3` και αναφέρεται στον αριθμό του κουμπιού πριν πραγματοποιηθεί η επανασύνδεση κουμπιών με το `-B`. Αυτή η επιλογή ισχύει για την αποκωδικοποίηση mman και ps2. Από προεπιλογή, δεν προσομοιώνεται κανένα κουμπί, επειδή η λειτουργία αγγίγματος ps2 είναι ασύμβατη με ορισμένα κανονικά ποντίκια ps2.

-h     Εκτυπώστε μια περίληψη των επιλογών γραμμής εντολών.

-i διάστημα
Ορίστε το διάστημα που θα χρησιμοποιηθεί ως ανώτατο χρονικό όριο για πολλαπλά κλικ. Εάν το διάστημα μεταξύ των γεγονότων "κουμπί προς τα πάνω" και "κουμπί προς τα κάτω" είναι μικρότερο από το όριο, η πίεση θεωρείται διπλό ή τριπλό κλικ. Ο χρόνος είναι σε χιλιοστά του δευτερολέπτου.

-k     Τερματίστε μια εκτελούμενη gpm. Αυτό μπορεί να χρησιμοποιηθεί από τους χρήστες του busmouse για να τερματίσουν την gpm πριν εκτελέσουν το X (εκτός εάν χρησιμοποιούν το `-R` ή η περιορισμός της μοναδικής ανοικτής σύνδεσης αφαιρείται από τον πυρήνα).

-l σύνολο χαρακτήρων
Επιλέξτε τον πίνακα αναζήτησης `inword()`. Το όρισμα σύνολο χαρακτήρων είναι μια λίστα χαρακτήρων. Το `\`-\` χρησιμοποιείται για τον καθορισμό ενός εύρους και το `\` \` χρησιμοποιείται για τη διαφυγή του επόμενου χαρακτήρα ή για την παροχή δεκαεξαδικών κωδικών. Μόνο ορατοί χαρακτήρες μπορούν να εμφανιστούν στο σύνολο χαρακτήρων, επειδή οι χαρακτήρες ελέγχου δεν μπορούν να εμφανιστούν στη μνήμη βίντεο σε λειτουργία κειμένου, από όπου γίνεται η επιλογή.

-m όνομα αρχείου
Επιλέξτε το αρχείο ποντικιού που θα ανοίξετε. Πρέπει να προηγείται των `-t` και `-o`.

-M     Ενεργοποιήστε τη λειτουργία πολλαπλών λειτουργιών. Το daemon θα διαβάζει δύο διαφορετικές συσκευές ποντικιού. Οποιαδήποτε επόμενη επιλογή θα αναφέρεται στη δεύτερη συσκευή, ενώ οποιαδήποτε προηγούμενη επιλογή θα χρησιμοποιηθεί για την πρώτη συσκευή. Αυτή η επιλογή επιβάλλει αυτόματα την επιλογή επαναλήπτη (`-R`).

-o λίστα-επιπλέον-επιλογών
Η επιλογή λειτουργεί παρόμοια με την επιλογή `\`-o\`` του mount. Χρησιμοποιείται για την καθορισμό μιας λίστας ``επιπλέον επιλογών`` που είναι συγκεκριμένες για κάθε τύπο ποντικιού. Η λίστα είναι διαχωρισμένη με κόμμα. Οι επιλογές `dtr`, `rts` ή `both` χρησιμοποιούνται από την αρχικοποίηση σειριακής σύνδεσης για την εναλλαγή των γραμμών modem, συμβατά με τις προηγούμενες εκδόσεις του gpm. Σημειώστε ωστόσο ότι η χρήση του `-o dtr` σε συνδυασμό με μη-απλούς τύπους ποντικιού σειριακής σύνδεσης μπορεί να δημιουργήσει σφάλμα. Και παρεμπιπτόντως, χρησιμοποιήστε το `-o` μετά τα `-m` και μετά τα `-t`.

-p     Αναγκάζει τον δείκτη να είναι ορατός κατά την επιλογή. Αυτή είναι η συμπεριφορά του `selection-1.7`, αλλά μερικές φορές είναι συγκεχυτική. Από προεπιλογή, ο δείκτης δεν εμφανίζεται, κάτι που μπορεί να είναι επίσης συγκεχυτικό.

-r αριθμός
Ορίστε την ευαισθησία ως ποσοστό της κίνησης (από 1 έως 100, προεπιλογή 10). Ένας μικρότερος αριθμός μπορεί να χρησιμοποιηθεί για την επιβράδυνση της κίνησης του δρομέα. Αυτό δεν μπορεί να χρησιμοποιηθεί για να κάνει ένα ποντίκι να κινείται πιο γρήγορα, δείτε το `-a`.

-R[όνομα]
Προκαλεί την `gpm` να λειτουργεί ως επαναλήπτης: οποιαδήποτε δεδομένα ποντικιού ληφθούν ενώ βρίσκεται σε γραφική λειτουργία θα παραχθούν στο fifo `/dev/gpmdata` στο όνομα πρωτοκόλλου, που δίνεται ως προαιρετικό όρισμα (χωρίς κενό ενδιάμεσα!). Κατά αρχήν, μπορείτε να χρησιμοποιήσετε τα ίδια ονόματα όπως για την επιλογή `-t`, αν και η επανάληψη σε ορισμένα πρωτόκολλα ενδέχεται να μην έχει υλοποιηθεί για λίγο. Επιπλέον, μπορείτε να καθορίσετε το `raw` ως όνομα, για να επαναλάβετε τα δεδομένα του ποντικιού byte προς byte, χωρίς καμία μετάφραση πρωτοκόλλου. Εάν το όνομα παραλειφθεί, ορίζεται από προεπιλογή σε `msc`. Χρησιμοποιώντας την gpm σε λειτουργία επαναλήπτη, μπορείτε να διαμορφώσετε τον διακομιστή X για να χρησιμοποιεί το fifo του ως συσκευή ποντικιού. Αυτή η επιλογή είναι χρήσιμη για τους κατόχους busmouse για να παρακάμψουν τον περιορισμό της μοναδικής ανοικτής σύνδεσης. Είναι επίσης ένας εύκολος τρόπος για να διαχειριστείτε αυτά τα ανόητα ποντίκια διπλής λειτουργίας, τα οποία σας αναγκάζουν να κρατάτε πατημένο το μεσαίο κουμπί κατά την αλλαγή λειτουργίας βίντεο. Η επιλογή επιβάλλεται από την επιλογή `-M`.

-s αριθμός

Ορίζει τον ρυθμό δειγματοληψίας για τη συσκευή ποντικιού.

-S εντολές

Ενεργοποιεί την επεξεργασία ειδικών εντολών και, προαιρετικά, καθορίζει προσαρμοσμένες εντολές ως μια λίστα που διαχωρίζεται με άνω και κάτω τελεία. Δείτε παραπάνω για μια λεπτομερή περιγραφή των ειδικών εντολών.

-t όνομα

Ορίζει τον τύπο ποντικιού. Χρησιμοποιήστε -t help για να λάβετε μια λίστα με τους επιτρεπόμενους τύπους. Χρησιμοποιήστε το -t αφού επιλέξετε τη συσκευή ποντικιού με το -m.

-v     Εμφανίζει πληροφορίες έκδοσης και τερματίζει.

-2     Επιβάλλει τη χρήση δύο κουμπιών. Αυτό σημαίνει ότι το μεσαίο κουμπί, εάν υπάρχει, θα θεωρείται ότι είναι το δεξί.

-3     Επιβάλλει τη χρήση τριών κουμπιών. Από προεπιλογή, το ποντίκι θεωρείται ότι έχει δύο κουμπιά, έως ότου πατηθεί το μεσαίο κουμπί. Εάν υπάρχουν τρία κουμπιά, το δεξί χρησιμοποιείται για την επέκταση της επιλογής και το μεσαίο για την επικόλληση. Προσοχή: εάν χρησιμοποιήσετε την επιλογή `-3` με ένα ποντίκι δύο κουμπιών, δεν θα μπορείτε να επικολλήσετε την επιλογή.

ΛΕΙΤΟΥΡΓΙΑ

Για να επιλέξετε κείμενο, πατήστε το αριστερό κουμπί του ποντικιού και σύρετέ το. Για να επικολλήσετε κείμενο στην ίδια ή σε άλλη κονσόλα, πατήστε το μεσαίο κουμπί. Το δεξί κουμπί χρησιμοποιείται για την επέκταση της επιλογής, όπως στο xterm.

Τα ποντίκια με δύο κουμπιά χρησιμοποιούν το δεξί κουμπί για την επικόλληση κειμένου.

Τα διπλά και τριπλά κλικ επιλέγουν ολόκληρες λέξεις και ολόκληρες γραμμές. Συνιστάται η χρήση της επιλογής -p για την καλύτερη οπτική ανάδραση.

Εάν υπάρχει ένας κενός χώρος μετά από το περιεχόμενο μιας γραμμής και δεν υπάρχει άλλο κείμενο στην υπόλοιπη γραμμή, το υπόλοιπο της γραμμής θα επιλεγεί αυτόματα. Εάν έχουν επιλεγεί πολλές γραμμές, οι κενές περιοχές στο τέλος κάθε γραμμής θα αφαιρεθούν από το ρυθμιστικό επιλογής.

Οποιαδήποτε έξοδος στην εικονική κονσόλα που περιέχει την επιλογή θα διαγράψει την επισημασμένη επιλογή από την οθόνη, για να διατηρήσει την ακεραιότητα της οθόνης, αν και το περιεχόμενο του ρυθμιστικού επικόλλησης θα παραμείνει αμετάβλητο.

Ο μηχανισμός επιλογής είναι απενεργοποιημένος εάν η εικονική κονσόλα που τον ελέγχει μεταφερθεί σε λειτουργία γραφικών, για παράδειγμα όταν εκτελείται το X11, και ενεργοποιείται ξανά όταν η λειτουργία κειμένου επαναφέρεται. (Αλλά δείτε την ενότητα ΣΦΑΛΜΑΤΑ παρακάτω.)

ΣΦΑΛΜΑΤΑ

Ο διακομιστής gpm ενδέχεται να έχει προβλήματα αλληλεπίδρασης με το X: εάν το ποντίκι σας είναι μια συσκευή απλού ανοιχτού κυκλώματος (δηλαδή, ένα ποντίκι διαύλου), θα πρέπει να τερματίσετε το gpm πριν ξεκινήσετε το X ή να χρησιμοποιήσετε την επιλογή -R (δείτε παραπάνω). Για να τερματίσετε το gpm, απλώς καλέστε το gpm -k. Αυτό το πρόβλημα δεν ισχύει για τα σειριακά ποντίκια.

Δεν μπορούν να εκτελούνται δύο περιπτώσεις του gpm στο ίδιο σύστημα. Εάν έχετε δύο ποντίκια, χρησιμοποιήστε την επιλογή -M (δείτε παραπάνω).


Ενώ η τρέχουσα κονσόλα είναι σε γραφική λειτουργία, το gpm αναστέλλεται μέχρι να επιστρέψει σε λειτουργία κειμένου (εκτός αν χρησιμοποιηθεί το -R). Επομένως, δεν θα απαντήσει σε αιτήματα από πελάτες. Ούτως ή άλλως, είναι απίθανο οι πελάτες που απαιτούν τη χρήση του ποντικιού να εμφανιστούν σε κρυφές κονσόλες.

Οι πελάτες που διανέμονται με το gpm δεν έχουν ενημερωθεί, επομένως υπάρχουν πιθανοί κίνδυνοι ασφαλείας κατά τη χρήση τους.

ΣΥΓΓΡΑΦΕΙΣ

Andrew Haylett <_> (ο αρχικός κώδικας επιλογής) Ian Zimmerman <_> (παλιός συντηρητής) Alessandro Rubini <_> (παλιός συντηρητής (συνεχίζει να βοηθά πολύ)) Nico Schottelius <_> (τρέχων συντηρητής)

Πολλοί συνεισέφεραν τόσο στον κώδικα επιλογής όσο και στο gpm.

ΣΥΝΤΗΡΗΤΕΣ

Ο τρέχων συντηρητής είναι ο Nico Schottelius. Αλλά χωρίς τη βοήθεια του Alessandro Rubini και της λίστας αλληλογραφίας, θα ήταν αδύνατο για μένα να συντηρήσω το gpm. Η λίστα αλληλογραφίας ανάπτυξης μπορεί να προσληφθεί στο _. Περισσότερες πληροφορίες για τη λίστα βρίσκονται στο αρχείο README, το οποίο περιλαμβάνεται στη διανομή πηγών του gpm.

ΑΡΧΕΙΑ

/var/run/gpm.pid Το PID της τρέχουσας διαδικασίας gpm
/dev/gpmctl Μια υποδοχή ελέγχου για πελάτες
/dev/gpmdata Το FIFO στο οποίο γράφει ένας δαίμονας αναμεταδότη (`-R`).

ΔΕΣ ΕΠΙΣΗΣ

gpm-types(7) Περιγραφή των τρεχόντων τύπων δεικτών που υποστηρίζονται από το gpm

Το αρχείο πληροφοριών σχετικά με το gpm, το οποίο παρέχει πιο πλήρεις πληροφορίες και εξηγεί τον τρόπο δημιουργίας ενός πελάτη gpm.