I det här avsnittet beskrivs hur du:
Anger omgivningsvariabler
Anger resurser
Använder skärmberoende sessioner
Kör skript vid inloggning
Återskapar en säkerhetskopierad session
Om du vill ange systemtäckande omgivningsvariabler 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.
Till exempel:
export MINVARIABEL="värde"
anger variabeln MINVARIABEL
i alla användares omgivning vid nästa inloggning.
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)".
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.)
.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.
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.
Du kan ange att andra program ska starta som en del av användarens startsession.
Kopiera /usr/dt/config/språk/sys.session till /etc/dt/config/språk/sys.session.
Ä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"
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.
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.
Normalt är den här filen ett skript som måste ha exekveringsbehörighet. Processer som startas i sessionetc ska köras i bakgrunden.
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.
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.
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.
Logga in med Felsäker session eller Kommandorad från inloggningsfönstret.
Kopiera katalogen för den säkerhetskopierade sessionen till aktivt namn, t ex till säkerhetskopierad hemsession:
cp -r Hemkatalog/.dt/sessions/home.old \ Hemkatalog/.dt/sessions/home
En skärmspecifik session kan återskapas på samma sätt.
Sessionshanteraren loggar varje användares startsession i den här filen.