Introduction to GPM
The GPM (General Purpose Mouse daemon)
package contains a mouse server for the console and
xterm. It not only provides cut and paste support
generally, but its library component is used by various software such as
Links to provide mouse support to the
application. It is useful on desktops, especially if following (Beyond)
Linux From Scratch instructions; it's often much easier (and less error
prone) to cut and paste between two console windows than to type
everything by hand!
Package Information
Additional Downloads
GPM Dependencies
Optional
"texlive" (for documentation)
Kernel Configuration
Enable the following option in the kernel configuration and recompile the
kernel if necessary:
Installation of GPM
Prepare GPM by running the following commands:
patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch
patch -Np1 -i ../gpm-1.20.7-gcc15_fixes-1.patch
./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc ac_cv_path_emacs=no
make
This package does not come with a test suite.
Now, as the root user:
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.7Command Explanations
./autogen.sh: This command creates the missing
configure script.
ac_cv_path_emacs=no: This variable works around
an issue causing the package fail to build with 'emacs' 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' built-in GPM support. If you need to use 'emacs' in Linux console
with mouse support, you should install (or reinstall) 'emacs'
after GPM.
install-info ...: This package installs a
.info file, but does not update
the system dir file. This command makes the update.
ln -v -sfn libgpm.so.2.1.0 /usr/lib/libgpm.so: This
command is used to create (or update) the .so symlink to the library.
Configuring GPM
Systemd Unit
To start the gpm daemon at boot,
install the systemd unit from the "systemd-units"
package by running the following command as the
root user:
make install-gpm
Config Files
/etc/gpm-root.conf and
~/.gpm-root: The default and individual user
gpm-root configuration files.
Configuration Information
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
Contents
Installed Programs: disable-paste, display-buttons, display-coords, get-versions, gpm,
gpm-root, hltest, mev, and mouse-test
Installed Library: libgpm.so
Installed Directory: /usr/share/doc/gpm-1.20.7
Short Descriptions
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
|