Uso Oracle VirtualBox para probar varios sistemas operativos similares a Unix. La mayoría de mis máquinas virtuales son servidores sin cabeza que no tienen un entorno de escritorio gráfico. Durante mucho tiempo, me he estado preguntando cómo podemos usar el mouse en las terminales basadas en texto en servidores Linux sin cabeza. Gracias a GPM , hoy aprendí que podemos usar Mouse en consolas virtuales para operaciones de copiar y pegar. GPM , acrónimo de G general P propósito M ouse, es un demonio que le ayuda a configurar la compatibilidad con el mouse para las consolas virtuales de Linux. No confunda GPM con GDM (Administrador de pantalla GNOME). Ambos tienen un propósito completamente diferente.
GPM es especialmente útil en los siguientes escenarios:
- Instalaciones de servidores Linux nuevos o para sistemas que no pueden o no usan un sistema X windows por defecto, como Arch Linux y Gentoo.
- Utilice operaciones de copiar/pegar en las terminales/consolas virtuales.
- Utilice copiar/pegar en editores y navegadores basados en texto (p. ej., emacs, lynx).
- Utilice copiar/pegar en administradores de archivos de texto (p. ej., Ranger, comandante de medianoche).
En este breve tutorial, vamos a ver cómo usar Mouse en terminales basados en texto en sistemas operativos tipo Unix.
Instalar GPM en Linux
Para habilitar la compatibilidad con el mouse en los sistemas Linux de solo texto, instale el paquete GPM. Está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux.
En Arch Linux y sus variantes como Manjaro Linux, ejecute el siguiente comando para instalar GPM:
$ sudo pacman -S gpm
En Debian, Ubuntu, Linux Mint:
$ sudo apt install gpm
En Fedora:
$ sudo dnf install gpm
En openSUSE:
$ sudo zypper install gpm
Una vez instalado, habilite e inicie el servicio GPM usando los siguientes comandos:
$ sudo systemctl enable gpm
$ sudo systemctl start gpm
En los sistemas basados en Debian, el servicio gpm se iniciará automáticamente después de que lo instale, por lo que no es necesario que inicie manualmente el servicio como se muestra arriba.
Configurar la compatibilidad con mouse para consolas virtuales de Linux
No se requiere ninguna configuración especial. GPM comenzará a funcionar tan pronto como lo instale e inicie el servicio gpm.
Eche un vistazo a la siguiente captura de pantalla de mi servidor Ubuntu 18.04 LTS antes de instalar GPM:
CLI de Ubuntu 18.04 antes de instalar GPM
Como puede ver en la captura de pantalla anterior, no hay un puntero de mouse visible en mi servidor sin cabeza Ubuntu 18.04 LTS. Solo un cursor parpadeante y no me permite seleccionar un texto, copiar/pegar texto con el mouse. En los servidores Linux solo CLI, el mouse no es útil en absoluto.
Ahora revise la siguiente captura de pantalla del servidor Ubuntu 18.04 LTS después de instalar GPM:
Configurar la compatibilidad con mouse para consolas virtuales de Linux mediante GPM
¿Ver? Ahora puedo seleccionar el texto.
Para seleccionar, copiar y pegar texto, haga lo siguiente:
- Para seleccionar texto, presione el botón izquierdo del mouse y arrastre el mouse.
- Una vez que haya seleccionado el texto, suelte el botón izquierdo del mouse y pegue el texto en la misma u otra consola presionando el botón central del mouse.
- El botón derecho se usa para ampliar la selección, como en `xterm'.
- Si usa un mouse de dos botones, use el botón derecho para pegar texto.
¡Es así de simple!
Como ya dije, GPM funciona bien y no se necesita configuración adicional. Este es el contenido de muestra del archivo de configuración de GPM /etc/gpm.conf (o /etc/conf.d/gpm
en algunas distribuciones):
# protected from evaluation (i.e. by quoting them). # # This file is used by /etc/init.d/gpm and can be modified by # "dpkg-reconfigure gpm" or by hand at your option. # device=/dev/input/mice responsiveness= repeat_type=none type=exps2 append='' sample_rate=
En mi ejemplo, uso un mouse USB. Si usa un mouse diferente, es posible que deba cambiar los valores de device=/dev/input/mice y tipo=exps2 parámetros.
Para obtener más detalles, consulte las páginas man.
$ man gpm