GPM(8)

NOMBRE
gpm - una utilidad para cortar y pegar y un servidor de ratón para las consolas virtuales

SINOPSIS
gpm [ opciones ]

DESCRIPCIÓN
Este paquete intenta ser un servidor de raton útil para las aplicaciones que se ejecutan en la consola de Linux. Está basado en el paquete llamado "selección", y algunas partes de su código provienen de dicho paquete. Este paquete está pensado para reemplazar el paquete "selección" como mecanismo de cortar y pegar; además ofrece mejoras adicionales. El paquete "seleccion" ofrecía una primera implementación del método de cortar y pegar para Linux usando dos botones del ratón, así, la memoria intermedia usada al cortar todavía se sigue denominando buffer de selección o simplemente "selección" en este documento. La información contenida en este documento ha sido extraida del fichero de Texinfo, que es la fuente de información recomendada actualmente.

El ejecutable de gpm actúa como un demonio (así que gpmd sería un nombre más acertado para él). Esta sección describe las opciones de la línea de órdenes de gpm, mientras que los detalles internos son comentados en la siguiente sección.

Debido a las restricciones impuestas por la llamada a sistema ioctl(TIOCLINUX), gpm debe ser ejecutado por el superusuario. Dichas restricciones fueron añadidas a partir de la versión 1.1 del kernel para solucionar un agujero de seguridad relacionado con la selección y el vaciado de memoria en pantalla.

The server can be configured to match the user's taste, and any application using the mouse will inherit the server's attitude. From release 1.02 up to 1.19.2 is was possible for any user logged on the system console to change the mouse feeling using the -q option. This is no longer possible for security reasons.

Igualmente, desde la versión 0.97, el servidor se pone a si mismo en segundo plano. Para matar el servidor gpm, simplemente se puede ejecutar con el parámetro -k, de todas maneras, "killall gpm" puede ser otra solución.

ÓRDENES ESPECIALES

La versión 1.10 introduce la capacidad de ejecutar órdenes especiales bajo ciertas circunstancias. Por defecto, estas órdenes especiales son rebotar y parar el sistema, pero el usuario puede especificar cualquier otra orden. La posibilidad de invocar órdenes usando el ratón es muy útil para programadores, ya que permite rebotar o parar el sistema de manera ordenada cuando el teclado está bloqueado y no hay red disponible para devolver el sistema a un estado consistente.

Las órdenes especiales son ejecutados haciendo un triple clic sobre los botones izquierdo y derecho a la vez (un evento poco probable durante el uso normal del ratón). La manera más fácil de realizar un triple clic es pulsar uno de los dos botones y hacer un triple clic sobre el otro. Cuando se ejecuta esta acción, se pasa a un modo de trabajo especial, un mensaje aparece en la consola y el altavoz del sistema emite dos pitidos (si se tiene altavoz); si el usuario suelta todos los botones y pulsa otra vez sobre uno de ellos antes de tres segundos, entonces la orden especial asociado al botón es ejecutado.

Las órdenes especiales ejecutadas por defecto son:

botón izquierdo:
    Rebotar el sistema mediante el envío de una señal al proceso init

botón central (si existe):
    Ejecutar `/sbin/shutdown -h now'

botón derecho:
    Ejecutar `/sbin/shutdown -r now'

El parámetro -S de la línea de órdenes habilita las órdenes especiales y permite modificar los tres especificados por defecto. Para usar las órdenes especiales propuestos por defecto, usar `-S ""' (es decir, especificar un argumento vacío a -S). Para especificar otras órdenes, usar una lista separada por el carácter dos puntos (:) para especificar las órdenes asociados a los botones izquierdo, central y derecho respectivamente. Si alguna de las órdenes está vacía, será interpretado como `enviar un signal al proceso init'. En vez de ejecutar órdenes externas, este comportamiento tan particular está soportado por que algunas situaciones extrañas pueden llevar al sistema a un estado tal que sea imposible ejecutar más programas mediante la llamada a sistema fork(); ante esta improbable situación, el usuario será capaz de apagar el sistema de manera ordenada. Matar el proceso init desde un proceso que se esté ejecutando es la única manera de lograrlo.

Como ejemplo, `-S ":telinit 1:/sbin/halt"', asocia el envío de la señal para matar al proceso init al botón izquierdo, pasar a modo monousuario al botón central, y parar el sistema al botón derecho.

Evidentemente, los administradores del sistema tendrán que ir con cuidado con las órdenes especiales, ya que gpm se ejecuta con los permisos del superusuario. Las órdenes especiales están pensados para ordenadores donde el ratón está disponible únicamente para usuarios de confianza.

OPCIONES DE LA LÍNEA DE ÓRDENES

Las opciones de la línea de órdenes disponibles son las siguientes:

-a acel
    Fija la aceleración usada cuando se mueve el ratón por un tiempo superior a delta (ver "-d")

-A[límite]
    Start up with selection pasting disabled. This is intended as a security measure; a plausible attack on a system seems to be to stuff a nasty shell command into the selection buffer (`rm -rf /') including the terminating line break, then all the victim has to do is click the middle mouse button .. As of version 1.17.2, this has developed into a more general aging mechanism; the gpm daemon can disable (age) selection pasting automatically after a period of inactivity. To enable this mode just give the optional limit parameter (no space in between !) which is interpreted as the time in seconds for which a selection is considered valid and pastable. As of version 1.15.7, a trivial program called `disable-paste' is provided. The following makes a good addition to `/etc/profile' if you allow multiple users to work on your console.

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

-b baudios
    Fija la velocidad en baudios.

-B secuencia
    Fija la secuencia de los botones. “123” es la secuencia normal, “321” puede ser útil para los usuarios zurdos, y “132”puede ser útil con los ratones que únicamente poseen dos botones (especialmente dentre de Emacs). Todas las permutaciones posibles son permitidas.

-d delta
    Fija el valor delta. Cuando se mueve el ratón por un tiempo superior a delta, el parámetro acel es usado como factor multiplicativo. (Debe ser 2 o superior)

-D  No ejecutar automáticamente en segundo plano cuando el programa comienza, y mostrar los mensajes a la salida de error estándar y no mediante el mecanismo de syslog. Este parámetro es útil para corregir errores; en versiones anteriores, se hacía mediante una opción en tiempo de compilación.

-g número
    Con dispositivos de planeo, emula el botón especificado con un ligero golpe. El número debe ser 1, 2 o 3, y se refiere al número antes que se haya remapeado con el parámetro -B. Esta opción se aplica a los decodificadores mman y ps2. Por defecto, no se emula ningún botón, ya que el efecto de golpe ligero en los dispositivos ps2 es incompatible con algunos ratones ps2 normales.

-h  Imprime por pantalla un resumen de los parámetros de la línea de órdenes.

-i intervalo
    Fija el intervalo a usar como el límite superior para los clics múltiples. Si el intervalo entre que se aprieta el botón y se suelta es menor que el límite, la pulsación se considera como un doble o triple clic. El tiempo se mide en milisegundos.

-k  Mata un gpm que se esté ejecutando. Este parámetro puede ser usado si se posee un ratón del tipo "busmouse" antes de entrar en Xwindow (a menos que se use -R o la limitación de apertura única (single-open) sea eliminada del núcleo del sistema operativo).

-l juego_de_carácteres
    Choose the `inword()' look up table. The charset argument is a list of characters. `-' is used to specify a range and `\ ' is used to escape the next character or to provide octal codes. Only visible character can appear in charset because control characters can't appear in text-mode video memory, whence selection is cut.

-m nombre_de_fichero
    Choose the mouse file to open. Must be before -t and -o.

-M  Activa el modo múltiple. El demonio leera dos dispositivos de ratón diferentes. Cualquier opción especificada a posteriori se referirá al segundo dispositivo, mientras que las opciones especificadas a priori se referirán al primer dispositivo. Esta opción automáticamente actica la opción “repetir” (-R).

-o list-of-extra-options
    The option works similarly to the “-o” option of mount; it is used to specify a list of “extra options” that are specific to each mouse type. The list is comma-separated. The options `dtr', `rts' or `both' are used by the serial initialization to toggle the modem lines like, compatibly with earlier gpm versions; note however that using -o dtr associated with non-plain-serial mouse types may now generate an error. And by the way, use -o after -m and after -t.

-p  Especifica que el puntero sea visible mientras se selecciona. Este es el comportamiento de selection-1.7, pero a veces confunde. El comportamiento por defecto es no enseñar el puntero, la cual cosa tambien puede confundir.

-r número
    Set the responsiveness as a percentage of motion (1 to 100, default 10). A lower number can be used to slow down cursor motion, this can not be used to make a mouse move faster, see `-a'.

-R[nombre]
    Causes `gpm' to act as a repeater: any mouse data received while in graphic mode will be produced on the fifo `/dev/gpmdata' in protocol name, given as an optional argument (no space in between !). In principle, you can use the same names as for the `-t' option, although repeating into some protocols may not be implemented for a while. In addition, you can specify `raw' as the name, to repeat the mouse data byte by byte, without any protocol translation. If name is omitted, it defaults to `msc'. Using gpm in repeater mode, you can configure the X server to use its fifo as a mouse device. This option is useful for bus-mouse owners to override the single-open limitation. It is also an easy way to manage those stupid dual-mode mice which force you to keep the middle button down while changing video mode. The option is forced on by the `-M' option.

-s número
    Fija la velocidad de muestreo para el ratón.

-S órdeness
    Permite las órdenes especiales, y opcionalmente define las órdenes propias como una lista separada por el carácter dos puntos (:). Ver más arriba para una explicación detallada de las órdenes especiales.

-t nombre
    Set the mouse type. Use `-t help' to get a list of allowable types. Use -t after you selected the mouse device with -m.

-v  Imprime información sobre la versión y acaba.

-2  Obliga a que el ratón tenga dos botones. Esto significa que el botón central, si existe en el ratón, se comportará exactamente igual que el botón de la derecha.

-3  Obliga a que el ratón tenga tres botones. Por defecto el ratón se supone que tendrá dos botones hasta que se pulsa el botón central. Si realmente existen los tres botones, el de la derecha es usado para extender la selección, y el central para pegarla. ¡Cuidado! si se utiliza el parámetro -3 con ratones de dos botones, no será posible pegar la selección que se haya hecho.

MODO DE OPERACIÓN

Para seleccionar texto, pulsar el botón izquierdo y arrastrar el ratón. Para pegar el texto seleccionado, en la misma u otra consola, pulsar el botón central. El botón derecho es usado para extender la selección, como en `xterm'.

En los ratones de dos botones se utiliza el botón derecho para pegar el texto seleccionado.

Double and triple clicks select whole word and whole lines. Use of the `-p' option is recommended for best visual feedback.

Si se selecciona un espacio en blanco al final de una oración, y no hay ningún otro texto hasta el final de la línea, el resto de la línea será seleccionado automáticamente. Si se selecciona un grupo de líneas, los espacios del final de cada línea serán eliminados del buffer de selección.

Cualquier salida que se haga a la consola virtual que tenga una selección de texto marcada hará que la marca de texto seleccionado sea eliminada de la pantalla a fin de mantener la integridad de la misma, aunque el contenido del buffer de selección no se verá afectado.

El mecanismo de selección es desactivado si la consola virtual pasa a modo gráfico, por ejemplo cuando se ejecuta X11, y se restaura cuando se vuelve a modo texto. (Ver la sección de errores más abajo)

ERRORES
El servidor gpm puede tener algunos problemas cuando interactúa con las X: si el ratón es un dispositivo de apertura única (single-open), un ratón del tipo "bus-mouse", por ejemplo, se debería manar gpm antes de ejecutar las X, o usar la opción “-R” (ver más arriba). Para matar al servidor gpm simplemente invocar gpm -k. Este problema no es aplicable a ratones conectados al puerto serie.

Dos instancias de gpm no pueden ejecutarse en el mismo sistema. Si se dispone de dos ratones, usar la opción “-M” (ver más arriba).

Cuando la consola actual está en modo gráfico, gpm duerme hasta que se vuelve a modo texto (a menos que se especifique -R). Así, no responderá a los clientes. De todas formas, es poco probable que los clientes que estén impacientes esperando al ratón molesten en las consolas distintas a la actual.

The clients shipped out with gpm are not updated, thus there are potential security risks when using them.

AUTORES
Andrew Haylett <ajh@gec-mrc.co.uk> (the original selection code)
Ian Zimmerman <itz@speakeasy.org> (old maintainer)
Alessandro Rubini <rubini@linux.it> (old maintainer (still helps a lot))
Nico Schottelius <nico@schottelius.org> (maintainer)

Muchos, muchos colaboradores, tanto del paquete "selection" como de gpm.

MANTENIMIENTO

The current maintainer is Nico Schottelius. But without the help of Alessandro Rubini and the mailing list it would be impossible for me to maintain gpm. The development mailing list can be reached under gpm@lists.linux.it. More information on the list is in the README file part of the source distribution of gpm.

ARCHIVOS
/var/run/gpm.pid  El PID del servidor gpm en ejecución
/dev/gpmctl       Un enchufe (socket) de control para
                  los clientes
/dev/gpmdata      La cola que se comporta como demonio
                  repetidor (-R)

VÉASE TAMBIÉN
 gpm-types(7)  Description of current pointer types supported by gpm

El fichero info sobre `gpm', el cual da una completa información y explica como escribir un cliente gpm.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Javi Diaz <javid@si.upc.es>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.