C.2. 리눅스 장치

리눅스에서는 /dev 안에 여러가지 특수한 파일이 들어 있습니다. 이 파일들을 장치 파일이라고 합니다. 유닉스 세계에서는 하드웨어를 접근하는 방법이 좀 다릅니다. 어떤 특수 파일에 접근하면 실제로는 거기에 해당하는 하드웨어에 접근하게 됩니다. 장치 파일은 실제 시스템의 구성 하드웨어에 대한 인터페이스입니다. /dev에 있는 파일은 일반 파일과 완전히 다르게 동작하기도 합니다. 다음은 중요한 장치 파일의 목록입니다.

fd0 첫번째 플로피 드라이브
fd1 두번째 플로피 드라이브

hda 첫번째 IDE 포트 마스터에 달린 IDE 하드디스크 / CD-ROM
hdb 첫번째 IDE 포트 슬레이브에 달린 IDE 하드디스크 / CD-ROM
hdc 두번째 IDE 포트 마스터에 달린 IDE 하드디스크 / CD-ROM
hdd 두번째 IDE 포트 슬레이브에 달린 IDE 하드디스크 / CD-ROM
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 CD-ROM
sr1 SCSI ID가 다음 번호인 (2번) SCSI CD-ROM

ttyS0 시리얼 포트 0, MS-DOS에서는 COM1
ttyS1 시리얼 포트 1, MS-DOS에서는 COM2
psaux PS/2 마우스 장치
gpmdata 가장 장치, GPM (마우스) 데몬에서 나온 데이터의 리피터

cdrom CD-ROM 드라이브에 대한 심볼릭 링크
mouse 마우스 장치 파일에 대한 심볼릭 링크

null 이 장치로 들어간 데이터는 모두 사라집니다
zero 이 장치에서 끊임없이 0을 읽을 수 있습니다

C.2.1. 마우스 설정하기

마우스는 리눅스 콘솔에서 (gpm을 이용해) 사용할 수도 있고 X 윈도우 환경에서 사용할 수도 있습니다. 이 두가지를 동시에 사용하려면 다음과 같이 gpm 리피터를 사용해 마우스 신호를 X 서버에도 들어가도록 만들면 됩니다:

mouse => /dev/psaux  => gpm => /dev/gpmdata -> /dev/mouse => X
         /dev/ttyS0             (리피터)          (심볼릭 링크)
         /dev/ttyS1

(/etc/gpm.conf에서) 리피터 프로토콜을 raw로 하고 /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.gz의 3 단추 마우스 미니 하우투, man gpm, /usr/share/doc/gpm/FAQ.gz, README.mouse를 참고하십시오.

PowerPC의 경우, /etc/X11/XF86Config 혹은 /etc/X11/XF86Config-4 파일에서 마우스 장치를 "/dev/input/mice"로 하십시오.

최근의 커널에서는 단추가 1개인 마우스로도 3 단추 마우스를 에뮬레이션할 수 있습니다. 다음 줄을 /etc/sysctl.conf 파일에 추가하십시오.

# 단추 3개 마우스 에뮬레이션
# 에뮬레이션 켜기
/dev/mac_hid/mouse_button_emulation = 1
# 가운데 마우스 단추 신호를 F11 키로 보냅니다
/dev/mac_hid/mouse_button2_keycode = 87
# 오른쪽 마우스 단추 신호를 F12 키로 보냅니다
/dev/mac_hid/mouse_button3_keycode = 88
# 다른 키의 경우에는, showkey로 그 키의 코드가 무엇인지 알 수 있습니다.