glfs/general/sysutils/gpm.xml
Randy McMurchy fada5158fb Fixed broken download URLs in the Transcode, GPM and FOP instructions (also corrected a bad commit to the ESP Ghostscript instructions)
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@6478 af4574ff-66df-0310-9fd7-8a98e5e911e0
2007-01-28 19:22:28 +00:00

298 lines
10 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Inserted as a reminder to do this. The mention of a test suite
is usually right before the root user installation commands. Please
delete these 12 (including one blank) lines after you are done.-->
<!-- Use one of the two mentions below about a test suite,
delete the line that is not applicable. Of course, if the
test suite uses syntax other than "make check", revise the
line to reflect the actual syntax to run the test suite -->
<!-- <para>This package does not come with a test suite.</para> -->
<!-- <para>To test the results, issue: <command>make check</command>.</para> -->
<!ENTITY gpm-download-http "http://ftp.schottelius.org/pub/linux/gpm/gpm-&gpm-version;.tar.bz2">
<!ENTITY gpm-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/gpm-&gpm-version;.tar.bz2">
<!ENTITY gpm-md5sum "2c63e827d755527950d9d13fe3d87692">
<!ENTITY gpm-size "556 KB">
<!ENTITY gpm-buildsize "6.7 MB">
<!ENTITY gpm-time "0.1 SBU">
]>
<sect1 id="gpm" xreflabel="GPM-&gpm-version;">
<?dbhtml filename="gpm.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>GPM-&gpm-version;</title>
<indexterm zone="gpm">
<primary sortas="a-GPM">GPM</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GPM</title>
<para>The <application>GPM</application> (General Purpose Mouse
daemon) package contains a mouse server for the console and
<command>xterm</command>. It not only provides cut and paste support
generally, but its library component is used by various software such as
<application>Links</application> 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!</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&gpm-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&gpm-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &gpm-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &gpm-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &gpm-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &gpm-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing='compact'>
<listitem>
<para>Recommended Patch: <ulink
url="&patch-root;/gpm-&gpm-version;-segfault-1.patch"/></para>
</listitem>
<listitem>
<para>Recommended Patch: <ulink
url="&patch-root;/gpm-&gpm-version;-silent-1.patch"/></para>
</listitem>
</itemizedlist>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/GPM"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of GPM</title>
<para>Install <application>GPM</application> by running
the following commands:</para>
<screen><userinput>patch -Np1 -i ../gpm-&gpm-version;-segfault-1.patch &amp;&amp;
patch -Np1 -i ../gpm-&gpm-version;-silent-1.patch &amp;&amp;
./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
LDFLAGS="-lm" make</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
cp -v conf/gpm-root.conf /etc &amp;&amp;
ldconfig</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>LDFLAGS="-lm"</command>: The math library
must be linked with <command>gpm</command>, as ceil() is used in
some cursor scrolling logic.</para>
<!-- <para><command>ldconfig -n -l </command>: During installation, gpm outputs a
message to run the above command to create the proper library links.</para> -->
</sect2>
<sect2 role="configuration">
<title>Configuring GPM</title>
<sect3 id="gpm-init">
<title>Boot Script</title>
<indexterm zone="gpm gpm-init">
<primary sortas="f-gpm-init">gpm</primary>
</indexterm>
<para>Install the <filename>/etc/rc.d/init.d/gpm</filename> init script
included in the <xref linkend="bootscripts"/> package.</para>
<screen role="root"><userinput>make install-gpm</userinput></screen>
</sect3>
<sect3 id="gpm-config">
<title>Config Files</title>
<para><filename>/etc/gpm-root.conf</filename> and
<filename>~/.gpm-root</filename>: The default and individual user
<command>gpm-root</command> configuration files.</para>
<para><filename>/etc/sysconfig/mouse</filename>:
This file contains the name of your mouse device and the protocol which
it uses. To create this file, run the following as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>cat &gt; /etc/sysconfig/mouse &lt;&lt; "EOF"
<literal># Begin /etc/sysconfig/mouse
MDEVICE="<replaceable>&lt;yourdevice&gt;</replaceable>"
PROTOCOL="<replaceable>&lt;yourprotocol&gt;</replaceable>"
GPMOPTS="<replaceable>&lt;additional options&gt;</replaceable>"
# End /etc/sysconfig/mouse</literal>
EOF</userinput></screen>
<indexterm zone="gpm gpm-config">
<primary sortas="e-AA.gpm-root">~/.gpm-root</primary>
</indexterm>
<indexterm zone="gpm gpm-config">
<primary sortas="e-etc-gpm-root.conf">/etc/gpm-root.conf</primary>
</indexterm>
<indexterm zone="gpm gpm-config">
<primary sortas="e-etc-sysconfig-mouse">/etc/sysconfig/mouse</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>Examples of values to set <envar>MDEVICE</envar>,
<envar>PROTOCOL</envar>, and <envar>GPMOPTS</envar> to are:</para>
<screen><literal>MDEVICE="/dev/psaux"
PROTOCOL="imps2"
GPMOPTS=""</literal></screen>
<para>A list of which protocol values are known can be found by running
<command>gpm -m <replaceable>[device]</replaceable> -t -help</command>.
The <envar>MDEVICE</envar> setting depends on which type of mouse you
have. For example, <filename>/dev/ttyS0</filename> for a serial mouse
(on Windows this is COM1), <filename>/dev/input/mice</filename> is often
used for USB mice and <filename>/dev/psaux</filename> for PS2 mice.
<envar>GPMOPTS</envar> is the 'catch all' for any additional options that
are needed for your hardware.</para>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>disable-paste, gpm, gpm-root, hltest, mev, and mouse-test</seg>
<seg>libgpm.{so.a}</seg>
<seg>None</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="disable-paste">
<term><command>disable-paste</command></term>
<listitem>
<para>is a security mechanism used to disable the paste buffer.</para>
<indexterm zone="gpm disable-paste">
<primary sortas="b-disable-paste">disable-paste</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gpm-prog">
<term><command>gpm</command></term>
<listitem>
<para>is a cut and paste utility and mouse server for virtual consoles.</para>
<indexterm zone="gpm gpm-prog">
<primary sortas="b-gpm">gpm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gpm-root">
<term><command>gpm-root</command></term>
<listitem>
<para>is a default handler for <command>gpm</command>. It is used to
draw menus on the root window.</para>
<indexterm zone="gpm gpm-root">
<primary sortas="b-gpm-root">gpm-root</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="hltest">
<term><command>hltest</command></term>
<listitem>
<para>is a simple sample application using the high-level library,
meant to be read by programmers trying to use the high-level library.</para>
<indexterm zone="gpm hltest">
<primary sortas="b-hltest">hltest</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mev">
<term><command>mev</command></term>
<listitem>
<para>is a program to report mouse events.</para>
<indexterm zone="gpm mev">
<primary sortas="b-mev">mev</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mouse-test">
<term><command>mouse-test</command></term>
<listitem>
<para>is a tool for determining the mouse type and device it's
attached to.</para>
<indexterm zone="gpm mouse-test">
<primary sortas="b-mouse-test">mouse-test</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgpm">
<term><filename class='libraryfile'>libgpm.{so.a}</filename></term>
<listitem>
<para>contains the API functions to access the
<application>GPM</application> daemon.</para>
<indexterm zone="gpm libgpm">
<primary sortas="c-libgpm">libgpm.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>