본문 바로가기

DB/Oracle

[LINUX] ORACLE 설치와 활용 - 2


XDM   세션

번역:윤봉환 (eletuz@chollian.net)

 

 

    당신의 시스템에서 X Windows가 동작하도록 만들어야 한다면, 기본 런 레블 값을 (run state) 5로 설정하여 시스템이 자동적으로 xdm으로 시작하도록 만들고, 당신이 로그인한 다음에 어떤 애플리케이션들을 자동으로 실행함으로써 당신의 개성이 드러나는 윈도우즈 세션으로 구성하기를 원할 것이다.

    직장에서, 내가 없을 때 다른 이들이 로그인할지 모르므로, 나는 집으로 가기 전 저녁마다 내 시스템에서 로그아웃하려고 한다. 그리 자주 생기는 일은 아니겠지만, 나는 다른 누군가가 내 사무실에 들어오고 나처럼 로그인하여 윈도우를 사용하는 것을 바라지 않는다. [어쩌면 어떤 이가 호기심이 사로잡히고, 저장된 내 메일 메시지 사이를 유유히 돌아다니기 시작할지 모른다] 문제는, 나는 내가 하려는 일의 목록(目錄: list)과 일정관리 프로그램처럼, 내가 자동으로 실행되기를(brought up) 원하는 애플리케이션에 있다.

    이 기사(記事:article)에서, 나는 X Windows 세션이 어떻게 시작되는지, 그리고 자신에게 맞추기 위해 무엇을 할 수 있는지 설명하려 한다. 나는 당신이 선택한 윈도우 매니저를 자동으로 시작하는 방법, 애플리케이션을 자동으로 시작하게 만들고 당신이 좋아하는 글꼴과 색상으로 구성(構成)하는 방법을 당신에게 보여줄 것이다. X Windows는 모든 플랫폼에서 매우 많은 부분이 동일하므로, 내가 지금 설명하려는 부분의 대부분은 리눅스 XFree86에서 뿐만 아니라 X Windows를 사용하는 다른 플랫폼에서도 사용될 수 있다. 실제로, 나는 RedHat 5.x를 따라오는 것과 Silicon Graphics IRIXR(SGI)를 따라오는 XFree86버전 사이에서 몇 가지를 비교할 것이다. 당신은 아마도, 같은 이름을 가지고 있지만 일반적으로 디렉터리가 조금 다른 이 두 시스템에서 내가 이야기하는 파일들에 주의해야 할 것이다.

    나는 다른 기사들, 예를 들어 “X Window 시스템 관리 (X Window System Administration.)”라는 이름으로 12월호에 실렸던 Jay T.의 훌륭한 기사처럼, X Windows 환경설정에 대하여 지금껏 계속 쓰여져 왔다는 것을 잘 알고 있다.  X Windows는 매우 융통성 있는 윈도우 환경이고, 이 때문에, 매우 복잡할 수 있다.  이런 까닭으로, 나는 어쩌면 중복될 지도 모르지만 각각 다른 시각(視覺: perspective)으로부터 정보가 제공되는, 많은 기사들이 필요할 것이라 믿는다.  이 기사는 관리자보다는 오히려 사용자의 시각에서 계획된 것이다.

    시작하기 위해, 그리고 스스로 단행본을(book) 닮아 가는 것으로부터 내 기사를 지키기 위해 이 기사는 아래 가정에 따라 쓰여진다.

     

    1. 당신은 Red Hat(각주(脚註)를 보라)에 의해 설치된 xdm의 기본 환경설정값으로 시스템을 운영할 것이다.  이는 /etc/X11/xdm 디렉터리에서 발견되는 어떠한 파일도 고쳐진 일이 없었음을 뜻한다.  (다른 어떤 리눅스 벤더의 배포본도 설치해본 적이 없으므로, 나는 주제넘게도 그들의 기본 환경설정이 꼭 같거나, 또는 어떤 문제도 비롯되지 않을 만큼 충분히 비슷하다고 여기고 있다.)  이 것을 염두(念頭)에 두고, 나는 설치된 환경설정 파일에 기술(記述)된 것처럼 xdm(그리고 그 항목들)에 의해 사용되고 참조되는 파일 이름을 설명할 것이다.
    설명되겠지만, 거의 모든 파일 이름들은 /etc/X11/xdm-config를 변경함으로써, 또는 xdm을 시작할 때 커맨드 라인에서 다른 환경 설정 파일을 매개변수로 기술하는 것으로 바뀌어질 수 있다. (SGI에서 환경 설정 파일은 /var/X11/xdm/xdm-config이고, 몇 가지 설치에서는 /usr/lib/X11/xdm/xdm-config를 사용하는 것을 보았다.)

    2. 당신은 X Windows에 의해 사용되는 서버/클라이언트 개념에 대한 기본 지식을 가진다. 다시 말하면, X 서버는 화면출력과 키보드, 그리고 애플리케이션의 실행을 다룬다. 사용자의 애플리케이션들은 작업 결과를 화면에 출력하고 입력을 준비하는 서비스를 X 서버로부터 요구하는 클라이언트이다.

    3. 당신은 X 리소스, 그리고 그들이 X 환경에서 사용되는 방법에 왠만큼 친숙하다.

 

사용자 세션 초기화와 종료 
(User Session Initialization and Termination)

    xdm(X Display Manager)을 통해 X 서버가 자동적으로 시작될 때, 사용자는 로그인 스크린을 만나게 된다.  이 스크린을 통해 사용자가 성공적으로 로그하면, xdm은 “사용자 세션 (user session)”을 시작한다. 이 세션은, 이 것이 끝날 때, 사용자의 세션을 끝내고, xdm이 X 서버를 다시 고쳐 놓고, 그리고 로그인 스크린으로 돌아가는 셸 스크립트이다.

    세션을 시작하기 전에, xdm은 루트 특권을 요구하게 될지 모르는 어떤 사용자 초기화를 수행(遂行)하기 위해 작은 startup 스크립트를 실행한다. 일반적으로, 이 파일 /etc/X11/xdm/GiveConsole은, 자신에게 보내진 메시지들이 사용자의 환경의 윈도우에서 화면에 출력될 수 있도록 /dev/console의 소유권을 그 사용자의 것으로 변경한다.

    그와 마찬가지로, 그 세션이 끝날 때, xdm은 ‘startup’ 스크립트에 의해 설정되었을 지 모르는 것들을 깨끗이 비우기 위해 루트 특권으로 또 다른 작은 exit 스크립트를 실행한다.  
    이제, 이 스크립트, /etc/X11/xdm/TakeConsole은, /dev/console의 소유권을 루트로 되돌린다.

    이들 두 파일은 SGI 시스템에서 /var/X11/xdm/GiveConsole과 /var/X11/xdm/TakeConsole임을 유념(留念)하자.

    이 기사에서 흥미로운 단계는 사용자 세션 자체의 실제 시작이다. 여기서, xdm이 /etc/X11/xdm/Xsession (SGI 시스템에서는 /var/X11/xdm/Xsession)을 실행하는 서브 프로세스를 시작하고 끝나기를 기다린다. 이것이 끝날 때, xdm은 exit 스크립트를 수행하고 로그인 스크린으로 돌아간다. 이 세션 스크립트는 사용자의 권한으로 실행한다.

    리소스(/etc/X11/xdm/Xresources)는 사용자가 그/그녀의 로그인을 끝마치기(complete) 위해 <F1> 키 다음에 <Enter> 키를 사용할 경우 유저 세션을 건너뛰기 위해 “failsafe” 매개변수(媒介變數: parameter)에 근거하여, xdm을 위해 설정되어 왔다. 이는 만약 사용자가 그 또는 그녀의 맞춤(customized) 세션 스크립트에서 로그인할 수 없는 문제가 발생했다면 매우 유용하게 쓰일 수 있다. 이 기능은 아래 설명된 방법처럼 이용된다.
    내가 이 리소스를 리눅스와 SGI 두 시스템에서만 발견하였고, 그 양쪽에서 똑 같은 방법이 사용된 것에 주의해야 한다.

    역자주: 
    아래는 /etc/X11/xdm/Xresources 파일의 <Key>F1 설정부분이다. 이들 키에 대해 Xsession의 인수로 failsafe가 사용되는 것을 볼 수 있다.

    ! $XConsortium: Xresources /main/8 1996/11/11 09:24:46 swick $
    xlogin*login.translations: #override\
     Ctrl<Key>R: abort-display()\n\
     <Key>F1: set-session-argument(failsafe) finish-field()\n\
     Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\
     <Key>Return: set-session-argument() finish-field()

    아래는 /etc/X11/xdm/Xsession 스크립트에 설정된 매개변수에 대한 처리부분이다. failsafe 매개변수에 대해 80x20 크기의 xterm을 오른쪽 아래 구석에 보이도록 정의할 것을 알 수 있다.

    ...
    case $1 in
    failsafe)
     exec xterm -geometry 80x24-0-0
     ;;
    windowmaker)
     exec wmaker
     ;;
    ...

 

Xsession 파일

    /etc/X11/xdm/Xsession은 Red Hat 배포본이라면 매우 간결하다. 특히 SGI에서 제공되는 /var/X11/xdm/Xsession과 비교할 때 그렇다. 이 파일은 사용자 startup 모두를 수행하고, 모든 사용자에 대해 시스템 관리자가 끝마쳐야 할 초기화를 수행하는 표준 본 셸(Bourne shell) 스크립트이다.

    위에서 설명되었듯이, 사용자가 로그인하고, <F1> 키를 누른 다음에 <Enter> 키를 눌러, 
    “failsafe” 매개변수가 세션 파일에서 통과되어진다. /etc/X11/xdm/Xsession 파일이 할 첫 번째 일로 이 매개변수가 존재하는지 검사하고, 만약 동작한다면, xterm을 exec한다. 이는 다른 모든 초기화와 작업할 사용자 터미널 윈도우 준비를 무시한다.  이 것은 사용자가 로그인 하는 것을 막는 다른 무언가가 그/그녀의 개인적인 세션파일 안에서 끝날 때 로그인하는 좋은 방법임을 알아둔다.

    exec 함수를 이해하지 못한다면, 이것은 모든 표준적인 셸 프로그램에서 제공되는 붙박이(builtin) 명령이다. 이것은 현재 실행중인 셸을 exec’d 프로그램에 의해 대체되게 한다. 그러므로 현재 실행중인 셸은 exec로부터 결코 돌아오지 않고(만약 프로그램이 어떤 이유로 시동 때 실패를 참조하지 않았다면), 부모 프로세스는 자식 프로세스의 어떤 변경도 알아차리지 못한다. exec’d 프로그램은 셸의 프로세스 ID를 계속 유지한다. 그리고, 끝날 때, 마치 셸이 종료되었고 사용자 세션이 끝난 것처럼 한다.

    알고보면(Presuming) “failsafe”는 Xsession에서 통과한 매개변수가 아니어서, 이 스크립트는 표준에러를 에러 파일로 리다이렉트하는 것으로 계속한다. 만약 이렇게 기록할 수 있다면, 이 파일은 사용자의 홈 디렉터리에 .xsession-errors일 것이다. 세션이 사용자 홈 디렉터리에 쓸 수 없거나 이 파일이 어떤 이유에서 쓰기가 금지되어 있다면, 스크립트는 /tmp/xses-$USER 파일을 사용하기 위해 시도할 것이다.  $USER는 사용자의 로그인 이름이다.

    이 에러파일은 사용자의 세션에 있는 동안 생긴 문제를 파악하는 데 유용하다. 어떤 에러들은 실행된(윈도 매니저를 포함하고 있거나 윈도 매니저에 의해 실행된 애플리케이션들) 애플리케이션들에 의해 발생되어 이 파일에 보내질 것이다. 사용자가 로그인 후 사용자 세션을 시작하는 데 문제가 있다면, 그/그녀는 “failsafe” 로그인을 (위에서 기술(記述)되었던 것처럼) 수행할 수 있고 이 파일을 볼 수 있다. 에러 메시지들은 문제를 파악하는 데 얼마쯤 도움이 될지도 모른다.

    마지막으로, 표준적인 Xsession 파일은 셸 스크립트 셋(set) 가운데 하나에 컨트롤을 위임(委任)한다. 그들의 존재를 신뢰하고, 그들이 실행 가능하다면.
    exec 명령으로 이렇게 하는데, 그 의미는, 어떤 프로그램이 실행되더라도, Xsession 프로세스를 대체하고 새로운 사용자 세션이 된다는 것이다. 그 셸 스크립트들이다.

    1. $HOME/.xsession
    2. $HOME/.Xclients
    3. /etc/X11/xinit/Xclients

    SGI 컴퓨터 상에서 사용되는 스크립트를 비교한 몇 가지 흥미로운 점을 알아보자. SGI는 실행 가능한 스크립트가 필요 없지만 그들이 없다면, 그 대신 /bin/sh을 실행할 것이다. 또한, SGI는 단지 $HOME/.xsession 파일만 찾아본다. 만일 이 파일이 존재하지 않는다면, 시스템 Xsession 파일이 SGI에서 제공되는 기본적인 사용자 환경을 설정한다. 
    RedHat은 표준적인 설치에서 /etc/X11/xinit/Xclient를 제공한 이래, 기본적인 사용자 세션을 두 단계로 쪼개는 것을 선택했다.

    위에서 말한 세 파일이 존재하지 않거나 실행할 수 없다면, 사용자의 .Xresources 파일이 불려지고 (만약 이 파일이 존재한다면) xsm 프로그램이 exec’d 된다. xsm은 Red Hat Linux에서 지원되는 많은 윈도 매니저 가운데 하나이다.

 

사용자 정의 Xsession 파일

    시스템의 Xsession 파일에 대한 위 설명으로부터 당신이 이미 짐작했을 지도 모르지만, 사용자는 사용자 세션에서 수행되어질 그/그녀 자신의 셸 스크립트를 만들 수 있다.  이것은 매우 강력한 기능이고, X 로그인을 통해 그들이 로그인할 때마다 원하는 것을 어떤 것이라도 수행하는 능력을 각각의 사용자에게 제공한다. 이 스크립트에서, 사용자는 다양한 애플리케이션을 시동할 수 있고, 루트 윈도우 리소스를 설정하고, 한 번에(one-time) 환경 변수들을 설정하며, 기본 키보드 정의(定義: definition)를 변경하고 윈도우 매니저를 선택한다.

    당신 자신의 개인적인 Xsession 파일을 설정하는 가장 쉬운 방법은 시스템의 /etc/X11/xinit/Xclients 파일을 복사하여 홈 디렉터리에 .xsession 또는 .Xclients라는 이름으로 만들고 나서 (음, 앞으로, 유저의 Xsession 파일에 대하여 설명할 것이다.) 원하는 대로 이를 편집하는 것이다. 
    당신 자신이 이 일들을 할 수 있을 테니, 나는 /etc/X11/xinit/Xclients 파일의 항목들을 샅샅이 살펴보지 않을 것이다.  나는 다만, 어쩌면 그렇게 하려고 마음먹을지도 모르는 일을 몇 가지 설명할 것이다.

    처음으로 할 중요한 일은 원하는 리소스를 루트 윈도우로 불러들이는 것이다.  이는 일반적으로 아래 명령들로 이루어진다.

    resources=$HOME/.Xresources
    if [ -f “$resources” ]; then
     /usr/bin/X11/xrdb -load “$resources”
    fi

    사용자가 하려 들지 모르는 또 다른 일은, 무언가 색다른 루트 윈도우 배경을 설정하는 것이다. 이것은 /usr/bin/X11/xsetroot 명령으로 행해진다. 예를 들어, 나는 아래와 같이 내 배경화면을 정의했다.

    /usr/bin/X11/xsetroot -solid CadetBlue

    역자주: xsetroot는 “-bitmap <filename>” 옵션으로 비트맵 파일을 읽어들여 타일모드로 루트 윈도우에 도배한다. xv 유틸리티를 이용하면 더 다양한 모드를 선택할 수 있다.  나는 아래처럼 사용하고 있다:

    xv -root -quit -rmode 5 /usr/share/images/happy.bmp
    이 명령은 (/usr/X11R6/bin/xsetroot) 또한 루트 윈도우 기본 커서(cursor) 모양과 커서 색상 설정, 배경화면으로 두 가지 색조의 격자무늬 문양(pattern)이나, X 비트맵 패턴을 설정하는 데에 쓰일 수도 있음을 알아둔다.  
    또, /usr/bin/X11/xset 명령은 벨 음량을 원하는 만큼 조정하기 위해, 키 눌림, DPMS(에너지 절약) 기능과 마우스 매개변수에 쓰일 수도 있다.  이 명령은 또한 자동반복(autorepeat)과 화면보호 매개변수를 설정할 수도 있다.

    특별한 글쇠들을 정의하고 싶다면, 이 스크립트로부터 /usr/bin/X11/xmodmap을 실행할 수도 있다. 예를 들어, 나는 완전한 ISO 8859-1 문자 셋(set)에 접근 가능하게 만들어 국제화된 문자들을 내 문서들에 넣기를 좋아한다.  또한, 리눅스는 <Shift>F1을 F11로 동작하게 하고, <Shift>F2은 F12로 동작하도록 정의하기를 좋아한다. 내 키보드가 F11 키와 F12 키를 가지고 있으므로, 나는 이 키들이 각각 F13과 F14로 설정되도록 한다. 이렇게 다루기 위해, 나는 $HOME/.xmodmaprc에 아래 내용들을 포함하여 정의했다.

    keycode 113 = Multi_key
     keysym F1 = F1 F13
     keysym F2 = F2 F14
     keysym F3 = F3 F15
     ...
     keysym F10 = F10 F22
     keycode 95 = F11 F23
     keycode 96 = F12 F24

    그리고, 내 $HOME/.xsession 파일은 아래처럼 만들었다.

    if [ -r $HOME/.xmodmaprc ]; then
     /usr/bin/X11/xmodmap $HOME/.xmodmaprc
    fi

    마지막으로, 가장 중요한 단계는 윈도우 매니저를 실행하는 것이다.  Red Hat은 Windows 95와 매우 비슷하게 보이도록 설정할 수 있으므로 fvwm를 실행하기 좋아한다.  SGI 컴퓨터를 많이 사용하면서부터, 나는 오히려 모티프(Motif: 비용을 지불해야 하고 Linux에 기본으로 따라오지 않는)를 더 좋아한다.  
    xsm과 twm 역시 사용 가능하다.  당신은 더 좋아하는 윈도우 매니저를 결정하기 위해 각각의 맨 페이지를 읽고 싶어할지도 모르겠다.

    역자주: 
    RedHat은 fvwm2, fvwm95, Afterstep 등 다양한 윈도우 매니저를 사용해 왔다.  
    5.2 버전의 WindowMaker에 이어 최근 6.0에서는 GNOME 데스크탑 환경과 Enlightenment(E)을 기본 윈도우 매니저로 설정하고 있다. 모티프는 한 때 리눅스를 비롯한 유닉스 계열에서 사용하는 상용 윈도우 환경으로 꽤 명성이 있었지만, 지금은 오히려 시류(時流)에 많이 뒤쳐져 있다. 요즘 리눅스 배포본들은 KDE나 GNOME 환경을 선호한다.

    선택이 결정되었다면, 사용자는 Xsession 파일에서 마지막에 할 일로 윈도우 매니저를 exec할 수 있다. 이것은 사용자가 그들의 세션을 끝내고 로긴(login) 화면으로 돌아가기 위해서는, 윈도우 매니저를 끝내야 한다는 것을 의미한다. 나는 백그라운드 프로세스로 윈도우 매니저를 실행하고, 그리고 마지막 일로 xterm을 exec하는 것을 더 좋아한다. 이 방법으로, 내가 xterm 세션을 떠날 때, 사용자 세션이 끝나고 로긴 스크린이 불려질 것이다. X 디스플레이가 닫혀지게 되므로 윈도우 매니저와 어떤 윈도우 애플리케이션들은 종료되는 것을 주목한다. 백그라운드 프로세스로 시작된 어떤 비(非)-윈도우 애플리케이션들은 자동으로 종료되지 않고 유저세션이 끝난 후에도 계속 남아있을 수 있다.

    나는 Motif 윈도우 매니저를 아래처럼 시작한다:

    /usr/bin/X11/mwm

    나는 마지막으로 xterm을 이렇게 실행한다:

    exec nxterm -geometry 80x50+10+10 -ls

    이것은 다양한 색상을 제공하는 xterm 버전을 생성한다. 이 xterm은 한 화면에 80 문자열(characters wide)과 50행을 표시하게 될 것이다. 윈도우는 화면 위 왼쪽 구석에 자리잡게 될 것이다. (픽셀 위치 10x10에) 마지막 옵션은 로긴 셸로 셸을 실행하도록 nxterm에 강요(强要: forces)한다.

    사용자의 Xsession 파일 내용으로부터, 당신은 몇 개의 xterm, xclock 또는 당신이 로긴할 때 자동으로 시작할 모든 것을 실행할 수 있다. 각각의 애플리케이션이 당신이 원하는 화면에서 자리잡도록 geometry를 확실히 지정한다. (-geometry 옵션과 함께)
    또, 애플리케이션들을 후면(後面: background)에서 실행하는 것도 잘 기억한다. (줄 끝에 “&”문자를 붙임으로써) 만약 그렇게 하지 않으면, 사용자 Xsession 파일은 계속되기 전에 그 애플리케이션이 끝날 때까지 기다릴 것이다.

 

중요한 트릭들 (Important Tricks)

    이제 나는 사용자의 Xsession 파일로부터 이루어질 수 있는 좀 더 흥미롭고 중요한 트릭들을 말하려 한다.

    모든 윈도우 매니저들은 풀다운 메뉴로부터 프로그램들을 실행할 수 있다. 때로 이 프로그램들은 그들이 실행되기에 앞서 정의된 특별한 환경 변수들(environment variables)을 요구한다. (예를 들어, Netscape는 SOCKS_NS가 정의되어 있어야 할 것이다) 사용자의 환경 변수들이 일반적으로 셸이 시작될 때까지는 설정되지 않으므로, 윈도우 매니저와 어떤 프로그램들은 사용자 환경이 정의되지 않은 윈도우 매니저로부터 시작된다. 다른 좋은 방법이 없다면 $HOME/.cshrc, $HOME/,profile 또는 $HOME/.login에서 그들을 설정해 본다.

    한 가지 트릭은 이들 환경 변수를 사용자의 Xsession 파일에서 정의하는 것이다. 이는 당신이 윈도우 매니저를 시작하기 전에 필요한 환경변수들을 설정하기 위해서 이다.

    또 다른 한 가지 트릭은 내가 좋아하는 방법으로, 내 사용자 Xsession 파일에서 XUSERFILESEARCHPATH를 정의하는 것이다. 거의 대부분 애플리케이션들이 일반적으로 /usr/lib/X11/app-defaults에서 발견되는 애플리케이션 리소스 파일을 찾아 사용한다. 예를 들어, Netscape는 자신의 애플리케이션 리소스를 설정하기 위해 /usr/lib/X11/app-defaults/Netscape 파일을 사용한다. 만일 당신이 자신의 개인적인 환경을 위해 어떤 설정 값을 변경하고자 한다면, 이 파일을 복사하여 당신의 홈 디렉터리에 넣고 편집하면 된다. 다음 번에 당신이 Netscape를 실행할 때에는, 당신의 홈 디렉터리를 먼저 찾아보고 이를 사용할 것이다.

    나는 내 홈 디렉터리가 애플리케이션 리소스 파일로 어질러진 것을 알아차렸고 그들을, 나만의 개인적인 디렉터리 app-defaults에 넣고자 하였다. 나는 그런 디렉터리를 만들고 모든 리소스 파일들을 거기에 복사해 넣음으로써 이 것을 해냈다.
    그리고 나서, 나는 아래처럼 내 사용자 Xsession 파일에 XUSERFILESEARCHPATH를 설정했다.:

    /home/carlson/app-defaults/%N:/usr/lib/X11/%L/app-defaults/%N:/usr/lib/X11/app-defaults/%N

    이것은 애플리케이션이 /usr/lib/X11 아래 기본 위치로 찾아가기 전에 /home/carlson/app-defaults에서 애플리케이션 리소스 파일들을 찾도록 만든다.

    마지막 한 가지 트릭은 당신의 여러 컴퓨터에서 실행중인 모든 X 서버에 대한 것이다. 이 곳 집에, 내게는 SGI O2와 내 리눅스 머신이 있다. 내가 내 O2 시스템에 원격 로그인 할 때, X 애플리케이션을 실행할 수 있으며, 내 리눅스 박스에 그것들이 나타나기를 바란다. 이렇게 하려면, 나는 X 서버에 접근하는 원격 로긴을 허용하기 위해 내 리눅스 박스에 로그인할 때마다 xhost를 실행해야 한다.

    내 사용자 Xsession 파일 일부분에, 다음과 같은 줄이 있다.

    /usr/bin/X11/xhost +moonlight

    이 것은 moonlight라는 이름을 가진 내 O2 시스템으로부터 접근을 허용하기 위해 내 리눅스 박스에서 X 서버를 설정한다.

 

맺 음  (Conclusion)

    나는 당신이 이 정보에서 유용하고 재미있는 것들을 찾아내었기를 바란다. 나는 애플리케이션을 시작하고, 특별한 환경을 설정하고 당신 자신만의 윈도우 매니저를 실행하기 위해 당신 자신의 사용자 Xsession 파일을 어떻게 만들어야 할지 보여주려 했다. 나는 당신이 더 많은 아이디어들을 떠올릴 수 있으리라 확신한다.

    내가 글을 쓸 때 사용한 유용한 도구 하나는, SGI 시스템에서 제공된 것과 비슷한 애플리케이션에 바탕을 둔 것으로, ‘userenv’이다. 이 애플리케이션은 자식 프로세스로 로긴 셸을 생성하고 자신의 환경(environment)을 출력한다. 이 환경은 수집되고 나서, 셸에 의해 같은 환경을 생성하기 위해, 실행될 수 있는 형식으로 stdout(표준출력)으로 출력되었다.

    내 사용자 Xsession 파일에서, 나는 아래 줄을 가진다:
    eval `userenv`

    이것은 내 사용자 환경을 평가하고(computes) 똑 같은 환경을 생성하기 위해, 출력(output)을 셸이 실행할 수 있는 폼으로 다시 에코한다. eval 명령은 셸에 의해 수행된 것을 출력하게 한다.

    내 웹 사이트로부터, 이 프로그램 소스를 복사해도 좋다.  
    http://members.home.net/cwcarlson/files/utilities.tar.gz

    역자주: 아래는 userenv 명령의 실행결과를 한 부분 발췌한 것이다. env 명령 수행결과와 비교해 보자.

    el@elite el [6] $ ./userenv | head
    _=’/usr/bin/env’; export _
    PATH=’’/usr/bin:/usr/local/bin:/bin:/usr/bin:
    :/usr/X11R6/bin:/home/el/bin:/usr/X11R6/bin:/home/el/bin’;’; export PATH
    HOME=’’/home/el’;’; export HOME
    TERM=’’xterm-color’;’; export TERM
    OSTYPE=’linux-gnu’; export OSTYPE
    HOSTTYPE=’i386’; export HOSTTYPE
    SHLVL=’1’; export SHLVL
    LOGNAME=’’el’;’; export LOGNAME
    MAIL=’’/var/spool/mail/el’;’; export MAIL
    MACHTYPE=’i386-redhat-linux-gnu’; export MACHTYPE
    el@elite el [7] $

 

각 주  (Footnote)

    나는 Red Hat 5.1을 운용하고 있지만 몇 년 동안 두드러지게 바뀐 것이 없어 보인다. 또, 환경설정(configuration)이 Silicon Graphics IRIXR 같은 Unix 플랫폼과 거의 꼭 같은 것을 발견한다. 단지 다른 점이라면 디렉터리 파일들이 지속되게 하려는 것 같다.

    Copyright ⓒ 1999, Chris Carlson 
    Published in Issue 42 of Linux Gazette, June 1999

     

역자의 덧붙임:

    PC 스타일의 컴퓨터에서 사용하는 대부분 키보드에는 MS 윈도우즈 전용 명령키가 따라 나온다. 물론 리눅스에서 그런 기능은 전혀 사용되지 않는다. 말하자면 버려지는 키라고 할 수 있는데, 자판이 작은 노트북은 오른쪽 <ctrl>, <alt> 키를 없애면서까지 고집스럽게 그 놈들을 넣어 놓았다. 하기야, Window 9x에서도 오른쪽 <ctrl>, <alt> 키는 제 기능으로 쓰이지 않고 있었지만, 나는 참 괘씸한 생각이 든다.

    그런 키가 하나 더 있다. 한텀에서 한/영 전환은 <shift>+<space> (내 윈텔 깡통도 역시 한/영 대신 <shift>+<space>를 쓰도록 설정하였다)를 사용하도록 기본설정 되었으므로, 한/영 키에 특별한 애착을 가진 사람이 아니라면 대부분의 리눅서가 기본설정을 사용한다.
    여러분은 이미 내 의도를 알아차렸을 것이다. 그렇게 버려진 멍청한 윈도우 전용키를 다른 기능으로 활용하자는 것이다. 나는 내 홈디렉토리 아래 .Xmodmaprc 파일을 (/etc/X11/xinit/.Xmodmap을 복사한 것이다) 아래처럼 편집하여 그 목적을 일부 이루었다. 
    (안타깝게도 내 노트북에서는 한/영 키만 바꾼 설정값, 오른쪽 <ctrl>로 동작한다.)
    keycode 22 = BackSpace
    keycode 120 = Alt_L Meta_L
    keycode 121 = Hangul_Hanja
    !keycode 122 = Hangul
    keycode 122 = Control_R
    keycode 131 = Alt_R Meta_R
    add Mod1 = Alt_L Alt_R
    add Control = Control_L Control_R

    키코드 값은 ‘showkey -k’ 명령을 실행하고 원하는 키를 눌러 알아볼 수 있다. showkey를 종료할 때엔 10초간 키 입력을 멈추면 된다. X 윈도우에서 이 프로그램을 실행하려면 root 권한이 필요할 지도 모른다.



출처 : http://bbs.linuxlab.co.kr/docs/8-4.htm

'DB > Oracle' 카테고리의 다른 글

[LINUX] ORACLE 삭제  (0) 2011.06.29
[LINUX] ORACLE 설치 (9i, 10g, 11g)  (0) 2011.06.28
[LINUX] ORACLE 설치와 활용 - 1 (8i)  (0) 2011.06.28
오라클 정규식 (REGEXP_LIKE)  (0) 2011.06.07
DB export/import (tablespace가 다를경우)  (0) 2011.05.31