· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/X-Big-Cursor

<!-- X-Big-Cursor mini-HOWTO의 sgml 소스
 번역/변환 심상현 artsilly@eeserver.korea.ac.kr
-->

<!doctype linuxdoc system>
<article>
<title>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>



ID
Password
Join
The luck that is ordained for you will be coveted by others.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0075 sec