C.2. Linux 里的设备

在 Linux 里,您会在 /dev发现许多很特别的文件。 这些文件被称为设备文件。在 Unix 世界里,访问硬件的方式有些不一样。这些 特别的文件的背后其实运行着驱动程序,而正是驱动程序控制着硬件。设备文件 就是访问真实的系统部件的接口。/dev 目录下的 文件的各种特性也和普通文件大相径庭。下面列举了最重要的一些设备文件。

fd0 第一个软驱
fd1 第二个软驱

hda 在第一个 IDE 口(Master)的 IDE 硬盘/光驱
hdb 在第一个 IDE 口(Slave)的 IDE 硬盘/光驱
hdc 在第二个 IDE 口(Master)的 IDE 硬盘/光驱
hdd 在第二个 IDE 口(Slave)的 IDE 硬盘/光驱
hda1 在第一块 IDE 硬盘上的第一个分区
hdd15 在第四块 IDE 硬盘上的第十五个分区

sda SCSI ID (比如 0)最小的 SCSI 硬盘
sdb 下一个 SCSI ID (比如 1)的 SCSI 硬盘
sdc 下一个 SCSI ID (比如 2)的 SCSI 硬盘
sda1 在第一块 SCSI 硬盘上的第一个分区
sdd10 在第四块 SCSI 硬盘上的第十个分区

sr0 SCSI ID 最小的 SCSI 光驱
sr1 下一个 SCSI ID 的 SCSI 光驱

ttyS0 串口 0,即 MS-DOS 下的 COM1
ttyS1 串口 1,即 MS-DOS 下的 COM2
psaux PS/2 鼠标设备
gpmdata 伪设备,中转从GPM(鼠标)服务传来的数据

cdrom 指向光驱的符号链接
mouse 指向鼠标设备文件的符号链接

null 所有指向该设备的东西都会消失
zero 可以从该设备永无休止地读出零

C.2.1. 设定您的鼠标

无论在 Linux 的控制台(console)里(通过 gpm),还是在 X 窗口环境之中,您都可以使用鼠标。 这两种用法是可以兼容的,只要设置 gpm 转发器,令其让信号流往 X 服务器:

mouse => /dev/psaux  => gpm => /dev/gpmdata -> /dev/mouse => X
         /dev/ttyS0             (repeater)        (symlink)
         /dev/ttyS1

把转发器的协议设为直接(raw)模式(在 /etc/gpm.conf 里),同时 在 /etc/X11/XF86Config 或者 /etc/X11/XF86Config-4 里 设置一下,让 X 使用原始的鼠标协议。

用这种方法使用 gpm 的话,就算在 X 里也有其优势。如果不小心把鼠标拔下来后, 只要像这样重新启动 gpm 就可以了:

# /etc/init.d/gpm restart

如此就可以在软件层面上重新连接鼠标,而不用重启 X 了。

如果您禁用了 gpm,或者因为某些原因没有安装它,请确保设置里是让 X 从鼠标设备(比如 /dev/psaux) 直接读取数据的。欲知详情,请参阅三键鼠标的迷你指南,即 /usr/share/doc/HOWTO/en-txt/mini/3-Button-Mouse.gzman gpm/usr/share/doc/gpm/FAQ.gz 以及 README.mouse 里 设置一下,让 X 使用原始的鼠标协议。

对 PowerPC 来说,需要在/etc/X11/XF86Config或者 /etc/X11/XF86Config-4 设置鼠标设备里或者 "/dev/input/mice"

当您的鼠标只有一个按键的时候,流行的内核具有模拟三健鼠标的能力。 只需将下面行加入 /etc/sysctl.conf 文件。

# 3-button mouse emulation 
# turn on emulation
/dev/mac_hid/mouse_button_emulation = 1
# Send middle mouse button signal with the F11 key
/dev/mac_hid/mouse_button2_keycode = 87
# Send right mouse button signal with the F12 key
/dev/mac_hid/mouse_button3_keycode = 88
# For different keys, use showkey to tell you what the code is.