Solaris Common Desktop Environment: Handbok för avancerade användare och systemadministratörer

Ytterligare anpassningar av sessionsstarten

I det här avsnittet beskrivs hur du:

Ange miljövariabler

    Om du vill ange systemtäckande miljövariabler skapar du en fil i katalogen /etc/dt/config/Xsession.d som anger och exporterar variabeln.

Om du t ex skapar en körbar ksh-kommandofil, /etc/dt/config/Xsession.d/minavar, som innehåller:

	export MINVARIABEL="värde"

anges variabeln MINVARIABEL i alla användares omgivning vid nästa inloggning.

    Om du vill ange egna miljövariabler anger du variabeln i Hemkatalog/.dtprofile.

Till exempel:

	export MINVARIABEL="värde"

anger variabeln MINVARIABEL i alla användares omgivning vid nästa inloggning.


Obs!  

Sessionshanteraren läser inte automatiskt filerna .profile eller .login. Du kan dock konfigurera den så att dessa filer används. Se Läsa in och köra skripten .profile och .login (valfritt).


Ange resurser

    Om du vill ange systemtäckande resurser lägger du till resurserna i filen /etc/dt/config/språk/sys.resources. (Först måste du skapa filen.)


Obs!  

.dtprofile stöder bara /bin/sh- eller /bin/ksh-syntax.


Om du t ex specificerar följande i /etc/dt/config/C/sys.resources:

	AnApplication*resource: värde

anges resursen AnApplication*resource i varje användares RESOURCE_MANAGER-egenskap vid nästa inloggning.

    Om du vill ange egna resurser lägger du till resurserna i filen Hemkatalog/.Xdefaults.

Så här anger du skärmspecifika resurser

Du kan ange skärmspecifika resurser för alla användare i systemet. Användarna kan också ange skärmspecifika resurser för sina egna sessioner. Du kan därför ange resurser beroende på vilken skärm som användaren använder för att logga in till skrivbordet.

    Om du vill ange skärmspecifika resurser för alla skrivbordsanvändare i systemet skapar du filen /etc/dt/config/språk/sys.resources som anger den skärmspecifika resursen.

    Om du vill ange egna skärmspecifika resurser anger du resursen i Hemkatalog/.Xdefaults.

    Du begränsar resurser genom att innesluta dem i cpp-villkorsprogramsatser. Makrot DISPLAY_skärmnamn definieras beroende av värdet i variabeln DISPLAY_. Detta görs genom att alla punkt- och kolontecken omvandlas till understrykning (_) och alla skärmspecifikationer tas bort, och slutligen läggs DISPLAY_ till som prefix till resultatet.

    $DISPLAY för :0 blir t ex DISPLAY_0, och $DISPLAY för blanco.gato.com:0.0 blir DISPLAY_blanco_gato_com_0. Det resulterande värdet kan användas som en del i ett cpp-test i en sessionsresursfil. Om du t ex specificerar följande i /etc/dt/config/C/sys.resources:

    MittPrgm*resource: värde
    #ifdef DISPLAY_blanco_gato_com_0
     MittPrgm*resource: specialvärde1
     #endif
    #ifdef DISPLAY_pablo_gato_com_0
     MittPrgm*resource: specialvärde2
     #endif

    anges resursen MittPrgm*resource i RESOURCE_MANAGER till specialvärde1 när användaren loggar in på skärmen blanco.gato.com:0, specialvärde2 när användaren loggar in på pablo.gato.com:0; och värde när användaren loggar in på en annan skärm.

Ändra program för startsessionen

Du kan ange att andra program ska starta som en del av användarens startsession.

  1. Kopiera /usr/dt/config/språk/sys.session till /etc/dt/config/språk/sys.session.

  2. Ändra den nya filen sys.session.

    Alla poster i sys.session ser ut så här:

    	dtsmcmd -cmd kommandon_och_alternativ
    

    Om du vill starta ytterligare ett program som en del av användarens startsession, anger du en ny sys.session-post med fullständig sökväg. Om du t ex vill starta /usr/bin/X11/xclock som en del av användarens startsession, lägger du till posten xclock till /etc/dt/config/C/sys.session:

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

Ange en skärmspecifik session

En användare kan ange en skärmspecifik session för att justera sessionen för en viss skärm.

    Kopiera katalogen Hemkatalog/.dt/sessions till Hemkatalog/.dt/skärm, där skärm är det verkliga, ogiltiga värddatornamnet (pablo:0 är t ex giltigt, medan pablo.gato.com:0 eller unix:0 inte är giltiga).

Du kan t ex skapa en skärmspecifik session för skärmen pablo.gato.com:0:

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

När användaren loggar in på skärmen pablo.gato.com:0, startar sessionshanteraren den skärmspecifika sessionen.

Köra ytterligare kommandon vid sessionsstart och utloggning

Användarna kan ange att ytterligare kommandon ska startas när de loggar in till skrivbordssessionen. Detta är användbart vid X-inställningar som inte sparas av sessionshanteraren. Användaren kan t ex använda xsetroot för att anpassa rotpekaren (arbetsyta). Ett annat användningsomåde är att starta program som inte kan sparas och återställas av sessionshanteraren. Om ett program inte vill starta när sessionen startar, kan användaren starta klienten med den här metoden.

Köra ytterligare kommandon vid sessionsstart

    Skapa filen Hemkatalog/.dt/sessions/sessionetc som innehåller kommandona.

Normalt är den här filen ett skript som måste ha exekveringsbehörighet. Processer som startas i sessionetc ska köras i bakgrunden.


Obs!  

Använd inte sessionetc för att starta klienter som automatiskt återställs av sessionshanteraren. Om du gör det kan flera kopior av programmet startas. Du kanske inte ser alla kopior omedelbart eftersom fönstren kan staplas på varandra.


Köra ytterligare kommandon vid utloggning

En kompletteringsfil till sessionetc är sessionexit. Använd sessionexit för att utföra vissa bearbetningar vid sessionsavslutningar som inte hanteras av sessionshanteraren.

    Skapa filen Hemkatalog/.dt/sessions/sessionexit som innehåller kommandona.

Liksom sessionetc är den här filen normalt en kommandofil med exekveringsbehörighet.

Återskapa en session från säkerhetskopia

När sessionshanteraren sparar en session lagras sessionsinformationen katalogen Hemkatalog/.dt/sessions, eller i katalogen Hemkatalog/.dt/skärm om en skärmspecifik session används. I de här katalogerna skapas en underkatalog med namnet current eller home som lagrar information för den aktiva sessionen eller hemsessionen. Innan sessionsinformationen lagras, skapar sessionshanteraren en säkerhetskopia av den tidigare sessionen med det namnet och lagrar den i current.old eller home.old.

  1. Logga in med Felsäker session eller Kommandorad från inloggningsfönstret.

  2. Kopiera katalogen för den säkerhetskopierade sessionen till det aktiva namnet. Så här återskapar du t ex den säkerhetskopierade hemsessionen:

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

    En skärmspecifik session kan återskapas på samma sätt.

Undersöka problem vid sessionsstart

    Kontrollera filen Hemkatalog/.dt/startlog.

Sessionshanteraren loggar varje användares startsession i den här filen.