gpm-1.20.1

Gpm ( 通用鼠标守护进程 ) 是为控制台下运行的程序提供鼠标支持的服务器。它不仅提供了通用的剪切和粘贴支持,它的库文件还被许多程序( 如 links ) 用来在程序里实现鼠标。它对桌面电脑很有用,尤其是使用 (B)LFS 的安装指导时 - 在两个控制台之间拷贝和粘贴总比手动输入容易些( 也能减少错误 )。

介绍 gpm

下载地址 (HTTP):       
下载地址 (FTP):        ftp://arcana.linux.it/pub/gpm/gpm-1.20.1.tar.bz2
使用版本:                   1.20.1
包的大小:                   556 KB
估计所需硬盘空间:  3.2 MB

gpm 软件包包含一个用于控制台(console)和xterm的鼠标服务器. 它是用于在控制台中剪切和粘贴文本, 并且很多在控制台基础上的程序需要用它来在程序内部实现鼠标的支持。

安装 gpm

用以下命令安装 gpm:

注: The LDFLAGS environment variable must be set before configuring gpm.

LDFLAGS="-lm" ./configure --prefix=/usr &&
make &&
make install

命令解释

LDFLAGS="-lm": 要把math库连接到gpm是因为ceil()在一些鼠标滚动算法里要用到。只有你要优化gpm的大小时才需要设置LDFLAGS。

配置 gpm

gpm init.d 脚本

gpm init.d可以用以下命令生成: (假设你按照LFS 默认的把$rc_base 设为 /etc/rc.d)

cat > /etc/rc.d/init.d/gpm << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/gpm

# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans  - [email protected]
# GPM specific parts by Mark Hymers - [email protected]

source /etc/sysconfig/rc
source $rc_functions

if [ -f /etc/sysconfig/mouse ]
	then
        source /etc/sysconfig/mouse
fi

if [ -z "$MDEVICE" ] || [ -z "$PROTOCOL" ]
	then
	echo "Please create an /etc/sysconfig/mouse file containing"
	echo "MDEVICE and PROTOCOL values"
	exit 1;
fi

case "$1" in
        start)
                echo "Starting gpm..."
                loadproc gpm -m $MDEVICE -t $PROTOCOL
                ;;

        stop)
                echo "Stopping gpm..."
                killproc gpm
                ;;

        restart)
                $0 stop
                sleep 1
                $0 start
                ;;

        status)
                statusproc gpm
                ;;

        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
                ;;
esac

# End $rc_base/init.d/gpm
EOF
chmod 755 /etc/rc.d/init.d/gpm

你还需要为这个文件在相关的rc.d目录下建立一些符号链接.例子如下:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/gpm ../rc0.d/K10gpm &&
ln -sf ../init.d/gpm ../rc1.d/K10gpm &&
ln -sf ../init.d/gpm ../rc2.d/K10gpm &&
ln -sf ../init.d/gpm ../rc3.d/S70gpm &&
ln -sf ../init.d/gpm ../rc4.d/S70gpm &&
ln -sf ../init.d/gpm ../rc5.d/S70gpm &&
ln -sf ../init.d/gpm ../rc6.d/K10gpm

Config files

/etc/sysconfig/mouse 这个文件包括你的鼠标设备名字和它用的协议.用以下命令创建这个文件:

cat > /etc/sysconfig/mouse << "EOF" 
# start /etc/sysconfig/mouse
MDEVICE=yourdevice
PROTOCOL=yourprotocol
# end /etc/sysconfig/mouse
EOF

配置信息

举个MDEVICE 和 PROTOCOL的例子如下

MDEVICE=/dev/psaux
PROTOCOL=imps2

关于协议(protocol)值表可以运行这个得到 gpm -t -help. 你的MDEVICE 设置取决于你用什么样的鼠标.例如: /dev/ttyS0 是用于串口鼠标(在Window里是COM1), /dev/input/mice 一般用于USB的鼠标而/dev/psaux不是 用于 PS2 鼠标.一般来说,我们连接/dev/mouse到相关设备而不是直接访问该相关设备.

内容

gpm 软件包包含 gpm, gpm-root, disable-paste 和 mev.

具体说明

gpm

gpm 是用于虚拟控制台的剪切,粘贴工具和鼠标服务器.

gpm-root

gpm-root 默认的gpm处理器. 用于在根目录窗口拉出菜单.

disable-paste

暂时没有介绍.

mev

mev 是报告鼠标事件的程序.