I det här avsnittet beskrivs hur du:
Anger miljövariabler
Anger resurser
Använder skärmberoende sessioner
Kör skript vid inloggning
Återskapar en säkerhetskopierad session
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.
Exempel:
export MINVARIABEL="värde"
anger variabeln MINVARIABEL
i alla användares miljö vid nästa inloggning.
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.
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 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.
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.
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 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"
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.
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 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 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.
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.
Logga in med Felsäker session eller Kommandorad från inloggningsfönstret.
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.
Sessionshanteraren loggar varje användares startsession i den här filen.