Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
gpm - una utilidad para cortar y pegar y un servidor de raton para las
consolas virtuales
SINOPSIS
gpm [ opciones ]
DESCRIPCI'ON
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 comando 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.
El servidor puede ser configurado segun las preferencias del usuario, y
cualquier aplicacion que utilice el raton seguira las preferencias
dictaminadas al servidor. Desde la version 1.02, el comportamiento del
raton puede ser reconfigurado por cada usuario que entre en la consola
del sistema. Vease la descripcion del parametro ``-q''.
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.
COMANDOS ESPECIALES
La version 1.10 introduce la capacidad de ejecutar comandos especiales
bajo ciertas circunstancias. Por defecto, estos comandos especiales son
rebotar y parar el sistema, pero el usuario puede especificar cualquier
otro comando. La posibilidad de invocar comandos 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.
Los comandos 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 el comando especial asociado al boton es ejecutado.
Los comandos especiales ejecutados 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 comandos habilita los comandos
especiales y permite modificar los tres especificados por defecto. Para
usar los comandos especiales propuestos por defecto, usar `-S ""' (es
decir, especificar un argumento vacio a -S). Para especificar otros
comandos, usar una lista separada por el caracter dos puntos (:) para
especificar los comandos asociados a los botones izquierdo, central y
derecho respectivamente. Si alguno de los comandos esta vacio, sera
interpretado como `enviar un signal al proceso init'. En vez de
ejecutar comandos externos, 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 los comandos especiales, ya que gpm se ejecuta con los
permisos del superusuario. Los comandos especiales estan pensados para
ordenadores donde el raton esta disponible unicamente para usuarios de
confianza.
OPCIONES DE LA L'INEA DE COMANDOS
Las opciones de la linea de comandos disponibles son las siguientes:
-a acel
Fija la aceleracion usada cuando se mueve el raton por un tiempo
superior a delta (ver -d)
-A Arranca el servidor con la opcion de pegar desactivada. Esta
opcion esta pensada como una medida de seguridad; un posible
ataque al sistema podria ser introducir un comando desagradable
en el buffer de seleccion (rm -rf /) incluyendo el retorno de
carro final, en este caso cualquier victima que pulsase el boton
central del raton .. Con el tiempo necesario, esperamos
desarrollar un mecanismo mas general de envejecimiento; el
demonio de gpm vaciara automaticamente el buffer de seleccion al
pasar un periodo de inactividad (edad). A partir de la version
1.15.7, se proporciona un programa trivial llamado "disable-
paste", que ejecuta "gpm -A -q". Esto es asi por que el ultimo
comando, al igual que "gpm -q" en general, necesita los
privilegios del superusuario; "disable-paste" se instala con el
bit de setuid activado hacia el superusuario. La siguiente
secuencia puede ser anadida en /etc/profile si se permite
trabajar a diversos usuarios en la consola.
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
Con dispositivos de planeo, emula el boton especificado con un
ligero golpe. El numero debe ser 1, 2 o 3, y se refiere al
numero antes que se haya remapeado con el parametro -B. Esta
opcion se aplica a los decodificadores mman y ps2. Por defecto,
no se emula ningun boton, 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 parametros de la linea de
comandos.
-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
Especifica la tabla de traduccion de inword(). El parametro
juego_de_caracteres es una lista de caracteres. "-" se usa para
especificar un rango y " como secuencia de escape del siguiente
caracter o para especificar codigos octales. Unicamente se
pueden especificar caracteres visibles, ya que los caracteres de
control no aparecen en la memoria de video en modo texto, una
vez que el texto seleccionado ha sido cortado.
-m nombre_de_fichero
Especifica el nombre del fichero correspondiente al raton. Por
defecto se coge /dev/mouse.
-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 lineas
Conmuta las lineas del modem. El argumento "lineas" puede ser
``dtr'', ``rts'' o ``both''. Este parametro es necesario para
algunos ratones extranos conectados a traves de la linea serie.
-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.
-q Acaba despues de cambiar el comportamiento del raton. Este
parametro esta pensado para permitir a los usuarios modificar el
estado del raton (-a, -B, -d, -i, -l, -p, -r, -V, -A) sin
rearrancar el servidor. Como este parametro requiere permisos de
superusuario, el administrador del sistema pueden usar los bits
de "setuid" para permitir su uso por parte de los usuarios. El
cambio de los parametros del raton esta solamente permitido
desde una de las consolas virtuales. Las opciones son
trasferidas unicamente al primer raton.
-r numero
Fija la sensibilidad del raton. Una sensibilidad mayor provoca
que el raton se mueva mas rapido.
-R Provoca que gpm se comporte como un repetidos: cualquier dato
recibido del raton mientras se esta en modo grafico sera
reenviado al fichero /dev/gpmdata, que se comporta como una cola
(fifo), siguiendo el protocolo "mouse-system". Esto significa
que se puede configurar el servidor X para que utilice este
fichero como dispositivo de raton. Este parametro es util para
los usuarios que posean un raton del tipo "bus-mouse", ya que
podran invalidar la limitacion de abrir unicamente un raton
(single-open). Tambien una manera sencilla de manejar esos
estupidos ratones con modo dual, que te obligan a mantener
apretado el boton central mientras se cambia el modo de video.
Este parametro se activa si se utiliza el parametro -M.
-s numero
Fija la velocidad de muestreo para el raton.
-S comandos
Permite los comandos especiales, y opcionalmente define los
comandos propios como una lista separada por el caracter dos
puntos (:). Ver mas arriba para una explicacion detallada de los
comandos especiales.
-t nombre
Especifica el tipo de raton. Usar "-t help" para obtener una
lista de los tipos de raton permitidos.
-v Imprime informacion sobre la version y acaba.
-V incremento de informacion
Especifica el nivel maximo de mensajes que seran mostrados. Asi,
un numero positivo tiene el efecto de incrementar el numero de
mensajes de informacion mostrados. Tambien se puede especificar
un valor negativo para silenciar el programa; sin embargo,
notese que debido a las reglas de getopt(3) , un valor negativo
debe ser especificado justo detras del parametro, sin ningun
espacio entre ellos (o sea, -V-1 pero no -V -1). El valor
numerico es opcional y su valor por defecto es 1.
-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.
iCuidado! si se utiliza el parametro -3 con ratones de dos
botones, no sera posible pegar la seleccion que se haya hecho.
MODO DE OPERACI'ON
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.
Los dobles y triples clics seleccionan toda la palabra y toda la linea
respectivamente. Se recomienda el uso de la opcion `-P' para obtener un
efecto visual mejor.
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.
Las versiones anteriores a la 1.0 de gpm tienen problemas con las
versiones 1.2.9 del kernel, ya que los clientes tienen que tener
permisos de escritura sobre /dev/gpmctl. Se deberia invocar chmod sobre
dicho nodo o instalar la version 1.0 o posteriores de gpm (si tienes
este documento, tienes la version actualizada)
AUTORES
Andrew Haylett <ajh@gec-mrc.co.uk> (el codigo de seleccion original)
Alessandro Rubini <rubini@linux.it> (nuevas caracteristicas)
Muchos, muchos colaboradores, tanto del paquete "selection" como de gpm.
MANTENIMIENTO
Desde la version 1.14 yo realizo exclusivamente el mantenimiento. Ian
Zimmerman y Prosa Inc respaldaran el desarrollo de gpm. El punto de
contacto oficial es actualmente la lista de correo gpm@animal.unipv.it,
gracias a mi Universidad, la cual generosamente acoge las discusiones
sobre gpm. La lista es gestionada por SmartList y todos sois
bienvenidos.
FICHEROS
/dev/mouse El dispositivo de raton por defecto
/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)
V'EASE TAMBI'EN
mev(1) Un ejemplo de cliente para el demonio gpm.
gpm-root(1) Un manejador para controlar los eventos
del raton.
El fichero de info sobre `gpm', el cual da informacion mas completa y
explica como construir un cliente de gpm.