다음 이전 차례

4. 마우스의 운용

이 장에서는, 여러가지 어플리케이션에 있어서의 마우스의 일반적인 사용 방법에 대해서 취급한다.

4.1 어플리케이션의 설정

Linux 배포물의 대부분은, 어떤 종류의 마우스를 사용하는지 인스톨의 중간에 질문하여, gpm 와 X Window System을 설정한다. 정확한 마우스·프로토콜을 선택하지 않았던지, 새로운 마우스를 install했다고 하는 경우는, 어떤 커멘드·라인 프로그램을 사용해, 이 새로운 프로토콜을 사용하도록 gpm 와 X Window System을 재설정하는 것이 대부분이다.

Redhat

RedHat 에서는 /usr/sbin/mouseconfig 를 사용할 수 있다.

기타의 설정

그 외의 배포물의 경우는, 인스톨 방법 설명서를 봐주시오.

4.2 gpm

gpm란, 마우스를 사용한 'cut- and-paste'를, X 상에서 가능한것처럼, Linux의 가상 단말기 사이에서도 가능하도록 하는 프로그램이다. 가지고있는 마 우스의 동작 테스트로도 좋은 방법이 된다. gpm의 최신 버젼은 ftp.prosa.it/pub/gpm에 있다. 대부분의 Linux 배포물에는 컴파일끝난 gpm 바이너리가 포함되어있다.

gpm를 시작할 때는, 사용중인 마우스가 어느 프로토콜을 사용하고 있는지를 -t switch, 그리고 마우스의 디바이스·파일이 어떤 것인가를 -m 옵션을 사용해 알려준다. 대체로 busmouse를 처리 할 수 있는 3개의 프로토콜은, 각각 logi, bm, ps2 로서 지정 한다. 마우스의 디바이스·파일 디폴트는 /dev/mouse에 되어 있으므로, 적절한 symbolic link를 연결하였다면, -m 옵션은 생략해도 된다. 예를 들면, Microsoft Inport 마우스의 경우는:

gpm -t bm

PS/2 프로토콜이라면:

gpm -t ps2

그리고 마우스를 움직여 보면, 스크린 상의 커서 블록이 이동하는 변화를 볼수있고, mouse button를 사용해, 가상 단말간에 text를 cut and paste 할 수 있다. 보다 자세한 조작 방법에 대해서는, gpm 문서를 읽거나 ``man gpm'' 해 보자.

4.3 XFree86

가지고있는 busmouse를 XFree86에서 사용하는 경우, 사용 마우스의 프로토콜을 Xconfig 파일(역주: 현재는 XF86Config 파일. 이하 XF86Config로 한다.) 에 기록하지 않으면 안 된다. BusMouse 프로토콜의 마우스를 가진 경우, XF86Config에는 이하의 내용이 들어 있어야만한다. (따옴표를 포함한다.)

(역주: 자세한것은 man XF86Config를 참조하시오.)

       Section "Pointer"
         Protocol "Busmouse"
         Device   "/dev/mouse"

         # Any other options such as Emulate3Buttons
       EndSection
PS/2 마우스라면 이렇게 한다:
         Protocol        "PS/2"
2버튼 마우스라면, 이하의 행도 필요하다. 마우스의 좌우 버튼을 동시에 누르면, 중앙 버튼이 없는 마우스로도, 중앙 버튼을 누르는것과같은 기능을한다.
         Emulate3Buttons
``BaudRate'' 와 ``SampleRate'' 같은 마우스의 다른 설정 항목은 busmouse 에는 관계 없음으로, 주석을 달아두는 편이 좋겠다.

4.4 XFree86 와 gpm

커넬의 개발 역사에 있어서, busmouse를 복수 처리로 공유하는 것은 오랜동안 가능하지 않았다. 그 때문에, XFree86 와 gpm를 동시에 동작하는 것은 곤란했던 것이다. gpm가 동작하고 있는 상태에서 X를 동작 시키려고 하여 아래와 같은 에러에 만날 경우는, 그러한 오래된 커넬중의 하나를 사용하고 있다, 라는 것이다.

       Fatal server error:
       Cannot open mouse (Device or resource busy)
이러한 커넬에서 XFree86 와 동시에 gpm를 사용하기위한 두개의 방법이 있다. 먼저 한개는, XFree86을 동작하기 전에 gpm의 실행을 모두 죽이는 것이다. 또 하나는, gpm 의 ``repeater'' 옵션을 사용하는 것. (마우스로부터의 데이터를 받고, 그 정보를 복수의 어플리케이션에 반복한다.)

하지만 나로서는, 가능하면 커넬을 upgraded하는 것을 추천한다. 그렇게 하면, busmouse를 다른 처리과 공유할 수 있기 때문이다. 이 문서에서는, 오래된 커넬로 XFree86 와 gpm 를 함께 사용하는 조건에 대해서는, 간단한 방법 만을 설명 한다. repeater 옵션을 사용하는 방법에 대해서는 gpm 의 문서를 보기 바란다.

아래와 같이 하면, gpm는 동작하고 있는 자신의 사본 모두를 종료시킨다.

       gpm -k
이것은 X11을 시작하기 전에 하지 않으면 안된다. X를 동작시켜 사용하고 있는 스크립트, 예를 들면 startx를 보고, 상기의 명령어를 스크립트 선두에 추가 한다. 그러면 gpm는 (X가 동작하기 전에) 자동적으로 종료하게 된다. 그 스크립트의 마지막에 gpm를 재시작 시키는 명령어도 추가해 두면, X의 세션을 종료한 뒤, gpm도 다시 동작한다.
다음 이전 차례