Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Aplikace pro login druhého uživatele  (Přečteno 2134 krát)

Avogadrus

  • Návštěvník
  • Příspěvků: 77
Aplikace pro login druhého uživatele
« kdy: 12 Srpna 2011, 09:52:03 »
Zdravíčko pánové, jednou jsem někde vyštrachal aplikaci ve které jste se zalogovali za jiného uživatele do okna. Neříká to někomu něco? Nevzpomínám si na název a nejsem schopný ji znovu najít.
U12.04; jádro neznámé; XFCE 4.10

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re: Aplikace pro login druhého uživatele
« Odpověď #1 kdy: 12 Srpna 2011, 09:58:27 »
Xnest ?
Xvnc ? (s klientem pres localhost) ?

Kód: [Vybrat]
Xnest -geometry 1200x900 :7 &
xauth add :7 . `mcookie` &
DISPLAY=:7 xterm &
« Poslední změna: 12 Srpna 2011, 11:12:56 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Vojtěch Trefný

  • Příspěvků: 9307
  • Don Quijote
Re: Aplikace pro login druhého uživatele
« Odpověď #2 kdy: 12 Srpna 2011, 10:46:35 »
Pokud ti jde jen o spouštění grafických aplikací pod jiným uživatelem, tak navrhuju sux

Avogadrus

  • Návštěvník
  • Příspěvků: 77
Re: Aplikace pro login druhého uživatele
« Odpověď #3 kdy: 13 Srpna 2011, 15:15:34 »
Díky za radu. Momentálně se hraju s Xnest a mám drobný problém když spustím trošku obalený kod od ntz_reloaded
.next_user.sh
Kód: [Vybrat]
#/bin/sh
resolution=$(zenity --title="Uživatel v okně" --entry --text "zadej rozlišení" --entry-text "1152x720")
display=$(zenity --title="Uživatel v okně" --scale --text "Zadej unikátní číslo obrazu" --min-value=2 --max-value=20 --value=2 --step 1)
Xnest -geometry $resolution :$display &> /dev/null &
xauth add :$display . $(mcookie) &
DISPLAY=:$display xterm &
exit 0
a přeloguju se, při náběhu graf. prostředí Xnest spadne. Pokud xterm nahradím fvwm-crystal tak se bez problému přihlásím jako druhé sezení stejného uživatele a je to v celku stabilní (spuštění vlc nebo thunderbirda způsobuje životnost v minutách :) ). Takže jsem zkusil něco jako spouštění pod jiným uživatelem
.change_user.sh
Kód: [Vybrat]
#/bin/sh
login=$(zenity --title="Uživatel v okně" --entry --text "zadej login" --entry-text "hokuson")
gksu -wg --message "Zadej heslo pro uživatele: $login" --user $login "sh cesta_tam_a_zpatky/.next_user.sh"
no a to se Xnest nespustí vůbec.
U12.04; jádro neznámé; XFCE 4.10

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re: Aplikace pro login druhého uživatele
« Odpověď #4 kdy: 13 Srpna 2011, 15:34:07 »
ja osobne doporucuju spis to Xvnc ..

http://sourceforge.net/projects/tigervnc/files/tigervnc/1.0.1/

stahni Xvnc-1.0.1.tar.gz a tigervnc-1.0.1.tar.gz, rozbal, zkompiluj s nejakym rozumnym prefixem (--prefix=/opt/tigervnc) slozku unix a nalinkuj do /usr/bin (vncserver, vncconfig, vncviewer) a jeste dej do usr/bin Xvnc .. potom uz jen

vncserver -geometry 1220x960 -depth 24 :9 ##napriklad
vncviewer localhost:9
« Poslední změna: 13 Srpna 2011, 15:36:48 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Avogadrus

  • Návštěvník
  • Příspěvků: 77
Re: Aplikace pro login druhého uživatele
« Odpověď #5 kdy: 14 Srpna 2011, 22:15:16 »
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. 
Kód: [Vybrat]
#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
« Poslední změna: 22 Srpna 2011, 10:51:51 od Avogadrus »
U12.04; jádro neznámé; XFCE 4.10

 

Provoz zaštiťuje spolek OpenAlt.