NCD X terminal mini HOWTONCD X 터미널을 사용하는 방법이안 핫지 Ian Hodge, ihodge at nortel.cav1.01, 9 August 1998 심상현 artsilly@eeserver.korea.ac.kr v1.0s, 1998년 12월 29일이 문서는 NCD X 터미널(미국의 네트워크 컴퓨팅 디바이스라는 터미널을 만드는 회사(NCD) 에서 나온 X 터미널, X 터미널에 대해서는 밑에 자세히 설명이 나온다. 역주)을 유닉스 호스트에 연결하는 방법에 대해 기술하고 있다. 1. 저작권이 NCD X 터미널 미니하우투는 이안 호지에 의해 1998년 작성되었으며 모든 권한을 갖는다. 컴퓨터 상의 문서를 배포하거나 활자화된 문서로 배포, 인용시에는 저작권을 함께 표시해 주시길 바랍니다. 2. 소개이 문서는 유닉스 호스트와 NCD X 터미널을 연결하고, 세팅하는 방법에 대하여 쓰여진 글이다. 유닉스 호스트와 X 터미널을 연결할 때는 RARP, NFS, PCMCIA, 모뎀을 이용하는등 여러 가지 방법이 있지만, 이 문서에서는 부트 프로토콜인 BootP를 사용하는 방법에 대해 설명하고 있다. 비록 여기에서 설명하는 X 터미널은 단 한가지 종류이고 많은 경험적인 부분에 의존하고 있지만 이 내용들은 다른 X 터미널에도 일반적인 적용이 가능할 것이다. 참고할 수 있는 문서로 리눅스 X 터미널 미니하우투가 있다.(이 문서를 작성하는 중 그 문서 역시 작성 중에 있다는 것을 알았으므로 현재로는 유저의 컴퓨터에 깔려 있지 않을 수도 있다. 네트워크 상에서 찾기 바란다.) X 터미널 미니하우투는 좀더 일반적인 내용을 담고 있으며 이 문서의 내용과 중복되는 내용도 없진 않다. 2.1 문서의 개요이 과정들은 X 터미널을 유닉스 네트워크에 연결시키는 방법을 개략적으로 나열한 것이다.
3. 필요한 것들3.1 NCD X 터미널X 터미널은 잘 알려진 윈도우즈 시스템인 X 윈도우의 프로토콜을 기반으로 메시지와 화면 표시등을 네트워크를 통해 구현하는 그래픽 터미널이다. 일반적으로 터미널에 쓰이는 X 서버가 부팅 시에 네트워크를 통해 X 터미널로 로딩되고 실행된다. 그 밖의 X 어플리케이션은 X 터미널에서 실행되는 대신에 호스트나 다른 시스템으로부터 실행된다.(물론 몇몇 예외가 있을 수 있다.) 대신에 X 터미널은 그 실행되는 화면을 네트워크를 통해 보여줌으로 사용자와 연결되는 것이다. 즉 X 터미널은 네트워크 자원을 이용하기 위해 X 프로토콜을 사용하는 일종의 네트워크 컴퓨터라 할 수 있다. 3.2 물리적인 연결NCD사의 X 터미널 - 이 문서를 작성하는 동안에는 Xncd19r모델을 이용하였다. - 은 RT45(트위스트 패어라인 UTP 케이블 역주)를 이용하여 10baseT형식 이더넷을 구현한다. 만일 터미널이 다수라면 허브를 이용하여야 할 것이다. 단 한 대의 호스트와 단 한대의 X 터미널만 있다면 허브 없이도 null 형식의 케이블을 만들어 연결할 수 있을 것이다. 케이블 및 허브에 대해서는 이더넷 하우투를 참고하기 바란다. null 형식의 케이블 역시 이더넷 하우투에서 찾기 바란다. 3.3 NCD X 터미널 소프트웨어(X Server)X 서버 프로그램은 각 NCD X 터미널에 적합한 바이너리여야 한다.(일반적으로 X 터미널의 CPU는 인텔 계열이 아닌 16bit 마이크로 프로세서이다. 당연히 X 서버 프로그램은 이러한 각각의 마이크로 프로세서의 바이너리이다. 역주) 이러한 X 서버는 구입 시 제작 회사(NCD)로부터 주어지거나 개인적인 요청에 의해 받을 수 있다.(NCD사의 사용자 지원 센터에 메일을 보내면 된다. NCD X 터미널 뒤쪽에 있는 일련번호를 기억해 두기 바란다. 모델명에 대한 정확한 정보가 있어야 한다. 역주) 이 파일은 호스트 컴퓨터에 위치하여 X 터미널의 부팅 시에 네트워크를 통해 로딩된다. 물론 이 파일은 X 터미널에 맞는 바이너리이고 호스트 컴퓨터는 단지 네트워크로 보내 주기만 하면 되기 때문에 호스트의 종류와는 관계없다.(나중에 더욱 자세한 설명을 하도록 하겠다.) X 서버는 X 매니저와 함께 제공되기도 한다. 빠른 윈도 매니저를 원할 때는 X 서버처럼 X 터미널 상에서 실행되는 X 매니저를 이용하는 것도 좋은 방법 중 하나이다. 4. 유닉스 호스트의 설정X 터미널이 부팅될 때, 네트워크로 연결된 호스트를 통해 X 서버를 비롯한 여러 파일을 로딩하게 된다. 터미널이 부팅된 후에는 X 서버가 입출력이나 화면 입출력, X 프로토콜 상의 로컬 클라이언트로서의 역할을 담당하게 된다. 위에 말한 것처럼 X 서버 프로그램은 어떤 방식으로도 호스트 컴퓨터에서 실행되지 않는다. 또한 어떤 디렉토리에 위치하는가는 중요하지 않다. 4.1 TFTP와 BootPX 터미널이 호스트로부터 X 서버 프로그램과 설정 파일들을 네트워크로 받기 위해 tftp(trivial file transfer protocol 단순한 ftp)와 BootP(boot protocol server 부트 프로토콜 서버)를 필요로 한다. 두 서비스는 전형적인 inetd(인터넷 데몬) 중 하나이다. 네트워크 설정이 되어 있는 X 터미널을 부팅한다고 하자. 전원이 들어오자 마자 X 터미널은 BootP를 이용하여 X 터미널의 물리적인 이더넷 어드레스가 담겨 있는 브로드캐스트 메시지를 보내게 된다. 이러한 정보들 - 특히 이더넷 어드레스등 - 은 호스트가 X 터미널을 부팅시키는 과정에 무척이나 중요하다. 만일 이런 부팅 요청이 리모트 호스트에 의해 받아들여지게 되면 inetd에서는 BootP 데몬을 실행시킨다. (inetd는 /etc/services 파일을 이용해 메시지가 들어오는 포트를 검색하고 있으므로 부팅 요청을 받아들이게 된다. BootP 데몬을 inetd에서 수행시키는 것은 /etc/inetd.conf 파일을 수정해야 한다.) 수정과정은 inetd.conf에서 TFTP와 BootP에 대한 설정 내용을 만들어 주던지 아니면 코멘트 해 놓은 것을 풀어 주는 것으로 설정을 마친다.(일반적으로 코멘트를 풀어 주는 것으로 해결될 것이다.) tftpd의 마지막 옵션은(아규먼트) X 터미널이 필요로 하는 파일들(X 서버, 설정 파일)등이 놓여져 있는 디렉토리가 된다. 물론 디렉토리를 안 써 주어도 되지만 tftp의 성격상(로긴 없이 포트로 누구나 읽을 수 있다.) 보안을 위해서라면 항상 제한되고 특정한 디렉토리를 설정해 주는 것이 중요하다. 다음은 /etc/inetd.conf의 일부이다.
# tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers". # 일반적으로 tftp 서비스는 부팅을 위해 쓰인다. 거의 대부분의 # 부트 서버로 쓰이는 컴퓨터에서 tftp를 쓴다. tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/ bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd X 터미널을 부팅하는 동안 호스트의 BootP 서버 데몬은 /etc/bootptab 파일을 읽을 것이다. X 터미널에 대한 엔트리가 이 파일 안에 있어야 한다. 각각의 엔트리들은 ':'에 의해 태그로 또다시 나뉘어지게 된다. 호스트 네임은 반드시 엔트리의 첫 번째 태그가 되어야 한다. 다음은 bootptab에 쓰이는 태그들에 대한 설명이다.
다음은 /etc/bootptab의 예제이다. '\'는 항상 그렇듯이 계속 이어지는 라인이라는 의미에서 쓰인 것이다.
# This is a general entry (here given the name default)
# with information common to all BootP clients
# 이것은 일반적으로 모든 BootP 클라이언트에 맞추어진 기본적인 엔트리이다.
default:hd=/usr/X11/lib/X11/ncd/:\
ds=10.0.0.3:\
sm=255.0.0.0:\
gw=10.0.0.1:\
# X terminal entry with hostname myxterm
# Notice the tc tag reference to the entry default
# 호스트 네임을 myxterm으로 세팅하여 X 터미널 엔트리를 만들었다.
# tc를 이용하여 default의 세팅을 가져왔다는 것을 주의하기 바란다.
myxterm:ht=ethernet:\
ha=0x0000a7122619:\
ip=10.0.0.2:\
tc=default:\
bf=Xncd19r:
만일 이 bootptab파일에 있는 내용과 부팅을 요청한 메시지에 있는 하드웨어 어드레스가 일치한다면 bootp에서는 X 터미널의 IP 어드레스를 이용하여 파일을 보내 주게 될 것이다. 물론 이때 tftp를 이용하게 될 것이라는 것을 눈치챘을 것이다. 호스트 네임은 호스트에 있는 /etc/hosts 파일을 이용하여 지정해 줄 수 있다. 이 파일은 호스트 네임을 IP 어드레스로 바꾸는데 쓰인다. 예에서 X 터미널의 어드레스인 10.0.0.2는 'myxterm'이란 이름으로 지정되어 있다.
10.0.0.1 linuxhost # The boot host 10.0.0.2 myxterm # X terminal 5. NCD X 터미널 부팅시키기전원이 들어오게 되면 X 터미널은 부팅하려 시도한다.(위의 4.1 절을 설명하기 위해서 네트워크 설정이 되어 있는 X 터미널을 사용한다고 가정했다. 5장에서는 그 네트워크 설정에 대한 설명이다. 역주) 위와 같이 네트워크를 타고 X 서버 프로그램이 로딩되어 메모리에 올라가고 실행되게 된다. 그러나 부팅을 하지 못한다면(여러 가지 이유가 있을 수 있지만 네트워크 설정이 잘못되어 X 서버를 로딩할 수 없는 경우이다. X 터미널의 설정이 잘못되었거나 호스트의 설정이 잘못되었거나 둘 중 하나이다. 역주) 부트 모니터의 프롬프트인 '>'가 뜨게 된다. 부트 모니터란 X 터미널의 ROM에 실려 있는 일종의 펌웨어(바이오스)이다. 이런 상태는 X 터미널의 NVRAM(지워지지 않는 램)에 저장되어 있는 네트워크 설정이 잘못되어 있는 것이다. 만일 당신의 X 터미널이 이런 상태로 빠져 나온다면 적절한 명령을 이용하여 호스트에 연결, X 서버 프로그램을 로딩 할 수 있다. 부트 모니터에서 'bt' 명령을 이용하거나 메뉴를 이용할 수 있다. 명령과 메뉴 방식은 많은 부분에서 겹친다. 그러나 메뉴 방식이 좀더 폭 넓게 설정을 할 수 있다. 5.1 부트 모니터와 명령들다음과 같은 명령으로 부팅 가능하다.
5.2 부트 모니터의 셋업 메뉴셋업 메뉴는 키보드에 있는 'Setup'키를 누르거나 부트 프롬프트 상에서 'se'를 타이핑함으로 실행할 수 있다.(NCD에서 제공해 주는 터미널의 키보드가 아닌 일반 PS/2키보드를 사용한다면 명령을 이용하여 메뉴를 실행해야 할 것이다. 역주)
5.3 X 터미널의 설정 파일들부팅 과정 동안 X 터미널은 부팅 호스트로부터 설정 파일을 가져오고 로딩하려 할 것이다. 만일 존재하지 않는다면 기본 설정값을 이용하여 부팅하므로 꼭 필요하다고 볼 수는 없다. 하지만 다음과 같은 값을 포함하는 설정 파일이므로 세팅해 놓는다면 무척이나 유용할 것이다.
성공적으로 부팅에 성공한다면 메뉴바를 가지고 있는 X 터미널의 콘솔 윈도우가 뜨게 될 것이다. 셋업 메뉴를 이용하여 콘솔 윈도우의 디스플레이를 설정할 수 있을 것이다. 콘솔 윈도의 셋업 풀다운 메뉴로부터 현재 설정 상태를 볼 수 있을 것이며 다음 번 사용을 위하여 세팅을 바꾸거나 수정할 수 있다. 만일 TFTP를 이용한 부팅 과정이라면 반드시 부트 호스트에서는 파일의 퍼미션을 '읽을 수 있는 상태'로 해 주어야 한다. 마찬가지로 설정 파일이 저장될 디렉토리는 당연히 '쓸 수 있어야' 한다. 만일 보안 TFTP(보안 문제로 이런 방식의 TFTP를 쓴다면)를 쓴다면 아마 특정 디렉토리만 읽을 수 있다는 것을 주지하기 바란다. 5.4 호스트에 접속하기X 터미널 콘솔 윈도우의 메뉴바에서 'terminals|New Telnet...' 을 선택하면 텔넷 윈도우가 뜨게 될 것이다. 주소를 적는 란에 텔넷 호스트의 주소를 적어 넣고 윈도 매니저를 포함하는 버튼을 누르면 윈도 매니저와 함께 텔넷이 실행 될 것이다. 6. 폰트와 X 터미널X 터미널에는 아주 적은 용량의 폰트만이 내장되어 있다. 결국엔 폰트 역시 네트워크를 통해 전달되어야 한다. 폰트는 특정 디렉토리를 통해서 추가될 수 있으며, 셋업 메뉴를 통해 변경 가능하다. 호스트에서는 xset 명령을 사용해야 한다. 만일 X 서버 프로그램이 지금 X 터미널 상에서 사용 중이라면 폰트 패스는 xset 명령을 통해 조회하거나 변경될 수 있다. X 서버를 조회하려면 xset -q를 이용하고 폰트 엔트리를 추가하고자 한다면 xset +fp <path>폰트 엔트리를 제거하고자 한다면 xset -fp <path>를 이용한다. 6.1 폰트 서버폰트 서버(xfs)는 네트워크 호스트에서 운영되며 네트워크를 통해 X 터미널이나 다른 네트워크 클라이언트에게 폰트를 전달하고 로딩하게끔 해 준다. 일반적으로 폰트 서버를 이용하는 방법은 속도를 비롯한 여러면에서 tftp를 월등히 능가한다(클라이언트로 하여금 더 많은 폰트를 쓸 수 있게 해 주기도 한다.) 폰트 서버는 많은 리눅스 배포판에 들어 있으며 X 콘소시엄을 통해 받을 수 있다. 다음의 ftp를 이용하라. ftp.x.org 폰트 서버를 사용한다고 알려주기 위해 호스트에 놓여지는 X 터미널의 설정 파일의 폰트 패스 대신에 tcp 서비스 엔트리가 들어가야 한다. 물론 콘솔 셋업 메뉴를 이용하여 바꿔 주어도 된다. tcp 서비스 엔트리의 포맷: tcp/<폰트 서버의 IP 어드레스>:<폰트 서버에서 이용하는 포트> 예제: tcp/10.0.0.1:7100 X 터미널 설정 파일 내에는 다음과 같이 삽입되게 된다.
xserver-default-font-path = {
{ "tcp/10.0.0.1:7100" }
{ "built-in" }
}
xset을 이용하여 tcp 서비스 엔트리를 추가하려면 다음과 같이 해 준다. xset +fp tcp/10.0.0.1:7100 주의 : 어떤 버전의 NCD 터미널에서는 폰트 서버 엔트리를 X 터미널의 'built-in' 폰트 위로 놓아야 한다. NCD의 "유닉스 시스템 관리자를 위한 지침서(System Adminstrator's Guide for Unix)"에 나와 있는 바와 정 반대의 결과이다. 수많은 실험과 경험을 통해 테스트 해 보아야 할지도 모른다.(문장이 잘렸네요. 음. 다음 버전을 기다려야 하나. 마지막 문장은 추측입니다. 역주 TT;) 폰트 서버로 쓰일 호스트 세팅은 호스트 부팅 시에 폰트 서버가 실행 될 수 있도록 하면 된다. 기본적으로는 rc.local 파일에 다음과 같은 명령 행을 추가하는 것으로 충분하다. rc.d를 이용한 스크립트를 만드는 법에 대해서는 다른 문서를 참조하기 바란다. xfs -config <설정 파일 패스> -port <폰트서버 포트> 표준 폰트 서버의 포트인 7100으로 세팅을 한 예: xfs - config /usr/X11/lib/X11/fs/config -port 7100 폰트 서버 설정 파일의 예: # font server configuration file # $XConsortium: config.cpp,v 1.7 91/08/22 11:39:59 rws Exp $ clone-self = on use-syslog = on catalog = /usr/X11R6/lib/X11/fonts/misc/, \ /usr/X11R6/lib/X11/fonts/Speedo/, \ /usr/X11R6/lib/X11/fonts/Type1/, \ /usr/X11R6/lib/X11/fonts/75dpi/, \ /usr/X11R6/lib/X11/fonts/100dpi/ error-file = /usr/X11R6/lib/X11/fs/fs-errors # in decipoints default-point-size = 120 default-resolutions = 75,75,100,100 7. 부록7.1 참고 서적유닉스 매뉴얼(man pages) : bootpd(8), tftpd(8), bootptab(5), xdm(1x), xfs(1), fsinfo(1), xset(1), inetd(8) 리눅스 이더넷 하우투, 리눅스 NET-3하우투 NCD 기술 지원 센터와 CERN에 있는 미러 유닉스를 이용한 NCDware 시스템 관리자를 위한 지침서(NCDware System Adminstrator's Guide for Unix) 7.2 이 문서를 작성하며 사용한 시스템X 터미널 : NCD 모델 NCD19r, 19인치 흑백 모니터, 1280x1024 해상도, 8M 램 X 서버 소프트웨어 : NCDware V3.2.CV 19r_s 리모트 호스트 : 슬랙웨어(커널 2.0.31)를 운영하는 IBM의 사이릭스 686 P150+ 리모트 호스트 : 레드햇(커널 2.0.32)을 운영하는 IBM의 사이릭스 M2 200 MMX 네트워크 카드 : 10 base T 이더넷 카드(ne2000 호환) 과 8 포트 허브 폰트 서버 버전2 릴리즈 6300 7.3 감사한 사람들이 문서를 작성하는데 도움을 주고 많은 역할을 한 미카엘 드 린드 판 비에그아덴(Michael de Lind van Wijngaarden), 잠멜 하디살림(Jammal HadiSalim), 드와이트 호지(Dwight Hodge)에게 감사를 표하고 싶다. 7.4 다음 버전의 문서를 위하여
7.5 피드백배포에 대한 말이나 조언이 있으면 ihodge@nortel.ca로 보내 주시기 바랍니다. 8. 역자로부터
|
You have had a long-term stimulation relative to business. |











