Linux gpm命令详解|纯文本终端鼠标启用、复制粘贴超实用教程

1. 命令简介

gpm 是 Linux 系统下运行于虚拟控制台(文字终端模式)的鼠标服务器。它的主要功能是在没有图形界面的纯文本环境中,为虚拟控制台提供鼠标支持,允许用户使用鼠标进行文本的选择、复制和粘贴操作,极大地提升了文本终端下的交互效率。

2. 语法格式

bash

运行

gpm [选项]

通常,gpm 作为守护进程在系统启动时运行,其配置也常通过 /etc/gpm.conf 文件或启动脚本参数进行管理。

3. 常用选项及说明

表格

选项说明
-a <加速度>设置鼠标指针的移动加速度。值越高,鼠标移动越快。
-b <波特率>设置串口鼠标的波特率(例如 1200, 2400, 9600)。对于现代 USB 或 PS/2 鼠标通常无需设置。
-B <按键次序>设置鼠标按键的映射次序。格式为三个数字,代表左、中、右键的逻辑映射(例如 123 为默认顺序)。
-m <设备文件>指定要使用的鼠标设备文件。默认通常为 /dev/input/mice 或 /dev/psaux。
-t <鼠标类型>重要:指定鼠标的协议类型。常见类型有:ps2 (PS/2 鼠标), ms3 (Microsoft 三键鼠标), imps2 (IMPS/2 鼠标,常见于滚轮鼠标), exps2 (ExplorerPS/2) 等。
-k在启动时杀死(停止)任何已运行的 gpm 进程。
-R <名称>以指定的名称运行 gpm 替换(repeater)模式,用于将鼠标事件转发给客户端应用程序。
-D以调试模式运行,输出详细信息到标准错误输出,而不作为守护进程后台运行。
-h显示帮助信息。

4. 示例用法

示例 1:启动一个基本的 gpm 守护进程(使用自动检测,常见于 PS/2 鼠标)

bash

运行

gpm -m /dev/psaux -t ps2

此命令使用 /dev/psaux 设备文件,并指定鼠标类型为 ps2。

示例 2:启动 gpm 并指定 USB 鼠标(使用 IMPS/2 协议支持滚轮)

bash

运行

gpm -m /dev/input/mice -t imps2

对于大多数现代 USB 鼠标,/dev/input/mice 和 imps2 类型是常见配置。

示例 3:启动 gpm 并设置较高的鼠标移动加速度

bash

运行

gpm -t ps2 -a 3

将鼠标加速度设置为 3,使指针移动更灵敏。

示例 4:以调试模式运行,排查鼠标问题

bash

运行

gpm -t ms3 -D

此命令以调试模式运行,指定鼠标类型为 ms3,所有运行信息将直接输出到终端,便于查看错误或事件。

示例 5:停止当前运行的 gpm 服务

bash

运行

gpm -k

停止正在运行的 gpm 守护进程。

5. 注意事项

  • 鼠标类型 (-t):这是最关键的选项之一。如果类型指定错误,鼠标可能无法移动或按键无响应。如果不确定鼠标类型,可以尝试 ps2, imps2, exps2 等常见类型。
  • 运行环境:gpm 主要针对虚拟控制台(通过 Ctrl+Alt+F1 到 F6 切换的终端)。在图形界面下的终端模拟器(如 GNOME Terminal, Konsole)中,gpm 不起作用,因为这些环境使用图形系统的鼠标驱动。
  • 复制与粘贴: 复制:在控制台中按住左键拖动鼠标选择文本,所选文本会自动被 gpm 缓存。 粘贴:在控制台中单击鼠标中键(或同时按下左右键模拟中键),即可将缓存的文本粘贴到光标当前位置。
  • 系统集成:在现代 Linux 发行版中,gpm 服务通常由 systemd 或 SysVinit 脚本管理。可以通过 systemctl start gpm、systemctl stop gpm 或 /etc/init.d/gpm start 等命令来控制它,而不是直接运行 gpm 命令。其核心配置通常位于 /etc/gpm.conf。
  • 设备权限:确保运行 gpm 的用户(通常是 root)有权限读取指定的鼠标设备文件(如 /dev/input/mice)。