xsession

O xsession

Soubor .xsession v uživatelském adresáři(~/) udává příkazy po spuštění sezení X Serveru. Jakmile naběhne grafický server, načte se obsah souboru .xsession.

Starší a klasičtí správci displeje jej automaticky načítají (XDM a SDDM) avšak modernější správci jej nevedou v patrnosti. Když existuje soubor .xsession v domovském adresáři, je automaticky použit namísto systémové výchozí konfigurace.

Využiji jej zejména při rozdílných požadavcích na sezení X Serveru u více uživatelů. Jestliže mám správce displeje SDDM a chci u dvou uživatelů spouštět rozdílná prostředí, nastavím SDDM sezení obou uživatelů na uživatelské a vhodně upravím každý soubor .xsession u uživatele. Při použití správce oken XDM jej primárně používám pro start grafického prostředí.

Musí být spustitelný.

Příklad mého .xsession

Na virtuálním počítači se systémem FreeBSD používám správce displeje XDM a správce oken Awesome. Nejdříve se načte nastavení .Xresources, poté se upraví rozlišení na 1280×720, dále se načte české rozložení klávesnice a na závěr odstartuje správce oken Awesome. Rozlišení upravuji z toho důvodu, že výchozí rozlišení ve VirtualBoxu mám 800×600 a pro práci potřebuji trochu větší plochu.

#!/bin/sh
xrdb -merge ~/.Xresources &
xrandr --output default --mode 1280x720 &
setxkbmap cz &
awesome

Další ukázka

Tento model nastavení upravuje zobrazení na dva monitory s rozlišením 1440x900, obrazovky uspořádá vedle sebe.

xrandr --output VGA-0 --mode 1440x900 --primary --pos 1440x0 --output DVI-0 --mode 1440x900 --pos 0x0 xrdb -merge .Xresources & setxkbmap cz & volumeicon & awesome

DWM ve virtuálu

setxkbmap cz &
xrdb -merge ~/.Xresources &
volumeicon &
conky -c $HOME/.conkyrc | while read -r; do xsetroot -name "$REPLY"; done &
feh --bg-scale /opt/grafika/mv-koral.png &
VBoxClient-all &
xcompmgr &
lxpolkit &
dwm

Awesome ve virtuálu

setxkbmap cz &
xrdb -merge ~/.Xresources &
VBoxClient-all &
xcompmgr &
conky -c ~/.conkyrc-cpu &
conky -c ~/.conkyrc-info &
conky -c ~/.conkyrc-time &
awesome

Další šikovné příkazy v .xsession