GPM-1.20.7

GPM の概要

GPM (General Purpose Mouse daemon; 汎用的なマウスデーモン) パッケージは、コンソールや xterm に対してのマウスサーバーです。 通常は単にカット&ペーストの機能を提供するだけでなく、 Links などのさまざまなアプリケーションにて、マウスサポートを提供するためにこのライブラリが用いられます。 デスクトップ操作において、そして特に (Beyond) Linux From Sratch の手順実現の際に、複数の画面間にてコピーペースト操作を行うのに便利です。 これをすべて入力していくことに比べれば、誤りが少なく済みます。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

Additional Downloads

GPM Dependencies

Optional

texlive-20230313 (for documentation)

カーネルの設定

カーネル設定における以下のオプションを有効にして、必要に応じてカーネルを再ビルドしてください。

Device Drivers --->
  Input device support --->
    -*-   Generic input layer (needed for keyboard, mouse, ...)          [INPUT]
    <*/M>   Mouse interface                                     [INPUT_MOUSEDEV]

GPM のインストール

以下のコマンドを実行して GPM をビルドします。

patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch                &&
./autogen.sh                                                    &&
./configure --prefix=/usr --sysconfdir=/etc ac_cv_path_emacs=no &&
make

If texlive-20230313 is installed, build the GPM manual as dvi, ps, and pdf formats:

make -C doc gpm.{dvi,ps} &&
dvipdfm doc/gpm.dvi -o doc/gpm.pdf

このパッケージにテストスイートはありません。

root ユーザーになって以下を実行します。

make install                                          &&

install-info --dir-file=/usr/share/info/dir           \
             /usr/share/info/gpm.info                 &&

rm -fv /usr/lib/libgpm.a                              &&
ln -sfv libgpm.so.2.1.0 /usr/lib/libgpm.so            &&
install -v -m644 conf/gpm-root.conf /etc              &&

install -v -m755 -d /usr/share/doc/gpm-1.20.7/support &&
install -v -m644    doc/support/*                     \
                    /usr/share/doc/gpm-1.20.7/support &&
install -v -m644    doc/{FAQ,HACK_GPM,README*}        \
                    /usr/share/doc/gpm-1.20.7

If texlive-20230313 is installed and you've built GPM manual as dvi, ps, and pdf formats, install them as the root user:

install -vm644 doc/gpm.{dvi,ps,pdf} /usr/share/doc/gpm-1.20.7

コマンド説明

./autogen.sh: このコマンドにより、まだ生成されていない configure スクリプトを生成します。

ac_cv_path_emacs=no: This variable works around an issue causing the package fail to build with Emacs-29.1 installed. It also suppresses the installations of some Emacs support files shipped with GPM. These files are quite outdated and they should be superseded with Emacs-29.1 built-in GPM support. If you need to use Emacs-29.1 in Linux console with mouse support, you should install (or reinstall) Emacs-29.1 after GPM.

install-info ...: 本パッケージは .info ファイルをインストールしますが、dir ファイルまでは更新しません。 このコマンドによって更新が行われるようにします。

ln -v -sfn libgpm.so.2.1.0 /usr/lib/libgpm.so: このコマンドはライブラリに対しての .so シンボリックリンクを作成 (または更新) します。

GPM の設定

Systemd Unit

To start the gpm daemon at boot, install the systemd unit from the blfs-systemd-units-20231205 package by running the following command as the root user:

make install-gpm

設定ファイル

/etc/gpm-root.conf~/.gpm-root: デフォルトの設定ファイル、および各ユーザーごとの gpm-root 設定ファイル。

設定情報

GPM is by default started with the following parameters: -m /dev/input/mice -t imps2. If the mentioned parameters don't suit your needs, you can override them by running the following commands as the root user:

install -v -dm755 /etc/systemd/system/gpm.service.d &&
cat > /etc/systemd/system/gpm.service.d/99-user.conf << EOF
[Service]
ExecStart=/usr/sbin/gpm <list of parameters>
EOF

パッケージ構成

インストールプログラム: disable-paste, display-buttons, display-coords, get-versions, gpm, gpm-root, hltest, mev, mouse-test
インストールライブラリ: libgpm.so
インストールディレクトリ: /usr/share/doc/gpm-1.20.7

概略説明

disable-paste

is a security mechanism used to disable the paste buffer

display-buttons

is a simple program that reports the mouse buttons being pressed and released

display-coords

is a simple program that reports the mouse coordinates

get-versions

is used to report the GPM library and server versions

gpm

is a cut and paste utility and mouse server for virtual consoles

gpm-root

is a default handler for gpm. It is used to draw menus on the root window

hltest

is a simple sample application using the high-level library, meant to be read by programmers trying to use the high-level library

mev

is a program to report mouse events

mouse-test

is a tool for determining the mouse type and device it's attached to

libgpm.so

contains the API functions to access the GPM daemon