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: Sezení pro hosta z přihlašovací obrazovky (nezničitelný destop II)  (Přečteno 2702 krát)

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Všichni jistě známe kamarády - potřebuji si zkouknout email/jabber/jízdní řád, ale málokomu se chce přenechat vlastní relaci někomu jinému. Od toho je v ubuntu a jeho derivátech tzv. virtuální uživatel ("Sezení pro hosta" v nabídce na ohlášení). Bohužel, GDM neumožnuje přihlášení hosta přímo z přihlašovací obrazovky. Zde je návod jak na to + jeho nastavení. Lze to využít i jako nezničitelný destop na školách, v kavárnách a podobně, všude tam kde je potřeba aby uživatelé nezanechávali stopy.

Při psaní vycházím odsud http://ubuntuforums.org/showthread.php?t=1601911 , ale protože postup není 100% funkční a nelíbí se mi že konfiguráky jsou všude možně v systému, uvádím ho v trochu pozměněné formě.

Ke zprovoznění potřeba mít nainstalovaný balík "gdm-guest-session", jeden normální uživatelský účet a oprávnění roota.

Začneme vytvořením adresáře, kde budou všechny související soubory
Kód: [Vybrat]
cd /opt
sudo mkdir login_guest

Druhým krokem je vytvoření scriptu, který obslouží vytvoření a zrušení sezení

Kód: [Vybrat]
cd /opt/login_guest
sudo nano ./manager.sh
sudo chmod +x ./manager.sh

Obsah souboru je následující:
Kód: [Vybrat]
#!/bin/sh
#spusteni virtualniho sezeni
/usr/share/gdm/guest-session/guest-session-launch

#cekej dokud sezeni neskonci - existence adresare s daty hosta
while [ -e /tmp/guest-home* ]
do
sleep 0.1
done

#odhlasi uzivatele
/usr/bin/gnome-session-save --logout

Script si žádá vysvětlení - spustí se virtuální sezení, poté se čeká na jeho odhlášení a hned potom se původní uživatel odhlásí automaticky.
V původní verzi se na ukončení nečekalo, původní uživatel se odhlásil ihned a host při ukončení neměl komu předat aktivitu -> černá obrazovka.

Nyní je třeba vytvořit nového běžného uživatele - například "visitor". Uživatel se bude přihlašovat bez hesla a bude mít minimální oprávnění.

Přihlásíme se jako nový uživatel a nastavíme aplikace spuštěné při přihlášení - přidáme novou položku například "spusteni_hosta", do pole příkaz zadáme /opt/login_guest/manager.sh" a odškrtáme všechny ostatní.

Následně vymažeme všechno co by účet zpomalovalo - tento uživatel je pouze boot pro virtuálního, je dobré smazat všechny panely, snížet efekty na minimum, nastavit jednobarevnou tapetu atd.

Po odhlášení a přihlášení by se měl automaticky nastartovat virtuální uživatel, který po odhlášení odhlásí i startovacího uživatele - bude to vypadat, že se přihlásil pouze virtuální uživatel.

Lze ovlivnit i nastavení virtuálního uživatele (ted se bude hodit že je startovací script ve vlastním adresáři) - po přihlášení a nastavení virtuálního uživatele se přepneme na jinou konzolu "CTRL+ALT+F2" a zkopírujeme virtuální home adresář z /tmp do /opt/login_guest/prefs
Kód: [Vybrat]
cd /tmp
ls
#najdeme adresář ve tvaru "guest-home.xxxxx"
sudo cd /tmp/<adresar>
sudo mkdir /opt/login_guest/prefs
sudo cp ./* /opt/login_guest/prefs/

Posledním úkonem je načtení upraveného profilu po přihlášení virtuálního uživatele - toho se docílí editací startovacího scriptu:
Kód: [Vybrat]
sudo nano /usr/share/gdm/guest-session/guest-session-setup.sh
kde najdeme řádek 'cp -rT /etc/skel/ "$HOME"' a zaměníme ho za 'cp -rT /opt/login_guest/prefs "$HOME"'. Pozor na uvozovky, okolo $HOME musí být!

Přepneme se zpět na virtuálního uživatele CTRL+ALT+F9 a odhlásíme se. Při každém dalším přihlášení se nahraje stav uložený v /opt/login_guest/prefs, ale uživatel jako takový stím nic neudělá, nic nezmění :)

Snad tenhle návod někomu poslouží :)
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

 

Provoz zaštiťuje spolek OpenAlt.