Common Desktop Environment: Användarhandbok för 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 mappen /etc/dt/config/Xsession.d som anger och exporterar variabeln.

Om du t ex skapar ett körbart ksh-skript, /etc/dt/config/Xsession.d/minavar, som innehåller:

	export MINVARIABEL="värde"

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

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

Exempel:

	export MINVARIABEL="värde"

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


Obs!

Sessionshanteraren läser inte automatiskt filerna .profile eller .login. Du kan konfigurera om den så att dessa filer kan användas; se Failed Cross Reference Format.


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 syntaxerna /bin/sh eller /bin/ksh.


Om du i t ex /etc/dt/config/C/sys.resources anger du:

	AnApplication*resource värde

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

    Om du vill ange egna resurser lägger du till dem i filen Hemmapp/.Xdefaults.

Ange 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 anvä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 Hemmapp/.Xdefaults.

    Du avgränsar resurser genom att omsluta dem med villkorssatsen cpp villkorlig programsats. Makrot DISPLAY_skärmnamn definieras beroende på värdet i variabeln $DISPLAY. Detta görs genom att alla punkt- och kolontecken omvandlas till understrykning (_), alla skärmspecifikationer rensas och slutligen läggs DISPLAY_ till som prefix till resultatet.

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

    Myapp*resource: värde
    #ifdef DISPLAY_blanco_gato_com_0
     Myapp*resource: specialvalue1
     #endif
    #ifdef DISPLAY_pablo_gato_com_0
     Myapp*resource: specialvalue2
     #endif

    Ange resursen MyApp*resource i RESOURCE_MANAGER till specialvalue1 när användaren loggar in på skärmen blanco.gato.com:0; specialvalue2 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 command_and_options
    

    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:

    	#
     	# Start up 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 mappen Hemmapp/.dt/sessions till Hemmapp/.dt/skärm där skärm är det verkliga, absoluta värddatornamnet (pablo:0 är giltigt, pablo.gato.com:0 eller unix:0 är det inte).

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

cp -r Hemmapp/.dt/sessions Hemmapp/.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 Hemmapp/.dt/sessions/sessionetc som innehåller kommandona.

Normalt är den här filen ett skript som måste ha exekveringsbehörighet. Processer 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 stödfil för sessionetc är sessionexit. Använd sessionexit för att utföra vissa bearbetningar när sessionen avslutas som inte hanteras av sessionshanteraren.

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

Liksom sessionetc är den här filen normalt ett skript med exekveringsbehörighet.

Återskapa en session från säkerhetskopia

När sessionshanteraren sparar en session lagras sessionens information i mappen Hemmapp/.dt/sessions, eller i mappen Hemmapp/.dt/skärm om en skärmspecifik session används. I dessa mappar skapas en undermapp 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 mappen för den säkerhetskopierade sessionen till aktivt namn, t ex till säkerhetskopierad hemsession:

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

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

Undersöka problem vid sessionsstart

    Undersök den här filen Hemmapp/.dt/startlog.

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