Solaris 공통 데스크탑 환경: 고급 사용자 및 시스템 관리자 안내서

1장 로그인 관리자 구성

로그인 관리자는 로그인 화면을 표시하고, 사용자를 인증하고, 사용자 세션을 시작하도록 할 책임이 있는 서버입니다. 그래픽 방식의 로그인은 비트맵 표시장치에서 기존의 문자 모드 로그인을 대체하는 편리한 방식입니다. 로그인 서버에 의해 관리되는 표시장치는 로그인 서버에 직접 연결되거나 또는 네트워크상의 X 터미널이나 워크스테이션에 연결됩니다.


주 -

로그인 서버를 시작, 중지, 또는 사용자 정의하려면 루트 사용자여야 합니다.


로그인 서버가 수행하는 일은 다음과 같습니다.

로그인 관리자가 관리하는 표시장치는 로그인 관리자 서버나 네트워크상의 X 터미널 또는 워크스테이션에 직접 연결할 수 있습니다. 지역 표시장치의 경우, 로그인 서버가 자동으로 X 서버를 시작한 다음, 로그인 화면을 표시합니다. X 터미널과 같은 네트워크 표시장치의 경우, 로그인 서버는 X 표시장치 관리자 프로토콜(XDMCP) 1.0을 지원하며, 표시장치는 이 프로토콜을 사용하여 로그인 서버가 표시장치에 로그인 화면을 표시하도록 요청할 수 있습니다.

로그인 서버 시작

로그인 서버는 일반적으로 시스템이 부트될 때 시작됩니다. 로그인 서버는 또한 명령행에서 시작할 수도 있습니다.

데스크탑 구성 유틸리티, dtconfig에 대한 자세한 내용은 부록 A를 참조하십시오. 부록 A에는 dtconfig.1 매뉴얼 페이지의 사본이 수록되어 있습니다.


주 -

임시 환경설정 시험을 위해 명령행에서 로그인 서버를 시작할 수는 있지만, 로그인 서버는 시스템을 부트할 때 정상적으로 시작해야 합니다.


지역 표시장치 및 네트워크 표시장치 관리

그림 1-1은 로그인 서버 구성의 한 예입니다.

그림 1-1 로그인 서버 구성의 예

Graphic

로그인 서버 프로세스 ID 찾기

기본적으로 로그인 서버는 프로세스 ID를 /var/dt/Xpid에 저장합니다.

이를 변경하려면 Xconfig 파일에서 Dtlogin.pidFile 자원을 설정합니다. 변경된 경우에는 지정된 디렉토리가 로그인 서버 시작시에 존재해야 합니다.

Xconfig를 수정하려면, Xconfig/usr/dt/config에서 /etc/dt/config로 복사하십시오. /etc/dt/config/Xconfig를 수정한 후에 다음을 입력하여 로그인 서버에 Xconfig를 다시 읽도록 알려주십시오.

/usr/dt/bin/dtconfig -reset

이렇게 하면 명령어 kill -HUP login_server_process_ID가 수행됩니다.

예를 들어, 로그인 서버 프로세스 ID를 /var/myservers/Dtpid 에 저장하려면, Xconfig 파일에 다음을 설정하십시오.

Dtlogin.pidFile: /var/myservers/Dtpid

로그인 서버를 다시 시작할 때 로그인 서버가 프로세스 ID를 /var/myservers/Dtpid에 저장합니다. 로그인 서버가 시작할 때 /var/myservers 디렉토리가 존재해야 합니다.

로그인 화면을 지역 표시장치에 표시

시작시, 로그인 서버는 Xservers 파일을 점검하여 X 서버를 시작해야 하는지를 결정하고, 로그인 화면이 지역 또는 네트워크 표시장치에 표시되어야 하는지 여부와 그 표시 방법을 결정합니다.

Xservers를 수정하려면, Xservers/usr/dt/config에서 /etc/dt/config로 복사하십시오. /etc/dt/config/Xservers를 수정한 후에 다음을 입력하여 로그인 서버에 Xservers를 다시 읽도록 알려주십시오.

/usr/dt/bin/dtconfig -reset

이렇게 하면 명령어 kill -HUP login_server_process_ID가 수행됩니다.

Xservers 행의 형식은 다음과 같습니다.

display_name
display_class
display_type
X_server_command

여기서

display_name-X 서버에 연결할 때 사용할 연결 이름을 로그인 서버에 알려줍니다(다음 예에서는 :0). 별표(*) 값은 호스트명:0으로 확장됩니다. 지정된 숫자는 X_server_command 연결 번호에서 지정된 번호와 일치해야 합니다.

display_class-이 표시장치에 특정한 자원을 식별합니다(다음 예에서는 Local).

display_type-표시장치가 지역 또는 네트워크 표시 장치인지와 로그인 화면에서 명령행 로그인 옵션을 관리하는 방법을 로그인 서버에 알려줍니다(다음 예에서는 local@console).

X_server_command-로그인 서버가 X 서버를 시작하기 위해 사용할 명령행, 연결 번호 및 기타 옵션을 식별합니다(다음 예에서는 /usr/bin/X11/X:0). 지정된 연결 번호는 display_name에서 지정된 숫자와 일치해야 합니다.

기본 Xservers 행은 다음과 유사합니다.

:0 Local local@console /usr/bin/X11/X :0 

지역 표시장치 없이 로그인 서버 실행

로그인 서버 시스템에 비트맵 표시장치가 없는 경우, #(파운드 부호)를 사용하여 지역 표시장치에 대한 Xservers 행을 주석으로 만들어 로그인 서버를 지역 표시장치 없이 실행하십시오. 예를 들면 다음과 같습니다.

# :0 Local local@console /usr/bin/X11/X :0

로그인 서버가 시작될 때, 네트워크 표시장치의 요청을 기다리며 백그라운드에서 실행됩니다.

지역 표시장치에서 명령행 로그인 액세스

사용자가 로그인 화면에서 명령행 로그인을 선택한 경우, 로그인 서버는 일시적으로 X 서버를 종료하여 비트맵 표시 터미널 장치에서 실행되는 이전의 명령행 로그인에 액세스할 수 있게 합니다. 사용자가 로그인했다가 로그아웃한 후, 또는 지정된 시간이 종료한 후에 로그인 서버는 X 서버를 다시 시작하게 합니다.


주 -

명령행 로그인 옵션은 네트워크 표시장치에서는 사용할 수 없습니다.


display_type은 명령행 로그인의 동작을 제어합니다. display_type의 형식은 다음과 같습니다.

local@display_terminal_device가 지정되면, 로그인 서버는 X 서버와 /dev/display_terminal_device 가 동일한 물리적 장치에 있으며, 명령행 로그인(일반적으로 getty)이 이 장치에서 실행되고 있다고 가정합니다. 사용자가 명령행 로그인을 선택하면, X 서버가 종료되어 /dev/display_terminal_device 에서 실행되는 실행중인 명령행 로그인(getty)에 액세스할 수 있게 합니다.

표시장치에서 명령행 로그인 옵션을 사용하지 않으려면, display_terminal_devicenone로 지정하십시오. 기본 display_terminal_deviceconsole입니다. local이 지정되면 display_terminal_device는 기본적으로 console이 됩니다. foreign이 지정되면, 명령행 로그인을 사용할 수 없습니다.


주 -

로그인 서버가 명령행에서 시작될 때는 명령행 로그인 옵션을 지역 표시장치에서 사용할 수 없게 됩니다.


문자 표시 콘솔 허용

로그인 서버 시스템이 콘솔 역할을 하는 문자 표시장치에 직접 연결된 경우, 비트맵 표시 로그인 화면에서 명령행 로그인을 사용 불가로 설정하기 위해 display_terminal_devicenone로 설정할 수도 있습니다.

그렇지 않으면, 명령행 로그인(getty)이 문자 표시 콘솔과 비트맵 표시장치 모두에서 실행중인 경우 비트맵 표시장치에서 display_terminal_device를 명령행 로그인(getty) 장치로 변경할 수 있습니다.

예를 들어, 비트맵 표시장치 명령행 로그인(getty)이 장치 /dev/tty01에 있으면, display_type을 local@tty01로 변경하십시오.

네트워크 표시장치에 로그인 화면 표시

로그인 서버는 로그인 화면을 특정 표시장치에 표시하려는 네트워크 표시장치의 요청을 승인할 수 있습니다. 네트워크 표시장치는 일반적으로 X 터미널이지만 워크스테이션이 될 수도 있습니다.

네트워크 표시장치의 요청을 관리하기 위해 로그인 서버는 X 표시장치 관리자 프로토콜(XDMCP) 1.0을 지원합니다. 이 프로토콜을 통해 로그인 서버는 네트워크 표시장치의 요청을 협상하여 승인하거나 거부할 수 있습니다. 대부분의 X 터미널에는 XDMCP가 내장되어 있습니다.

XDMCP 네트워크 표시장치의 직접 요청

X 터미널이 XDMCP 직접(조회 모드)을 사용하도록 구성한 경우, X 터미널에 로그인 서버 호스트의 호스트명을 알려주어야 합니다. X 터미널은 부트되면 자동으로 로그인 서버에 연결하고 로그인 서버는 로그인 화면을 X 터미널에 표시합니다. X 터미널을 XDMCP 직접 모드로 구성하는 방법에 관한 내용은 사용자의 X 터미널 설명서를 참조하십시오.

대부분의 X 서버는 -query 옵션도 지원합니다. 이 모드에서, 사용자의 X 서버는 X 터미널인 것처럼 동작하여, 로그인 서버 호스트를 직접 연결하고 로그인 화면을 X 서버에 표시할 것을 요청합니다. 예를 들어, X 서버를 워크스테이션 bridget의 비트맵 표시장치에서 시작하면 로그인 서버 anita가 X 서버에 로그인 화면을 표시할 것입니다.

X -query anita

XDMCP 네트워크 표시장치의 간접 요청

X 터미널이 XDMCP 간접 모드를 사용하도록 구성한 경우, X 터미널에 로그인 서버 호스트의 호스트명을 알려주어야 합니다. X 터미널은 부트되면 로그인 서버에 연결하고, 로그인 서버는 선택기 화면을 통해 네트워크상의 다른 로그인 서버 호스트의 목록을 표시합니다. 이 목록에서 사용자가 호스트를 선택하면 호스트는 로그인 화면을 사용자의 X 터미널에 표시할 것입니다. X 터미널을 XDMCP 간접 모드로 구성하는 방법에 관한 내용은 사용자의 X 터미널 설명서를 참조하십시오.

대부분의 X 서버는 직접 모드와 함께 -indirect 옵션을 지원하므로 X 서버는 XDMCP 간접 모드로 로그인 서버를 연결할 수 있습니다.

XDMCP를 지원하지 않는 네트워크 표시장치 관리

이전 X 터미널은 XDMCP를 지원하지 않을 수도 있습니다. 로그인 서버가 이런 유형의 X terminal에 로그인 화면을 표시하도록 하려면, X 터미널 이름을 Xservers 파일에 나열하십시오.

표시장치는 네트워크상에 있으므로 display_name은 이름의 일부에 호스트명을 포함합니다. display class는 특정 클래스의 X 터미널에 고유한 자원을 지정하는데 사용할 수 있습니다. (사용자의 X 터미널 설명서에 X 터미널의 표시장치 클래스가 표시되어 있습니다.) 이기종display_type은 로그인 서버에게 직접 시작하지 말고 기존의 X 서버에 연결하도록 알려줍니다. 이 경우, X_server_command는 지정되지 않습니다.

Xservers 파일의 다음 행들은 로그인 서버가 XDMCP를 지원하지 않는 X 터미널인 rubywolfie에 로그인 화면을 표시하도록 지시합니다.

ruby.blackdog.com:0 AcmeXsta foreign wolfie:0 PandaCo foreign

로그인 서버에 대한 액세스 제어

기본적으로, 로그인 서버 호스트에 액세스할 수 있는 네트워크상의 모든 호스트는 로그인 화면이 표시되도록 요청할 수 있습니다. Xaccess 파일을 수정하여 로그인 서버에 대한 액세스를 제한할 수 있습니다.

Xaccess를 수정하려면, Xaccess/usr/dt/config에서 /etc/dt/config로 복사하십시오. /etc/dt/config/Xservers를 수정한 후에 다음을 입력하여 로그인 서버에 Xservers를 다시 읽도록 알려주십시오.

/usr/dt/bin/dtconfig -reset

이렇게 하면 명령어 kill -HUP login server process ID가 수행됩니다.

XDMCP 직접

호스트가 XDMCP 직접을 통해 로그인 서버에 연결하려고 시도하는 경우, 호스트명을 Xaccess 항목과 비교하여 호스트가 로그인 서버에 액세스할 수 있는지 결정됩니다. 각 Xaccess 항목은 와일드카드 *(별표)와 ?(물음표)를 포함하는 호스트명입니다 . *(별표)는 모든 문자에 해당하며 ? (물음표)는 단일 문자에 해당합니다. ! (느낌표)가 항목 앞에 있으면 액세스를 허용하지 않으며, 없는 경우는 액세스를 허용합니다.

예를 들어, say Xaccess에는 다음과 같은 세 항목이 포함됩니다.

amazon.waterloo.com *.dept5.waterloo.com !*

첫번째 항목은 호스트 amazon.waterloo.com에서 로그인 서버로 액세스할 수 있으며, 두번째 항목은 전체 도메인 이름이 dept5.waterloo.com으로 끝나는 모든 호스트의 액세스를 허용하며, 마지막 항목은 그 외의 어떤 호스트의 액세스도 허용하지 않습니다.

XDMCP 간접

호스트가 XDMCP 간접을 통해 로그인 서버에 연결하려고 시도하는 경우, 호스트가 로그인 서버에 액세스할 수 있는지 결정하기 위해 호스트명을 Xaccess 항목과 비교합니다. 각 Xaccess 항목은 CHOOSER 문자열로 표시된 것을 제외하고는 XDMCP 직접 항목과 유사하며 와일드카드를 포함합니다. 예를 들면 다음과 같습니다.

amazon.waterloo.com   CHOOSER BROADCAST
*.dept5.waterloo.com  CHOOSER BROADCAST
!*		CHOOSER BROADCAST

역시, 첫번째 항목은 호스트 amazon.waterloo.com로부터 로그인 서버로 액세스할 수 있으며, 두번째 항목은 전체 도메인 이름이 dept5.waterloo.com으로 끝나는 호스트의 액세스를 허용하며, 마지막 항목은 어떤 호스트의 액세스도 허용하지 않습니다.

다음 중 하나가 CHOOSER 다음에 올 수 있습니다.

BROADCAST는 로그인 서버에게 로그인 서버 하위 네트워크에 사용 가능한 로그인 서버 호스트 목록을 작성하도록 브로드캐스트하도록 지시합니다. 호스트명 목록은 로그인 서버에게 이 목록을 사용 가능한 로그인 호스트 목록으로 사용하도록 알려줍니다. 예를 들어,

amazon.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com
*.dept5.waterloo.com CHOOSER BROADCAST
!* 		CHOOSER BROADCAST 

amazon.waterloo.com이 XDMCP 간접을 통해 연결되면, shoalalum을 포함한 목록이 표시될 것입니다. alice. dept5.waterloo.com이 연결되면, 로그인 서버 하위 네트워크상에 모든 사용 가능한 로그인 서버 호스트 목록과 함께 표시됩니다. 다른 XDMCP 간접 요청은 거부됩니다.

호스트명 목록을 지정하는 또 다른 방법은 호스트명 목록을 포함하는 하나 이상의 매크로를 정의하는 것입니다. 예를 들면 다음과 같습니다.

%list1			shoal.waterloo.com alum.waterloo.com
amazon.waterloo.com  CHOOSER %list1

오류 점검

기본적으로, 로그인 서버는 오류를 /var/dt/Xerrors 파일에 기록합니다. 이를 변경하려면 Xconfig 파일에 Dtlogin.errorLogFile 자원을 설정하면 됩니다. 로그인 서버가 시작될 때 지정된 디렉토리가 존재해야 합니다.

예를 들어, 로그인 서버가 오류를 /var/mylogs/Dterrors 파일에 저장하려면, Xconfig 파일에 다음을 설정하십시오.

Dtlogin.errorLogFile: /var/mylogs/Dterrors

로그인 서버를 다시 시작할 때 로그인 서버가 오류를 /var/mylogs/Dterrors파일에 저장합니다. /var/mylogs 디렉토리는 로그인 서버가 시작할 때 존재해야 합니다.

로그인 서버 중지

 /usr/dt/bin/dtconfig -d

이렇게 하면 다음에 재부트할 때 시스템이 로그인 서버를 시작하지 않게 됩니다.

	/usr/dt/bin/dtconfig -kill

이렇게 하면 명령어 kill login_server_process_ID가 실행됩 니다.


주 -

가 수행됩니다. 로그인 서버 프로세스를 강제 종료하면 로그인 서버가 관리하는 모든 사용자 세션이 종료됩니다.


프로세스 ID를 강제 종료하여 로그인 서버를 중지할 수도 있습니다. 로그인 서버 프로세스 ID는 /var/dt/Xpid에 저장되거나,Dtlogin.pidFile 자원이Xconfig에 지정한 파일에 저장됩니다.

로그인 서버를 강제 종료할 때 데스크탑에 로그인하면 데스크탑 세션이 즉시 종료됩니다.

로그인 화면

로그인 서버가 표시하는 로그인 화면은 이전의 문자 모드 로그인 화면의 효과적인 대안으로서 문자 모드 로그인에서 제공한 기능 이상을 제공합니다.

그림 1-2 데스크탑 로그인 화면

Graphic

문자 모드 로그인과 마찬가지로 사용자는 사용자 이름을 입력한 후에 암호를 입력합니다. 인증을 받으면 로그인 서버가 사용자에 대한 데스크탑 세션을 시작합니다. 사용자가 데스크탑 세션을 종료하면, 로그인 서버는 새 로그인 화면을 표시하며 프로세스가 다시 시작됩니다.

로그인 화면을 사용자 정의하는 방법

이러한 작업은 각각 모든 표시장치에서 또는 개별적인 표시장치에서 수행할 수 있습니다.

로그인 화면 모양 변경

로그인 화면 모양을 사용자 정의하려면, 로고, 그래픽, 환영 메시지, 글꼴 등을 변경하면 됩니다.

Xresources를 수정하려면, Xresources/usr/dt/config/language에서 /etc/dt/config/language로 복사하십시오. 다음 번에 로그인 화면을 표시할 때, 모든 변경 사항이 로그인 화면에 반영됩니다. 로그인 화면을 다시 표시하게 하려면 로그인 화면 옵션 메뉴에서 로그인 화면 재설정을 선택하십시오.

Xresources 파일의 자원 사양에 따라 결정되는 로그인 화면 속성은 다음과 같습니다.

Dtlogin*logo*bitmapFile-로고 이미지로 표시할 비트맵 또는 픽스맵 파일

Dtlogin*greeting*persLabelString-개인별 환영 메시지

Dtlogin*greeting*labelString-환영 메시지

Dtlogin*greeting*fontList 환영 메시지의 글꼴

Dtlogin*labelFont누름 버튼 및 레이블의 글꼴

Dtlogin*textFont도움말 및 오류 메시지의 글꼴

Dtlogin*language*languageName 로켈 이름 language의 대체 텍스트

로고를 변경하는 방법

    Xresources에서 Dtlogin*logo*bitmapFile 자원을 설정하십시오.

로고는 색상 픽스맵 또는 비트맵 파일일 수 있습니다.

다음 예에서는 Mylogo 비트맵을 로고로 사용합니다.

Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm

환영 메시지 변경 방법

기본적으로, 로그인 서버는 환영합니다! 호스트:호스트명이라는 메시지를 로그인 화면에 표시합니다. 이 메시지를 변경하려면

    XresourcesDtlogin*greeting*labelString 자원을 설정하십시오.

labelString 자원 값에는 로그인 서버 호스트명으로 대체할 수 있는% LocalHost%와, X 서버 표시장치 이름으로 대체할 수 있는 %DisplayName%이 포함될 수 있습니다.

다음 예에서는 환영 메시지를 Here's host name!으로 변경하고 있습니다.

Dtlogin*greeting*labelString: Here's %LocalHost%!

일단 사용자명이 입력되면, 로그인 서버는 기본적으로 username 환영합니다! 메시지를 표시합니다. XresourcesDtlogin*greeting*persLabelString 자원을 설정하여 이 메시지를 변경할 수 있습니다. persLabelString 값에는 % s가 포함될 수 있으며 이는 사용자명으로 대체될 것입니다.

다음 예는 개인별 환영 메시지를 안녕하십니까 사용자명으로 변경합니다.

Dtlogin*greeting*persLabelString: 안녕하십니까 %s 

글꼴 변경 방법

Xresources에 다음 글꼴 자원 중 하나를 설정하여 로그인 화면에 사용된 글꼴을 변경할 수 있습니다.

Dtlogin*greeting*fontList-환영 메시지의 글꼴

Dtlogin*labelFont-누름 버튼 및 레이블의 글꼴

Dtlogin*textFont-도움말 및 오류 메시지의 글꼴

사용가능한 글꼴을 나열하려면 다음을 입력하십시오.

xlsfonts [-options] [-fn
pattern]

다음 예에서는 환영 메시지에 큰 글꼴을 사용하고 있습니다(사용자가 지정하는 값은 모두 한 행에 입력해야 합니다).

Dtlogin*greeting*fontList: -dt-interface \
system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:

각 언어 표시를 위한 대체 텍스트 제공 방법

로켈 이름의 기본 표시 대신 로그인 화면 언어 메뉴에 로켈별 텍스트를 표시하려면 Xresources에서 Dtlogin*language*languageName 자원 이름 자원을 수정하십시오.

Dtlogin*En_US*languageName: American

이제 로켈 이름 En_US 대신에 American이 표시됩니다.

로그인 화면 동작 변경

로그인 화면의 동작을 사용자 정의하려면 Xconfig 파일에서 지정된 자원을 수정합니다.

Xconfig를 수정하려면, Xconfig/usr/dt/config에서 /etc/dt/config로 복사하십시오. /etc/dt/config/Xconfig를 수정한 후에 다음을 입력하여 로그인 서버에 Xconfig를 다시 읽도록 알려주십시오.

/usr/dt/bin/dtconfig -reset

이렇게 하면 명령어 kill -HUPlogin server process ID가 수행됩니다.)

Xconfig 파일에 지정된 자원은 다음과 같습니다.

Dtlogin*authorize-Xaccess 파일 사양

Dtlogin*environment-X 서버 환경

Dtlogin*language-기본 언어

Dtlogin*languageList-로그인 화면 언어 메뉴의 언어 목록

Dtlogin*resources-Xresources 사양

Dtlogin*setup-Xsetup 파일 사양

Dtlogin*startup-Xstartup 파일 사양

Dtlogin*session-Xsession 파일 사양

Dtlogin*failsafeClient-Xfailsafe 스크립트 사양

Dtlogin*reset-Xreset 스크립트 사양

Dtlogin*userPath- XsessionXfailsafe의 경로

Dtlogin*systemPath-Xsetup, XstartupXfailsafe의 경로

Dtlogin*systemShell-Xsetup, XstartupXfailsafe의 경로

Dtlogin.timeZone-모든 스크립트에 대한 TZ

표시 장치별 로그인 화면 동작 변경

다음 예에서, Xconfig 자원을 변경하면 모든 표시장치의 로그인 화면이 변경됩니다. *(별표)와 함께 나열된 자원은 표시장치별로 지정될 수 있습니다. 이렇게 하면 특정 표시장치에 대한 사용자 정의 로그인 화면 동작을 지정할 수 있습니다. 특정 표시장치에 대한 자원을 지정하려면 자원이 Dtlogin*displayName*resource로 지정되어야 합니다. 예를 들어, 사용자 기준 액세스 제어가 expo:0 표시장치에 대해서는 작동되지 않게 하고 다른 표시장치에 대해서는 작동되게 하려면, 다음과 같이 지정하십시오.

Dtlogin*expo_0*authorize: False

주 -

표시장치 이름에서 :(콜론) 또는 .(마침표)와 같은 특수 문자는 _(밑줄)로 교체됩니다.


X 서버 액세스 변경

기본적으로, 로그인 서버는 각 사용자마다 X 서버 액세스 제어를 허용하며, HomeDirectory/.Xauthority 파일에 저장되어 보호되고 있는 허가 데이터에 근거하고 있습니다. 이 파일을 읽을 수 있는 사용자만이 X 서버에 연결하도록 허용됩니다. 일반적으로, 이 방법이 X 서버 액세스 제어가 선호하는 방법입니다.

사용자 기준 액세스 제어의 대안은 호스트 기준 액세스 제어입니다. 이 방법을 사용하면, 호스트가 X 서버에 액세스할 권한이 있는 경우, 해당 호스트의 모든 사용자는 X 서버에 연결할 수 있습니다. 호스트 기준 제어를 사용해야하는 이유는 다음과 같습니다.

X 서버 환경 변경 방법

X 서버가 로그인 서버에 의해 시작될 때 X 서버에 하나 이상의 환경 변수 및 값을 제공하려면, Xconfig에서 Dtlogin*environment 자원을 사용하여 이를 지정할 수 있습니다. 예를 들어,

Dtlogin*environment: VAR1=foo VAR2=bar

는 변수 VAR1VAR2를 지역 X 서버 프로세스가 사용할 수 있도록 만듭니다. 이러한 변수는 Xsession Xfailsafe 스크립트로 내보낼 수도 있습니다.

기본 언어 변경 방법

사용자가 로그인 화면에서 데스크탑으로 로그인한 경우, 사용자 세션은 옵션 메뉴의 언어 하위 메뉴에서 선택된 로켈에서 실행됩니다. 사용자가 언어를 선택하지 않은 경우, 로그인 서버 기본 언어가 사용됩니다. Xconfig에서 Dtlogin*language 자원을 설정하여 기본 언어 값을 제어할 수 있습니다. 예를 들면 다음과 같습니다.

Dtlogin*language: Ja_JP

시스템 설명서를 보고 시스템에 설치된 언어를 확인하십시오.

로그인 화면 언어 메뉴 내용 변경 방법

기본적으로 로그인 서버는 시스템에 설치된 모든 로켈 목록이 들어있는 로그인 화면 언어 메뉴를 작성합니다. 사용자가 로그인 화면 언어 목록에서 로켈을 선택하면 로그인 서버는 로그인 화면을 선택된 로켈에서 다시 표시합니다. 사용자가 다음에 로그인하면, 로그인 서버는 해당 로켈로 사용자에 대한 데스크탑 세션을 시작합니다.

다음과 같이 Xconfig에서 Dtlogin*languageList 자원을 수정하여 사용자 자신의 언어 목록을 지정할 수 있습니다.

Dtlogin*languageList: En_US De_DE

로그인 서버는 이제 로그인 화면 언어 메뉴에 En_USDe_DE만 표시합니다.

로그인 화면이 표시되기 전에 명령어 수행

X 서버가 시작된 후 로그인 화면을 표시하기 전에 로그인 서버는 Xsetup 스크립트를 실행합니다. Xsetup은 루트 권한으로 실행되며 로그인 화면이 표시되기 전에 실행해야 하는 명령어를 수행합니다.

Xsetup을 수정하려면, Xsetup/usr/dt/config에서 /etc/dt/config로 복사하십시오. 다음 번에 로그인 화면이 표시될 때 수정된 Xsetup이 실행됩니다.

사용자 세션을 시작하기 전에 명령어 수행

사용자가 사용자명과 암호를 입력하여 인증을 받은 후 사용자 세션을 시작하기 전에 로그인 서버는 Xstartup 스크립트를 실행합니다. Xstartup은 루트 권한으로 실행되며 사용자 세션이 시작되기 전에 루트로 실행해야 하는 명령어를 수행합니다.

Xstartup을 수정하려면, Xstartup/usr/dt/config에서 /etc/dt/config로 복사하십시오. 다음 번에 사용자가 로그인하면 수정된 Xstartup이 실행됩니다.

데스크탑 세션 시작

기본적으로, 로그인 서버는 Xsession 스크립트를 실행하여 사용자 세션을 시작합니다. Xsession은 사용자 권한으로 실행되며 데스크탑을 시작하는데 필요한 명령어를 수행합니다.


주 -

Xsession 스크립트를 직접 갱신하지 마십시오.


사용자 데스크탑 세션 시작을 사용자 정의하는 방법에 관한 내용은 제 2 장을 참조하십시오.

Failsafe 세션 시작

사용자가 로그인 화면 옵션 메뉴의 세션 하위 메뉴에서 Failsafe 세션을 선택하면, 로그인 서버는 Xfailsafe 스크립트를 실행합니다. Xfailsafe는 사용자 권한으로 실행되며 일반적으로 터미널 윈도우 및 선택적 윈도우 관리자인 최소 윈도우 환경을 시작하는데 필요한 명령어를 수행합니다.

Xfailsafe를 수정하려면, Xfailsafe/usr/dt/config에서 /etc/dt/config로 복사하십시오. 다음 번에 사용자가 로그인하면 수정된 Xfailsafe가 실행됩니다.

사용자 세션이 끝난 후

사용자가 데스크탑 또는 failsafe 세션을 종료하면, 로그인 서버는 Xreset 스크립트를 실행합니다. Xreset은 루트 권한으로 실행되며 사용자 세션이 끝난 후에 루트로 실행해야 하는 명령어를 수행합니다.

Xreset을 수정하려면, Xreset/usr/dt/config에서 /etc/dt/config로 복사하십시오. 다음 번에 사용자가 로그인하면 수정된 Xreset이 실행됩니다.

로그인 서버 환경

로그인 서버는 Xsetup, Xstartup, Xsession, XfailsafeXreset 스크립트로 내보낼 환경을 제공합니다. 이 환경은 표 1-1에 설명되어 있습니다. 추가 변수도 로그인 서버가 내보낼 수 있습니다.

표 1-1 로그인 서버 환경

환경 

변수 

Xsetup

Xstartup

Xsession

Xreset

설명 

LANG

기본 또는 선택된 언어 

XAUTHORITY

대체 X 권한 파일(선택사항) 

PATH

Dtlogin*userPath 자원(Xsession, Xfailsafe) 또는 Dtlogin*systemPath 자원(Xsetup, Xstartup , Xreset)의 값

DISPLAY

X 서버 연결 번호 

SHELL

/etc/passwd (Xsession, Xfailsafe) 또는 Dtlogin*systemShell 자원 ( Xsetup, Xstartup, Xreset)에 지정된 쉘

TZ

Dtlogin.timeZone 자원의 값 또는 시스템에서 결정한 시간대

USER

 

사용자 이름 

HOME

 

/etc/passwd에 지정된 홈 디렉토리

LOGNAME

 

사용자 이름 

사용자 또는 시스템 경로 변경

로그인 서버는 XsessionXfailsafe 스크립트를 실행할 때 PATH 환경 변수를 설정합니다. 사용자는 이 스트립트에 대체 경로를 제공할 수 있습니다.

사용자 경로 변경 방법

    Xconfig에서 Dtlogin*userPath 자원을 설정하십시오. 예를 들면 다음과 같습니다.

	Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

시스템 경로 변경 방법

    Xconfig에서 Dtlogin*systemPath 자원을 설정하십시오. 예를 들면 다음과 같습니다.

	Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

사용자 또는 시스템 쉘 변경 방법

로그인 서버는 Xsetup, XstartupXfailsafe 스크립트를 실행할 때 SHELL 환경 변수를 설정합니다. 기본값은 /bin/sh입니다. 이 스크립트에 대체 쉘을 제공하려면 Xconfig에서 Dtlogin*systemShell 자원을 설정합니다. 예를 들면 다음과 같습니다.

Dtlogin*systemShell: /bin/ksh

시간대 변경 방법

로그인 서버는 Xsetup, Xstartup, Xsession, XfailsafeXreset 스크립트를 실행할 때 TZ 환경 변수를 설정합니다. 기본값은 시스템에서 얻게 되므로 일반적으로 이 동작을 변경할 필요가 없습니다. 이 스크립트에 대체 시간대를 제공하려면 Xconfig에서 Dtlogin.timeZone 자원을 설정하십시오. 예를 들면 다음과 같습니다.

Dtlogin.timeZone: CST6CDT

로그인 관리자 관리

로그인 서버가 시작되면, 하나의 dtlogin 프로세스가 시작됩니다. dtlogin 프로세스는 Xconfig 파일을 읽어 초기 로그인 서버 구성을 결정하고 다른 로그인 서버 환경설정 파일의 위치를 찾습니다. 그런 다음 로그인 서버는 Xservers 파일을 읽어 명시적으로 관리해야 할 표시장치가 있는지를 확인하고, 또한 Xaccess 파일을 읽어 로그인 서버로의 액세스를 제어합니다.

로그인 서버가 Xservers 파일에서 지역 표시장치를 관리할 필요가 있다는 것을 발견하면, Xservers 파일에 지시된 대로 X 서버를 시작한 다음에 해당 표시장치에 로그인 화면을 표시합니다.

로그인 서버가 네트워크 표시장치를 관리할 필요가 있다는 것을 Xservers 파일에서 발견하면, X 서버가 이미 지정된 표시장치 이름으로 실행된다고 가정하고 그 표시장치에 로그인 화면을 표시합니다.

그런 다음 로그인 서버는 네트워크로부터 XDMCP 요청을 기다립니다.

관리되는 각 표시장치에 대해 로그인 서버는 먼저 해당 표시장치에 대해 새로운 dtlogin 프로세스를 작성합니다. 이는 로그인 서버가 n개의 표시장치를 관리하고 있는 경우, n+1개의 dtlogin 프로세스가 생기게 된다는 것을 의미합니다. 로그인 서버는 Xsetup 스크립트를 실행하고, Xresources 파일을 로드한 후, 로그인 화면을 표시하기 위해 dtgreet를 실행합니다. 일단 사용자가 사용자명과 암호를 입력하고 승인을 받으면, 로그인 서버는 Xstartup 스크립트를 실행한 후, Xsession 또는 Xfailsafe 스크립트를 실행합니다. 사용자가 세션을 종료하면, 로그인 서버는 Xreset 스크립트를 실행합니다.

로그인 서버가 XDMCP 간접 요청을 받으면, dtchooser를 실행하여 표시장치에 로그인 서버 호스트 목록을 표시합니다. 사용자가 목록에서 호스트를 선택하면 해당 호스트의 로그인 서버가 표시장치를 관리합니다.

Xaccess, Xconfig, Xfailsafe, Xreset, language/Xresources, Xservers, XsetupXstartup 환경설정 파일의 경우, 로그인 서버는 기본적으로 먼저 /etc/dt/config에서 찾고, 그 다음에 /usr/dt/config에서 찾아 가장 먼저 발견된 파일을 사용합니다.

로그인 관리자 파일

로그인 관리자 파일의 기본 위치는 다음과 같습니다.

/usr/dt/bin/dtlogin-로그인 서버와 표시장치 관리자

/usr/dt/bin/dtgreet-표시장치에 대한 로그인 화면을 표시합니다.

/usr/dt/bin/dtchooser-표시장치에 대한 선택기 화면을 표시합니다.

/usr/dt/bin/Xsession-데스크탑 세션을 시작합니다.

/usr/dt/config/Xfailsafe-failsafe 세션을 시작합니다.

/usr/dt/config/Xconfig-로그인 서버 환경설정 파일

/usr/dt/config/Xservers-로그인 서버 표시장치 설명 파일

/usr/dt/config/Xaccess-로그인 서버 액세스 설명 파일

/usr/dt/config/language/Xresources-표시장치 레이아웃 자원

/usr/dt/config/Xsetup-표시장치 설치 파일

/usr/dt/config/Xstartup-세션 전 시작 파일

/usr/dt/config/Xreset-세션 후 재설정 파일

/var/dt/Xpid-로그인 서버의 프로세스 ID

/var/dt/Xerrors-로그인 서버의 오류 로그 파일