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 の設定

ブートスクリプト

blfs-bootscripts-20231119 パッケージに含まれる初期化スクリプト /etc/rc.d/init.d/gpm をインストールします。

make install-gpm

設定ファイル

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

/etc/sysconfig/mouse: このファイルは、利用するマウスデバイスの名称とプロトコルを定めます。 このファイルを生成するために、root ユーザーになって以下を実行します。

cat > /etc/sysconfig/mouse << "EOF"
# Begin /etc/sysconfig/mouse

MDEVICE="<yourdevice>"
PROTOCOL="<yourprotocol>"
GPMOPTS="<additional options>"

# End /etc/sysconfig/mouse
EOF

設定情報

MDEVICE, PROTOCOL, GPMOPTS の設定例は以下のとおりです。

MDEVICE="/dev/input/mice"
PROTOCOL="imps2"
GPMOPTS=""

どのようなプロトコルがあるかは、gpm -m [device] -t -help を実行することで一覧表示されます。 MDEVICE の設定は、利用しているマウスがどのようなタイプであるかにより決定します。 例えばシリアルマウスなら /dev/ttyS0 (Windows では COM1 になります)、USB マウスならよく /dev/ttyS0 となります。 また PS2 マウスなら /dev/psaux です。 GPMOPTS は、利用しているハードウェアに応じて、'すべての機能' を実現する設定を行います。

パッケージ構成

インストールプログラム: 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