如何为 Linux 虚拟控制台配置鼠标支持

我使用 Oracle VirtualBox 来测试各种类 Unix 操作系统。我的大多数虚拟机都是无头headless服务器,它们没有图形桌面环境。很长一段时间,我一直想知道如何在无头 Linux 服务器的基于文本的终端中使用鼠标。感谢 GPM,今天我了解到我们可以在虚拟控制台中使用鼠标进行复制和粘贴操作。 GPM,是通用鼠标General Purpose Mouse的首字母缩写,它是一个守护程序,可以帮助你配置 Linux 虚拟控制台的鼠标支持。请不要将 GPM 与 GDM(GNOME 显示管理器GNOME Display manager)混淆。两者有完全不同的用途。

GPM 在以下场景中特别有用:

  • 新的 Linux 服务器安装或默认情况下不能或不使用 X Windows 的系统,如 Arch Linux 和 Gentoo。
  • 在虚拟终端/控制台中使用复制/粘贴操作。
  • 在基于文本的编辑器和浏览器中使用复制/粘贴(例如,emacs、lynx)。
  • 在文本文件管理器中使用复制/粘贴(例如 Ranger、Midnight commander)。

在这个简短的教程中,我们将看到如何在类 Unix 操作系统中在基于文本的终端中使用鼠标。

 

安装 GPM

要在纯文本 Linux 系统中启用鼠标支持,请安装 GPM 包。它在大多数 Linux 发行版的默认仓库中都有。

在 Arch Linux 及其变体如 Antergos、Manjaro Linux 上,运行以下命令来安装 GPM:

  1. <span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> pacman </span><span class="pun">-</span><span class="pln">S gpm</span>

在 Debian、Ubuntu、Linux Mint 中:

  1. <span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> apt install gpm</span>

在 Fedora 上:

  1. <span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> dnf install gpm</span>

在 openSUSE 上:

  1. <span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> zypper install gpm</span>

安装后,使用以下命令启用并启动 GPM 服务:

  1. <span class="pln">$ </span><span class="kwd">sudo</span><span class="kwd">systemctl</span><span class="pln"> enable gpm</span>
  2. <span class="pln">$ </span><span class="kwd">sudo</span><span class="kwd">systemctl</span><span class="pln"> start gpm</span>

在基于 Debian 的系统中,gpm 服务将在你安装后自动启动,因此你无需如上所示手动启动服务。

 

为 Linux 虚拟控制台配置鼠标支持

无需特殊配置。GPM 将在你安装并启动 gpm 服务后立即开始工作。

在安装 GPM 之前,看下我的 Ubuntu 18.04 LTS 服务器的屏幕截图:

如何为 Linux 虚拟控制台配置鼠标支持

正如你在上面的截图中看到的,我的 Ubuntu 18.04 LTS 无头服务器中没有可见的鼠标指针。只有一个闪烁的光标,它不能让我选择文本,使用鼠标复制/粘贴文本。在仅限 CLI 的 Linux 服务器中,鼠标根本没用。

在安装 GPM 后查看 Ubuntu 18.04 LTS 服务器的以下截图:

如何为 Linux 虚拟控制台配置鼠标支持

看见了吗?我现在可以选择文字了。

要选择,复制和粘贴文本,请执行以下操作:

  • 要选择文本,请按下鼠标左键并拖动鼠标。
  • 选择文本后,放开鼠标左键,并按下中键在同一个或另一个控制台中粘贴文本。
  • 右键用于扩展选择,就像在 xterm 中。
  • 如果你使用的是双键鼠标,请使用右键粘贴文本。

就这么简单!

就像我已经说过的那样,GPM 工作得很好,并且不需要额外的配置。以下是 GPM 配置文件 /etc/gpm.conf(或在某些发行版中是 /etc/conf.d/gpm)的示例内容:

  1. <span class="com">#</span><span class="kwd">protected</span><span class="kwd">from</span><span class="pln"> evaluation </span><span class="pun">(</span><span class="pln">i</span><span class="pun">.</span><span class="pln">e</span><span class="pun">.</span><span class="pln"> by quoting them</span><span class="pun">).</span>
  2. <span class="com">#</span>
  3. <span class="com">#</span><span class="typ">This</span><span class="kwd">file</span><span class="kwd">is</span><span class="pln"> used by </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="kwd">init</span><span class="pun">.</span><span class="pln">d</span><span class="pun">/</span><span class="pln">gpm </span><span class="kwd">and</span><span class="pln"> can be modified by</span>
  4. <span class="com">#</span><span class="str">"dpkg-reconfigure gpm"</span><span class="kwd">or</span><span class="pln"> by hand at your option</span><span class="pun">.</span>
  5. <span class="com">#</span>
  6. <span class="pln">device</span><span class="pun">=</span><span class="str">/dev/</span><span class="pln">input</span><span class="pun">/</span><span class="pln">mice</span>
  7. <span class="pln">responsiveness</span><span class="pun">=</span>
  8. <span class="pln">repeat_type</span><span class="pun">=</span><span class="pln">none</span>
  9. <span class="pln">type</span><span class="pun">=</span><span class="pln">exps2</span>
  10. <span class="pln">append</span><span class="pun">=</span><span class="str">''</span>
  11. <span class="pln">sample_rate</span><span class="pun">=</span>

在我的例子中,我使用 USB 鼠标。如果你使用的是其他鼠标,则可能需要更改 device=/dev/input/micetype=exps2 参数的值。

有关更多详细信息,请参阅手册页。

  1. <span class="pln">$ </span><span class="kwd">man</span><span class="pln"> gpm</span>

就是这些了。希望这个有用。还有更多的好东西。敬请期待!

干杯!


via: https://www.ostechnix.com/how-to-configure-mouse-support-for-linux-virtual-consoles/

作者:SK 
选题:lujun9972 
译者:geekpi 
校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关推荐