GPM(8) System Manager's Manual GPM(8) NOMBRE gpm - una utilidad para cortar y pegar y un servidor de raton para las consolas virtuales SINOPSIS gpm [ opciones ] DESCRIPCION Este paquete intenta ser un servidor de raton util para las aplicaciones que se ejecutan en la consola de Linux. Esta basado en el paquete llamado "seleccion", y algunas partes de su codigo provienen de dicho paquete. Este paquete esta pensado para reemplazar el paquete "seleccion" como mecanismo de cortar y pegar; ademas ofrece mejoras adicionales. El paquete "seleccion" ofrecia una primera implementacion del metodo de cortar y pegar para Linux usando dos botones del raton, asi, la memoria intermedia usada al cortar todavia se sigue denominando buffer de seleccion o simplemente "seleccion" en este documento. La informacion contenida en este documento ha sido extraida del fichero de Texinfo, que es la fuente de informacion recomendada actualmente. El ejecutable de gpm actua como un demonio (asi que gpmd seria un nombre mas acertado para el). Esta seccion describe las opciones de la linea de ordenes de gpm, mientras que los detalles internos son comentados en la siguiente seccion. Debido a las restricciones impuestas por la llamada a sistema ioctl(TIOCLINUX), gpm debe ser ejecutado por el superusuario. Dichas restricciones fueron anadidas a partir de la version 1.1 del kernel para solucionar un agujero de seguridad relacionado con la seleccion 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 version 0.97, el servidor se pone a si mismo en segundo plano. Para matar el servidor gpm, simplemente se puede ejecutar con el parametro -k, de todas maneras, "killall gpm" puede ser otra solucion. ORDENES ESPECIALES La version 1.10 introduce la capacidad de ejecutar ordenes especiales bajo ciertas circunstancias. Por defecto, estas ordenes especiales son rebotar y parar el sistema, pero el usuario puede especificar cualquier otra orden. La posibilidad de invocar ordenes usando el raton es muy util para programadores, ya que permite rebotar o parar el sistema de manera ordenada cuando el teclado esta bloqueado y no hay red disponible para devolver el sistema a un estado consistente. Las ordenes 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 raton). La manera mas facil de realizar un triple clic es pulsar uno de los dos botones y hacer un triple clic sobre el otro. Cuando se ejecuta esta accion, 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 boton es ejecutado. Las ordenes especiales ejecutadas por defecto son: boton izquierdo: Rebotar el sistema mediante el envio de una senal al proceso init boton central (si existe): Ejecutar /sbin/shutdown -h now boton derecho: Ejecutar /sbin/shutdown -r now El parametro -S de la linea de ordenes habilita las ordenes especiales y permite modificar los tres especificados por defecto. Para usar las ordenes especiales propuestos por defecto, usar `-S ""' (es decir, especificar un argumento vacio a -S). Para especificar otras ordenes, usar una lista separada por el caracter dos puntos (:) para especificar las ordenes asociados a los botones izquierdo, central y derecho respectivamente. Si alguna de las ordenes esta vacio, sera interpretado como `enviar un signal al proceso init'. En vez de ejecutar ordenes externas, este comportamiento tan particular esta soportado por que algunas situaciones extranas pueden llevar al sistema a un estado tal que sea imposible ejecutar mas programas mediante la llamada a sistema fork(); ante esta improbable situacion, el usuario sera capaz de apagar el sistema de manera ordenada. Matar el proceso init desde un proceso que se este ejecutando es la unica manera de lograrlo. Como ejemplo, `-S ":telinit 1:/sbin/halt"', asocia el envio de la senal para matar al proceso init al boton izquierdo, pasar a modo monousuario al boton central, y parar el sistema al boton derecho. Evidentemente, los administradores del sistema tendran que ir con cuidado con las ordenes especiales, ya que gpm se ejecuta con los permisos del superusuario. Las ordenes especiales estan pensados para ordenadores donde el raton esta disponible unicamente para usuarios de confianza. OPCIONES DE LA LINEA DE COMANDOS Las opciones de la linea de ordenes disponibles son las siguientes: -a accel Fija la aceleracion usada cuando se mueve el raton por un tiempo superior a delta (ver -d). -A[limite] 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 util para los usuarios zurdos, y 132 puede ser util con los ratones que unicamente poseen dos botones (especialmente dentre de Emacs). Todas las permutaciones posibles son permitidas. -d delta Fija el valor delta. Cuando se mueve el raton por un tiempo superior a delta, el parametro acel es usado como factor multiplicativo. (Debe ser 2 o superior) -D No ejecutar automaticamente en segundo plano cuando el programa comienza, y mostrar los mensajes a la salida de error estandar y no mediante el mecanismo de syslog. Este parametro es util para corregir errores; en versiones anteriores, se hacia mediante una opcion en tiempo de compilacion. -g numero With glidepoint devices, emulate the specified button with tapping. number must be 1, 2, or 3, and refers to the button number before the -B button remapping is performed. This option applies to the mman and ps2 decoding. No button is emulated by default because the ps2 tapping is incompatible with some normal ps2 mice -h Imprime por pantalla un resumen de los parametros de la linea de ordenes. -i intervalo Fija el intervalo a usar como el limite superior para los clics multiples. Si el intervalo entre que se aprieta el boton y se suelta es menor que el limite, la pulsacion se considera como un doble o triple clic. El tiempo se mide en milisegundos. -k Mata un gpm que se este ejecutando. Este parametro puede ser usado si se posee un raton del tipo "busmouse" antes de entrar en Xwindow (a menos que se use -R o la limitacion de apertura unica (single-open) sea eliminada del nucleo del sistema operativo). -l juego_de_caracteres 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 multiple. El demonio leera dos dispositivos de raton diferentes. Cualquier opcion especificada a posteriori se referira al segundo dispositivo, mientras que las opciones especificadas a priori se referiran al primer dispositivo. Esta opcion automaticamente actica la opcion "repetir" (-R). -o list-of-extra-options The option works similary 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 ensenar el puntero, la cual cosa tambien puede confundir. -r numero Fija la sensibilidad del raton. Una sensibilidad mayor provoca que el raton se mueva mas rapido. -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 numero Fija la velocidad de muestreo para el raton. -S ordenes Permite las ordenes especiales, y opcionalmente define las ordenes propias como una lista separada por el caracter dos puntos (:). Ver mas arriba para una explicacion detallada de las ordenes especiales. -t nombre Set the mouse type. Use -t help to get a list of allowable types. Since version 1.18.1, the list also shows which protocols are available as repeaters (see -R above), by marking them with an asterisk ("*"). Use -t after you selected the mouse device with -m. -v Imprime informacion sobre la version y acaba. -2 Obliga a que el raton tenga dos botones. Esto significa que el boton central, si existe en el raton, se comportara exactamente igual que el boton de la derecha. -3 Obliga a que el raton tenga tres botones. Por defecto el raton se supone que tendra dos botones hasta que se pulsa el boton central. Si realmente existen los tres botones, el de la derecha es usado para extender la seleccion, y el central para pegarla. !Cuidado! si se utiliza el parametro -3 con ratones de dos botones, no sera posible pegar la seleccion que se haya hecho. MODO DE OPERACION Para seleccionar texto, pulsar el boton izquierdo y arrastrar el raton. Para pegar el texto seleccionado, en la misma u otra consola, pulsar el boton central. El boton derecho es usado para extender la seleccion, como en `xterm'. En los ratones de dos botones se utiliza el boton 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 oracion, y no hay ningun otro texto hasta el final de la linea, el resto de la linea sera seleccionado automaticamente. Si se selecciona un grupo de lineas, los espacios del final de cada linea seran eliminados del buffer de seleccion. Cualquier salida que se haga a la consola virtual que tenga una seleccion de texto marcada hara 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 seleccion no se vera afectado. El mecanismo de seleccion es desactivado si la consola virtual pasa a modo grafico, por ejemplo cuando se ejecuta X11, y se restaura cuando se vuelve a modo texto. (Ver la seccion de errores mas abajo) ERRORES El servidor gpm puede tener algunos problemas cuando interactua con las X: si el raton es un dispositivo de apertura unica (single-open), un raton del tipo "bus-mouse", por ejemplo, se deberia manar gpm antes de ejecutar las X, o usar la opcion "-R" (ver mas 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 opcion -M (ver mas arriba). Cuando la consola actual esta en modo grafico, gpm duerme hasta que se vuelve a modo texto (a menos que se especifique -R). Asi, no respondera a los clientes. De todas formas, es poco probable que los clientes que esten impacientes esperando al raton 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 (the original selection code) Ian Zimmerman (old maintainer) Alessandro Rubini (old maintainer (still helps a lot)) Nico Schottelius (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 ejecucion /dev/gpmctl Un enchufe (socket) de control para los clientes /dev/gpmdata La cola que se comporta como demonio repetidor (-R) VEASE TAMBIEN mev(1) Un ejemplo de cliente para el demonio gpm. gpm-root(1) Un manejador para controlar los eventos del raton. El archivo info sobre `gpm', el cual da una completa informacion y explica como escribir un cliente gpm. TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Javi Diaz Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . 4th Berkeley Distribution Febrero 2002 GPM(8)