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

추가 세션 시작 사용자 정의

이 절에서 다루는 내용은 다음과 같습니다.

환경 변수 설정 방법

    시스템 전체 환경 변수를 설정하려면, 변수를 설정하고 내보내는 /etc/dt/config/Xsession.d 디렉토리에서 파일을 작성하십시오.

예를 들어, 사용자가 다음을 포함하는 실행 가능한 ksh 스크립트, /etc/dt/config/Xsession.d/ myvars를 작성하는 경우,

	export MYVARIABLE="value"

MYVARIABLE가 다음 로그인시에 각 사용자의 환경에 설정될 것입니다.

    개인 환경 변수를 설정하려면, HomeDirectory /.dtprofile에서 변수를 설정하십시오.

예를 들어,

	export MYVARIABLE="value"

변수 MYVARIABLE을 다음 로그인시 각 사용자 환경에 설정합니다.


주 -

세션 관리자는 .profile 또는 .login 파일을 자동으로 읽지 않습니다. 그러나 이러한 파일을 사용하기 위해 구성될 수도 있습니다. 28 페이지의 "선택적으로 .profile 또는 .login 스크립트를 소스로 사용하기"를 참조하십시오.


자원 설정 방법

    시스템 전체 자원을 설정하려면, /etc/dt/config/language/sys.resources 파일에 자원을 추가하십시오(해당 파일을 작성해야 하는 경우도 있습니다).


주 -

.dtprofile/bin/sh 또는 /bin/ksh 구문만을 지원합니다.


예를 들어, /etc/dt/config/C/sys.resources에서 다음과 같이 지정하는 경우,

AnApplication*resource: value

다음 번 로그인시 자원 AnApplication*resource이 각 사용자의 RESOURCE_MANAGER 특성에 설정됩니다.

    개인 자원을 설정하려면, 파일 HomeDirectory/.Xdefaults에 자원을 추가하십시오.

특정 표시장치 자원 설정 방법

모든 사용자를 위해 특정 표시장치 자원을 시스템에서 설정할 수 있습니다. 또한 사용자는 자신의 세션에만 한정된 특정 표시장치 자원도 설정할 수 있습니다. 이를 통해 사용자가 데스크탑에 로그인할 때 사용하는 표시장치에 따라 자원을 지정할 수가 있습니다.

    시스템의 모든 데스크탑 사용자를 위해 특정 표시장치 자원을 설정하려면, 특정 표시장치 자원을 지정하는 파일 /etc/dt/config/language/sys.resources를 작성하십시오.

    개인의 특정 표시장치 자원을 설정하려면, HomeDirectory/.Xdefaults에 이 자원을 지정하십시오.

    이 자원들을 cpp 조건문으로 묶어 구분합니다. DISPLAY_displayname 매크로가 $DISPLAY 변수 값에 따라 정의됩니다. 이 작업은 다음과 같은 방식으로 수행됩니다. 모든 .(마침표) 및 :(콜론) 문자를 _(밑줄)로 바꾸고, 모든 화면 사양을 제거한 후, 마지막으로 결과 앞에 DISPLAY_를 붙입니다.

    예를 들어, :0$DISPLAYDISPLAY_0이 되며,blanco.gato.com:0.0$DISPLAYDISPLAY_blanco_gato_com_0이 됩니다. 결과값은 세션 자원 파일에서 cpp 테스트의 일부로 사용될 수 있습니다. 예를 들어, /etc/dt/config/C/sys.resources에서 다음과 같이 지정하는 경우,

    Myapp*resource: value
    #ifdef DISPLAY_blanco_gato_com_0
    Myapp*resource: specialvalue1
    #endif
    #ifdef DISPLAY_pablo_gato_com_0
    Myapp*resource: specialvalue2
    #endif

    자원 MyApp*resourceRESOURCE_MANAGER에서 사용자가 표시장치 blanco.gato.com:0에서 로그인하는 경우에는 specialvalue1로,사용자가 pablo.gato.com:0에서 로그인하는 경우에는 specialvalue2로, 사용자가 다른 표시장치에서 로그인하는 경우에는 으로 설정됩니다.

초기 세션에 대한 응용 프로그램 변경 방법

사용자는 사용자 초기 세션의 일부로 시작되는 대체 응용 프로그램을 지정할 수 있습니다.

  1. /usr/dt/config/language/sys.session/etc/dt/config/language/sys.session으로 복사하십시오.

  2. sys.session 파일을 수정하십시오.

    sys.session에 있는 각 항목은 다음과 같이 나타납니다.

    	dtsmcmd -cmd command_and_options
    

    사용자 초기 세션의 일부로 추가 응용 프로그램을 시작하려면, 새 sys.session 항목을 전체 경로명으로 지정하십시오. 예를 들어, /usr/bin/X11/xclock을 사용자 초기 세션의 일부로 시작하려면 xclock 항목을 /etc/dt/config/C/sys.session에 추가하십시오.

        #
        # Start up xclock...
        #
        dtsmcmd -cmd "/usr/bin/X11/xclock -digital"

특정 표시장치 세션 설정 방법

사용자는 세션을 특정 표시장치에 맞도록 조정하기 위해 특정 표시장치 세션을 설정할 수 있습니다.

    HomeDirectory/.dt/sessions 디렉토리를 HomeDirectory/.dt/display로 복사하십시오. 여기서 display는 수식되지 않은 실제 호스트명입니다(pablo:0은 유효하며, pablo.gato.com:0 또는 unix:0은 유효하지 않습니다).

예를 들어, 표시장치 pablo.gato.com:0에 대한 특정 표시장치 세션을 작성하려면

cp -r HomeDirectory/.dt/sessions HomeDirectory/.dt/pablo:0

다음 번에 사용자가 표시장치 pablo.gato.com:0에서 로그인하면 세션 관리자가 해당 특정 표시장치 세션을 시작합니다.

세션 시작 및 로그아웃시 추가 명령어 실행

사용자는 자신의 데스크탑 세션에 로그인할 때 추가 명령어가 시작되도록 지정할 수 있습니다. 이는 세션 관리자에 의해 저장되지 않는 X 설정값을 설정하는데 유용합니다. 예를 들어, 사용자는 xsetroot를 사용하여 루트(작업 공간) 포인터를 사용자 정의할 수 있습니다. 다른 용도로는 세션 관리자에 의해 저장되거나 복구될 수 없는 응용 프로그램을 시작할 수도 있습니다. 응용 프로그램이 세션이 복원될 때 다시 시작되지 않으면, 사용자는 이 방법을 사용하여 클라이언트를 시작할 수 있습니다.

세션 시작시 추가 명령어 실행 방법

    명령어를 포함하는 파일 HomeDirectory/.dt/sessions/sessionetc을 작성하십시오.

일반적으로 이 파일은 스크립트이며 실행 권한이 있어야 합니다. sessionetc에서 시작된 프로세스는 백그라운드에서 실행되어야 합니다.


주 -

세션 관리자에 의해 자동으로 복구된 클라이언트를 시작하려면 sessionetc를 사용하지 마십시오. 그렇게 하면 응용 프로그램의 여러 사본이 시작됩니다. 윈도우가 다른 윈도우의 위에 쌓일 수 있으므로 사용자는 사본을 즉시 보지 못할 수도 있습니다.


로그아웃시 추가 명령어 실행 방법

sessionetc의 동반 파일은 sessionexit입니다. sessionexit를 사용하여 세션 종료시 세션 관리자에 의해 처리되지 않는 작업을 수행하십시오.

    명령어를 포함하는 파일 HomeDirectory/.dt/sessions/sessionexit를 작성하십시오.

sessionetc처럼, 이 파일은 일반적으로 실행 권한이 있는 스크립트입니다.

백업으로부터 세션 복구 방법

세션 관리자가 세션을 저장할 때, 세션 정보는 HomeDirectory/.dt/sessions 디렉토리에 저장되고, 특정 표시장치 세션을 사용할 경우에는 HomeDirectory/.dt/display 디렉토리에 저장됩니다. 이 디렉토리에서 세션 관리자는 이름이 current 또는 home인 하위 디렉토리를 작성하여 각각의 현재 세션 또는 홈 세션을 위한 정보를 저장합니다. 세션 정보가 저장되기 전에 세션 관리자는 이전 세션의 백업을 세션 이름으로 만들고 이를 current.old 또는 home.old에 저장합니다.

  1. 로그인 화면에서 명령행 로그인 또는 비상 안전 세션을 사용하여 로그인하십시오.

  2. 백업 세션 디렉토리를 사용중인 이름으로 복사하십시오. 예를 들어, 백업 홈 세션을 복구하려면

    	cp -r HomeDirectory/.dt/sessions/home.old \ 	HomeDirectory/.dt/sessions/home

    특정 표시장치 세션을 동일한 방식으로 복구할 수 있습니다.

세션 시작 문제 조사 방법

    파일 HomeDirectory/.dt/startlog를 점검하십시오.

세션 관리자는 각 사용자의 세션 시작 진행 과정을 이 파일에 기록합니다.