로그인 화면 모양을 사용자 정의하려면, 로고, 그래픽, 환영 메시지, 글꼴 등을 변경하면 됩니다.
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
기본적으로, 로그인 서버는 환영합니다! 호스트:호스트명이라는 메시지를 로그인 화면에 표시합니다. 이 메시지를 변경하려면
Xresources에 Dtlogin*greeting*labelString 자원을 설정하십시오.
labelString 자원 값에는 로그인 서버 호스트명으로 대체할 수 있는% LocalHost%와, X 서버 표시장치 이름으로 대체할 수 있는 %DisplayName%이 포함될 수 있습니다.
다음 예에서는 환영 메시지를 Here's host name!으로 변경하고 있습니다.
Dtlogin*greeting*labelString: Here's %LocalHost%!
일단 사용자명이 입력되면, 로그인 서버는 기본적으로 username 환영합니다! 메시지를 표시합니다. Xresources에Dtlogin*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가 수행됩니다.)
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- Xsession 및 Xfailsafe의 경로
Dtlogin*systemPath-Xsetup, Xstartup 및 Xfailsafe의 경로
Dtlogin*systemShell-Xsetup, Xstartup 및 Xfailsafe의 경로
Dtlogin.timeZone-모든 스크립트에 대한 TZ
다음 예에서, Xconfig 자원을 변경하면 모든 표시장치의 로그인 화면이 변경됩니다. *(별표)와 함께 나열된 자원은 표시장치별로 지정될 수 있습니다. 이렇게 하면 특정 표시장치에 대한 사용자 정의 로그인 화면 동작을 지정할 수 있습니다. 특정 표시장치에 대한 자원을 지정하려면 자원이 Dtlogin*displayName*resource로 지정되어야 합니다. 예를 들어, 사용자 기준 액세스 제어가 expo:0 표시장치에 대해서는 작동되지 않게 하고 다른 표시장치에 대해서는 작동되게 하려면, 다음과 같이 지정하십시오.
Dtlogin*expo_0*authorize: False
표시장치 이름에서 :(콜론) 또는 .(마침표)와 같은 특수 문자는 _(밑줄)로 교체됩니다.
기본적으로, 로그인 서버는 각 사용자마다 X 서버 액세스 제어를 허용하며, HomeDirectory/.Xauthority 파일에 저장되어 보호되고 있는 허가 데이터에 근거하고 있습니다. 이 파일을 읽을 수 있는 사용자만이 X 서버에 연결하도록 허용됩니다. 일반적으로, 이 방법이 X 서버 액세스 제어가 선호하는 방법입니다.
사용자 기준 액세스 제어의 대안은 호스트 기준 액세스 제어입니다. 이 방법을 사용하면, 호스트가 X 서버에 액세스할 권한이 있는 경우, 해당 호스트의 모든 사용자는 X 서버에 연결할 수 있습니다. 호스트 기준 제어를 사용해야하는 이유는 다음과 같습니다.
이전의 R2 및 R3 X 클라이언트는 사용자 기준 액세스 제어를 사용하여 X 서버에 연결할 수 없기 때문입니다.
보안이 되지 않은 네트워크상에서는 외부인이 네트워크의 X 클라이언트와 X 서버 사이에 전달된 허가 데이터를 가로챌 수 있습니다.
XconfigDtlogin*authorize 자원이 로그인 서버에게 사용자 기준 X 서버 액세스 제어를 사용하도록 알려줍니다. 호스트 기준 액세스 제어를 사용하려면 허가 자원 값을 False로 변경하십시오. 예를 들면 다음과 같습니다.
Dtlogin*authorize: False
X 서버가 로그인 서버에 의해 시작될 때 X 서버에 하나 이상의 환경 변수 및 값을 제공하려면, Xconfig에서 Dtlogin*environment 자원을 사용하여 이를 지정할 수 있습니다. 예를 들어,
Dtlogin*environment: VAR1=foo VAR2=bar
는 변수 VAR1 및 VAR2를 지역 X 서버 프로세스가 사용할 수 있도록 만듭니다. 이러한 변수는 Xsession 및 Xfailsafe 스크립트로 내보낼 수도 있습니다.
사용자가 로그인 화면에서 데스크탑으로 로그인한 경우, 사용자 세션은 옵션 메뉴의 언어 하위 메뉴에서 선택된 로켈에서 실행됩니다. 사용자가 언어를 선택하지 않은 경우, 로그인 서버 기본 언어가 사용됩니다. Xconfig에서 Dtlogin*language 자원을 설정하여 기본 언어 값을 제어할 수 있습니다. 예를 들면 다음과 같습니다.
Dtlogin*language: Ja_JP
시스템 설명서를 보고 시스템에 설치된 언어를 확인하십시오.
기본적으로 로그인 서버는 시스템에 설치된 모든 로켈 목록이 들어있는 로그인 화면 언어 메뉴를 작성합니다. 사용자가 로그인 화면 언어 목록에서 로켈을 선택하면 로그인 서버는 로그인 화면을 선택된 로켈에서 다시 표시합니다. 사용자가 다음에 로그인하면, 로그인 서버는 해당 로켈로 사용자에 대한 데스크탑 세션을 시작합니다.
다음과 같이 Xconfig에서 Dtlogin*languageList 자원을 수정하여 사용자 자신의 언어 목록을 지정할 수 있습니다.
Dtlogin*languageList: En_US De_DE
로그인 서버는 이제 로그인 화면 언어 메뉴에 En_US와 De_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 세션을 선택하면, 로그인 서버는 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, Xfailsafe 및 Xreset 스크립트로 내보낼 환경을 제공합니다. 이 환경은 표 1-1에 설명되어 있습니다. 추가 변수도 로그인 서버가 내보낼 수 있습니다.
표 1-1 로그인 서버 환경
환경 변수 |
Xsetup |
Xstartup |
Xsession |
Xreset |
설명 |
---|---|---|---|---|---|
X |
X |
X |
X |
기본 또는 선택된 언어 |
|
X |
X |
X |
X |
대체 X 권한 파일(선택사항) |
|
X |
X |
X |
X |
Dtlogin*userPath 자원(Xsession, Xfailsafe) 또는 Dtlogin*systemPath 자원(Xsetup, Xstartup , Xreset)의 값 |
|
X |
X |
X |
X |
X 서버 연결 번호 |
|
X |
X |
X |
X |
/etc/passwd (Xsession, Xfailsafe) 또는 Dtlogin*systemShell 자원 ( Xsetup, Xstartup, Xreset)에 지정된 쉘 |
|
X |
X |
X |
X |
Dtlogin.timeZone 자원의 값 또는 시스템에서 결정한 시간대 |
|
|
X |
X |
X |
사용자 이름 |
|
|
X |
X |
X |
/etc/passwd에 지정된 홈 디렉토리 |
|
|
X |
X |
X |
사용자 이름 |
로그인 서버는 Xsession과 Xfailsafe 스크립트를 실행할 때 PATH 환경 변수를 설정합니다. 사용자는 이 스트립트에 대체 경로를 제공할 수 있습니다.
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
로그인 서버는 Xsetup, Xstartup 및 Xfailsafe 스크립트를 실행할 때 SHELL 환경 변수를 설정합니다. 기본값은 /bin/sh입니다. 이 스크립트에 대체 쉘을 제공하려면 Xconfig에서 Dtlogin*systemShell 자원을 설정합니다. 예를 들면 다음과 같습니다.
Dtlogin*systemShell: /bin/ksh
로그인 서버는 Xsetup, Xstartup, Xsession, Xfailsafe 및 Xreset 스크립트를 실행할 때 TZ 환경 변수를 설정합니다. 기본값은 시스템에서 얻게 되므로 일반적으로 이 동작을 변경할 필요가 없습니다. 이 스크립트에 대체 시간대를 제공하려면 Xconfig에서 Dtlogin.timeZone 자원을 설정하십시오. 예를 들면 다음과 같습니다.
Dtlogin.timeZone: CST6CDT