X11-big-cursor mini-HOWTO <subtitle>X 윈도우 시스템에서 큰 마우스 포인터(커서)를 사용하는 방법 <author>죄르그 슈나이더(Joerg Schneider)<htmlurl url="mailto:joerg.schneider@ira.uka.de" name="Joerg Schneider"> <date>v2, 11 August 1997 <trans>심상현 <htmlurl url="mailto:artsilly@eeserver.korea.ac.kr" name="artsilly@eeserver.korea.ac.kr"> <tdate>v1.0s, 1998년 12월 28일 <abstract> 이 문서는 X 윈도우 시스템에서 큰 마우스 포인터(커서)를 사용하는 방법에 대한 문서이다. </abstract> <!-- 차례 --> <toc> <!-- 문서의 시작 --> <sect>소개 <p> 일반적인 X 환경은 다음과 같은 상황에서 마우스 포인터(커서)를 쉽게 놓치기 쉽다. <itemize> <item>저휘도의 LCD 노트북에서 X를 사용할 때 <item>일반적인 CRT 모니터에서 고해상도 1600x1200이상으로 사용할 때 <item>시각적인 장애를 가진 사용자가 사용할 때 </itemize> 이런 상황에서 좀 더 큰 마우스 포인터(커서)를 이용한다면 매우 유용할 것이다. X 프로그램을 이용하여 모든 마우스 포인터(커서)의 크기를 적절하게 조절해 줄 수 있다면 매우 이상적인 방법이 될 것이다. 그러나 내가 아는 한 그런 프로그램을 만드는 것은 그리 간단하지가 않다. X 프로토콜은 마우스 포인터(커서)에 대해 응답해 줄만한 어떤 준비도 되어있지 않기 때문이다. 자세한 것은 앞으로 나올 기술적 제안 부분을 참고하기 바란다.(요즘은 윈도 매니저등을 통해서 쉽게 커서의 크기를 바꿀 수 있다. 역주) 하지만 우리의 목표인 큰 마우스 포인터(커서)를 사용하겠다는 것만을 생각한다면 좀 색다른 방법으로도 해결할 수 있다. 일반적으로 대부분의 프로그램은 커서 폰트에서 찾을 수 있는 표준 마우스 포인터(커서)를 사용한다.(<tt/xfd -fn cursor/ 하면 그 폰트들을 볼 수 있을 것이다.) 지금 생각해 보고자 하는 방법은 그 표준 마우스 포인터(커서)들을 보다 큰 마우스 포인터(커서)로 바꾸는 것이다. <sect>이 문서에 대한 설명 <p> 시각장애가 있던 조교로부터 X 윈도우 시스템에서 어떻게 하면 좀 더 큰 마우스 포인터(커서)를 사용할 수 있냐는 질문을 받고 이 문서를 작성하게 되었다. 그 방법을 알아내고야 나서 이 문서의 첫 번째 버전을 작성하였다. 사실 이 방법은 그리 평범하지 않다. 그래서 난 이 글을 리눅스 미니 하우투로 공개될 수 있도록 LDP에 제출하였다. 물론 이 글은 <em/리눅스에만 통용되는 그런 독특한 내용이 아니다/. 이 글은 다른 미니 하우투 문서와 마찬가지로 <htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/" name="리눅스 도큐먼트 프로젝트(LDP, Linux Document Project) 홈페이지">에서 찾을 수 있다. <htmlurl name="나의 홈페이지" url="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/master/">를 통하여 SGML/linuxdoc 형식으로도 제공된다. 이 SGML문서는 자동으로 다른 형식의 문서로 변환이 가능하다. html, text, LaTex, DVI, PS, GNU info 등을 사용할 수 있을 것이다. <htmlurl name="시노부 미야타(Shinobu Miyata)" url="mailto:shinobu@emichan.rim.or.jp">가 번역해 놓은 일본어 번역본도 구할 수 있다. <htmlurl url="http://i11www.ira.uka.de/˜schneid/jp/X11-big-cursor/" name="http://i11www.ira.uka.de/˜schneid/jp/X11-big-cursor/"> <sect>방법 <p> 아래의 순서에 따라 실행하도록 한다. 만일 bdfresize 프로그램을 컴파일하고 싶지 않다면, 이미 크기가 조정된 폰트를 다운받고 곧바로 3번 과정으로 뛰어넘는다. <enum> <item><htmlurl url="ftp://ftp.x.org/pub/R6.1/xc/fonts/bdf/misc/cursor.bdf" name="ftp://ftp.x.org/pub/R6.1/xc/fonts/bdf/misc/cursor.bdf"> 와 같은 X 프로그램의 배포처(공개자료실 및 FTP site. 역주)를 이용하여 커서 폰트의 소스인 <tt/cursor.bdf/를 받는다.(만일 찾지 못한다면 아키서버를 이용하여 찾거나, 혹은 <htmlurl url="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/cursor.bdf" name="나의 홈페이지">에서 제공하는 것을 받기 바란다.) <item>bdfresize 패키지도 다운로드 하여 인스톨한다. bdfresize 패키지는 다음 FTP site 에서 쉽게 구할 수 있다. <htmlurl url="ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z" name="ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z"> (나의 홈페이지에서도 찾을 수 있다.) <htmlurl url="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/bdfresize-1.4.tar.gz" name="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/bdfresize-1.4.tar.gz"> 다음과 같이 컴파일 한다. <verb> zcat bdfresize-1.4.tar.Z | tar xf - cd bdfresize-1.4 xmkmf make </verb> 리눅스 박스에서는 다음의 옵션을 이용하여 컴파일한다. <verb> make CCOPTIONS='-include /usr/include/bsd/bsd.h' clean all </verb> <item>디렉토리를 하나 만들고 그곳에 확대된 커서 폰트를 설치한다. (배율을 2로 했을 때의 예를 보도록 한다) <verb> mkdir $HOME/fonts bdfresize -f 2 cursor.bdf | bdftopcf >$HOME/fonts/cursor2.pcf mkfontdir $HOME/fonts </verb> 보다 편이한 이용을 위해서 <htmlurl name="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/fonts/" url="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/fonts/">를 통해서 몇몇 확대된 폰트를 제공하고 있다. 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 16의 배율을 갖는다. bdfresize를 사용하고 싶지 않다면 단지 폰트만을 다운로드 받아 <tt>$HOME/fonts</tt>에 설치하는 것만으로 이 글에서 제시하는 방법을 이용할 수 있다. <item><tt/.xinitrc/ 나 <tt/.xsession/을 편집해야 한다. 마우스 포인터(커서)를 쓰는 어떤 X 클라이언트도 실행 중이어서는 안된다.(현재 실행중인 X 클라이언트에는 바뀌어진 마우스가 적용되지 않는다. 역주) 확대된 마우스 포인터(커서)를 쓰기 위해서는 다음의 명령행이 실행되어야 한다. <verb> xset +fp $HOME/fonts xsetroot -cursor_name X_cursor </verb> <item>X 세션을 닫고 재실행한다. </enum> 여기까지의 모든 과정을 수행하였으면 모든 마우스 포인터(커서)가 두배 크기로 늘었을 것이다. <sect>주의사항, 제한사항 <p> <itemize> <item>마우스 포인터(커서)를 하드웨어로 제어하는 X 서버에는 마우스 포인터(커서) 사이즈의 최대 한도가 존재하는 것 같다. 그렇지 않은 경우에는 그런 제한사항이 없다. 예를 들어 XF86_S3 3.3 서버에서는 512x512 크기의 마우스 포인터(커서)의 사용도 가능하다. 물론 눈에 띄게 속도가 느려진다.:) <item>확대된 커서 폰트는 원래의 폰트와 같은 이름을 가져야만 한다.(<em/폰트 네임/ - <tt/cursor/가 같아야 한다는 것이다. <em/파일 이름/은 상관이 없다!) 사실 <tt/bdfresize/ 프로그램이 폰트 이름을 바꾸지 않기 때문에 아마 아무런 문제도 발생하진 않을 것이다. <item>새로운 커서 폰트의 디렉토리는 폰트 패스 상에서 원래 표준 커서 폰트의 디렉토리보다 상위에 놓여져야 한다. 이것은 단지 <tt/xset +fp/를 함으로 바뀌어 질 수 있다.(이 반대는 <tt/xset fp+/를 하면 된다.) <item><tt>$HOME/fonts/</tt> 디렉토리를 갱신했을 경우에는 다음과 같은 명령 이후에 폰트를 사용할 수 있다. <verb> mkfontdir $HOME/fonts/; xset fp rehash </verb> 물론 새로운 X 클라이언트를 띄워야 한다.(정확히 말하자면, 새로운 폰트를 쓰고자 했을 경우 다시 띄워야 한다는 말이다.) <item> <tt/xset +fp path/ 명령행이 X터미널 상에서는 정상적인 동작을 하지 않을 수도 있다. 이 경우 X터미널에서 폰트서버를 지원한다면 폰트서버에 있는 폰트를 갱신하거나(폰트서버를 이용하는 방법을 참고하기 바란다), 그 X터미널 에 맞는 폰트를 설치하는 다른 방법에 대해 알아보아야 할 것이다.(이 방법은 아마 시스템 관리자만 할 수 있을 것이다) <item> 같은 방법으로 <tt/olcursor/, <tt/decw$cursor/ 폰트, 혹은 다른 커서 폰트들도 적용 될 수 있다. <item> bdfresize로 크기가 조정된 커서 폰트의 경우 그리 깨끗해 보이지 않을 것이다. 특히 확대 비율을 크게 했을 경우에는 더욱 그럴 것이다. 누군가가 각각의 사이즈에 맞는 커서 폰트를 직접 그려서 제작해 준다면 좀 더 좋은 결과 를 얻을 수 있을 것으로 보인다. </itemize> <sect>기술적 제안 <p> 자동적으로 마우스 포인터(커서)의 크기를 크게 하는 방법은 없을까요? <descrip> <tag/방법 1(특정 시스템에만 가능)/ XTEST로 확장된 시스템에서는 XTestCompareCursor를 이용할 수 있다. 모든 윈도우에 마우스 포인터(커서)가 들어가게 되면 윈도우의 마우스 포인터(커서)와 이미 알고 있는 커서 폰트와 함께 비교를 하게 된다. 만일 커서를 찾게 되면 그 커서를 큰 버전으로 바꾸게 된다. 그렇지 않으면 원래의 마우스 포인터(커서)나 표준 마우스 포인터(커서)로 대체하게 된다. 이런 방법은 오직 Xtest 확장 시스템에서만 사용 가능하다. <tag/방법2/ X 서버에서 보내주는 모든 클라이언트의 요청 값을 그대로 넘겨주는 X 프록시 서버를 세팅한다. 여기서 Xlib 함수에 있는 <tt/XCreate*Cursor/에 종속되는 모든 요청에 대해서는 그 요청을 큰 버전의 마우스 포인터(커서) 폰트로 바꾸어서 보내주면 된다. 이런 프록시 서버는 <tt/:1/과 같은 새로운 디스플레이 값을 갖게 된다. 큰 버전의 마우스 포인터(커서)를 쓰고 싶은 클라이언트는 <tt/xterm -display :1/처럼 이 디스플레이에 연결되어야 한다. 만일 원래의 디스플레이인 <tt/:0/에 연결되면 마우스 포인터(커서)는 <em/변화가 없을 것이다/. </descrip> <sect>마우스 포인터(커서)를 더욱 잘 보이게 하는 또 다른 고찰 <p> 마우스 포인터(커서)를 쉽게 찾을 수 있도록 해 주는 몇 개의 X 프로그램에 대한 발상이 있다. <itemize> <item>단축키를 누르면 약 0.5초간 포인터가 있는 위치에 색다른 효과를 내게 하는 프로그램(큰 포인터(커서), 작아지는 윈도우, 말려 올라간 윈도우등) <item>XRecolorCursor를 이용해 0.1초마다 마우스 포인터(커서)의 색을 바꾸도록 하는 프로그램 </itemize> 당면 과제로는 <bf/마우스 자취/라는 기능이 시급하다고 하겠다. 이 기능은 마우스가 움직이고 마우스 포인터(커서)가 다른 위치에 그려져야 할 때 먼저 위치의 마우스 포인터(커서)가 즉시 지워지는 것이 아니고 약간의 시간을 주고 지워지는 기능이다.(MS windows나 MAC에서 이런 기능을 보았을 것이다. 노트북과 같은 저휘도, 저해상도 디스플레이에서 마우스 포인터를 쉽게 찾을 수 있게 해 준다. 역자 주) 마우스 자취 기능은 X 서버에서 제공되는 것이 가장 이상적이고 클라이언트에서 제공될 수도 있다. 하지만 프록시 서버에서 제공되는 것이 클라이언트에서 제공하는 것보다는 낫다. (기술적 제안 부분을 참고하기 바란다.) <sect>관련정보 <p> <sect1>폰트서버를 이용하는 법 <p> 폰트서버는 간단한 프로토콜을 이용하여 X11 폰트 집합을 네트워크로 제공해 주는 방법이다. 폰트서버는 어떤 폰트의 비트맵 데이터를 전송해 주어야 할 지에 대한 요청에 응답하는 형식으로 폰트데이터를 제공한다. 폰트서버를 이용하여 로컬 파일시스템에 있는 폰트를 이용하는 것 대신 폰트 서버에서 제공되는 커서 폰트를 이용할 수 있다. 특히 공통의 파일시스템을 공유하지 않는 다른 기종의 여러 시스템을 사용하는 경우나 폰트서버 프로토콜을 지원하는 X 터미널을 쓸 경우 매우 유용하다고 할 수 있다. 폰트서버 프로그램과 도구들은 X11R5+ 배포처인 AFAIK로부터 구할 수 있다. <sect2>폰트서버 세팅하는 법 <p> 다음의 매뉴얼 페이지를 정독한다면 그리 어렵지 않게 폰트서버를 세팅할 수 있을 것이다. <em/fs(1), fslsfonts(1)/ (혹은 X11R6 시스템에서는 <em/xfs(1), xfslsfonts(1)/) 다음의 예를 보며 보충설명을 하도록 한다. <tt/some.host.edu/ 의 포트 7100으로 폰트서버를 운용하고 있다면 다음의 일련의 과정을 통해서 테스트 할 수 있다. <verb> fslsfonts -server some.host.edu:7100 </verb> 실제 사용을 위해서는 다음의 명령이 추가되어야 한다. <verb> xset +fp tcp/some.host.edu:7100 </verb> 올바르게 설치가 되었다면 에러 없이 수행될 것이다. <sect1>폰트의 bdf 소스를 얻는 법 <p> 이미 폰트서버의 세팅이 끝났다면 폰트서버로부터 <tt/fstobdf/ 하는 것으로 간단히 소스를 추출해 낼 수 있다. 또한 <tt/getbdf/를 이용해 이미 설치된 어떤 X11의 폰트에서도 bdf 파일을 얻을 수 있다. <sect>역자로부터 <p> <itemize> <item>이 글은 원문의 내용을 한국어로 번역한 글입니다. <item>이 글은 <htmlurl url="http://kldp.linux-kr.org" name="리눅스 한글문서 프로젝트">나 <htmlurl url="http://eeserver.korea.ac.kr/~artsilly/trans/" name="http://eeserver.korea.ac.kr/~artsilly/trans/">로부터 얻을 수 있습니다. <item>본문의 내용중 잘못된 내용이나 번역이 잘못된 부분이 있으면 <htmlurl url="mailto:artsilly@eeserver.korea.ac.kr" name="artsilly@eeserver.korea.ac.kr">로 메일을 보내주시기 바랍니다. <item>원문의 버전이 올라가는대로 번역본도 개정하도록 하겠습니다. 개정이 늦어지면 위의 주소로 제게 알려주시기 바랍니다. <item>이 한국어 버전의 글을 인용, 편집, 재배포하실 경우에는 원저자와 함께 역자의 저작권을 표시해 주시기 바랍니다. <item>다들 즐거운 리눅싱 하시길 ^^ - 심각한 말투로 번역하는 건 너무 힘드네요. TT; 즐거운 말투나 사투리로 번역하고 싶네요. ^^ <item>버전정보 <itemize> <item>v0.3, 1997년 / 원문 v1.x 번역 <item>v0.9, 1997년 9월 25일 / 원문 v2 번역 <item>v1.0s, 1998년 12월 28일 / v0.9를 sgml로 변환 </itemize> </itemize> </article>