Xnest je opravdu dost nestabilní, ale Xvnc funguje bez problémů. Čili díky.
Oplácal sem do do vyskakovacích okýnek, ty dva zakomentované řádky jsou snaha spouštět|ukončovat pod konkrétním uživatelem, ale při vytvoření to vypisovalo grafické errory ucty hodnou rychlostí. Takhle to ale taky není nic proti ničemu.
#bin/sh
zadani_rozliseni() {
resolution=$(zenity --title="Uživatel v okně" --entry --text "Zadej rozlišení" --entry-text "1152x720");echo $resolution
}
zadani_obrazovky() {
display=$(zenity --title="Uživatel v okně" --scale --text "Zadej unikátní číslo obrazu" --min-value=2 --max-value=20 --value=2 --step 1);echo $display
}
druhy_uzivatel() {
display=$(zadani_obrazovky)
login=$(zenity --title="Uživatel v okně" --entry --text "Zadej login uživatele" --entry-text "hokuson")
#gksu -wg --message "Zadej heslo pro uživatele: $login" --user $login "vncserver -geometry $(zadani_rozliseni) -depth 24 :$(zadani_obrazovky) &> /dev/null &"
gksudo -u $login -g --message "Zadej heslo zprávce" "vncserver -geometry $(zadani_rozliseni) -depth 24 :$display"
if [ -e /home/$login/.vnc/$(uname -n):$display.pid ];then zenity --info --text "Server běží";else zenity --error --text "Server neběží"; fi
}
sam_sobe() {
display=$(zadani_obrazovky)
vncserver -geometry $(zadani_rozliseni) -depth 24 :$display
if [ -e /home/$(whoami)/.vnc/$(uname -n):$display.pid ];then zenity --info --text "Server běží";else zenity --error --text "Server neběží"; fi
}
zabiti_serveru() {
login=$(zenity --title="Uživatel v okně" --entry --text "Kterému uživateli ukončíš server?" --entry-text "hokuson")
#gksu -wg --message "Zadej heslo pro uživatele: $login" --user $login "vncserver -kill :$(zadani_obrazovky)"
gksudo -u $login -g --message "Zadej heslo zprávce" "vncserver -kill :$(zadani_obrazovky)"
}
odpoved=$(zenity --list --title "" --text "" --radiolist --hide-header --column "Volba" --column "Odpověď" FALSE "Spustit VNCserver jiného uživatele" FALSE "Spustit VNCserver sobě" true "Otevřít sezení" FALSE "Zabít běžící server")
case $odpoved in
"Spustit VNCserver jiného uživatele") druhy_uzivatel;;
"Spustit VNCserver sobě") sam_sobe;;
"Otevřít sezení") vncviewer localhost :$(zadani_obrazovky);;
"Zabít běžící server") zabiti_serveru;;
esac
exit 0