Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: mikesznovu 02. 03. 2022, 15:12:04
-
Nedaří se mi tightvnc démona přidat do seznamu po spuštění pro vybraného usera, ale ručně ho přes ssh spustím. (Vím, tam je problém, že není "zalogovaný" user a obecně problém) pro jakého user ho spustit. V té problematice virtual/user/service jsem se uplně nezorientoval.
Zároveň jsem si vybral tighvnc místo realvnce, protože k němu jedinému se mi telefon připojil.
Funguje mi to, když jsem připojen jako aktuální uživatel přes ssh a spustím tightvncserver :1 .... (předtím tightvncpasswd) - tím pádem server se rozběhne a klidně mohu ssh terminál ukončit.
Když tam zadám jen tightvncserver :1, tak se spustím vnc pod rootem.
Ale když to /etc/rc.local dám jedno su ja -c "tightvncserver :1" tak to nejde. (příkaz se provádí z kontextu roota a v tomto případě příkaz su skončí na interaktivním čekání na zadání hesla). Tedy v obou případech v klientovi mám údaje ja / vncheslo ,ale přihlásí se "na plochu" toho, pod kým jedémon spuštěn...
žádnou systemd službu (/grep vnc) nemám.
Cítím tam určitou problematiku přihlašování a autentizace. (probíhá výběr usera při spuštění démona vs proč ne přes přihlašovací údaje klienta), taky se mi nelíbí sdílené heslo pro všechny.
Za druhé, jak nastavit, abych se tam logoval svým systémovým heslem? Souvisí to nějak s Auth Metodou (None, VncAuth,Default,VeNCrypt)?
Tedy je to headless, monitor je nepřipojen. Hypoteticky jak bych udělal jinou další situaci že chci ovládat přesně to, co se bude dít na obrazovce whoever je přihlášen??(až vyřeším toto)?
-
par postrehu, pokud chces neco v /etc/rc.local pusitt ne jako vychozi root, ale jako nejaky uzivatel, asi misto reseni jak poslat heslo do su, to poustej pres sudo a v /etc/sudoers.d/neco mej definovane ze ten konkretni prikaz s konkretnima parametrama, konkretni uzivatel muze pustit bez hesla...
nicmene mozna zkus spis x11vnc jak popisuju tady (https://forum.root.cz/index.php?topic=25939.msg367676#msg367676) + upozorneni k tomuto zde (https://forum.root.cz/index.php?topic=25939.msg367804#msg367804)
-
Ha, tak ono na kolonce username vůbec nezáleží, může to být klidně neexistující uživatel.
Je nějaký článek o této problematice RDP /VNC a režimem spuštění, přihlašování, systémovém účtu a možnost přihlašovat se na virtuální monitor nebo vidět obsah skutečného monitoru (a v roli pozorovatele a nebo skutečně toho kdo je přihlášen)
Mimochodem, jsou role VNC zaměnitelné? V tom smyslu, že by to fungovalo reverzně: "virtualizovaná stanice se připojí na server. Na server se následně připojí tenký klient , čímž se vlastně tenký klient bude moc ovládat stanici. Buď tenký klient si sám řekne ke komu se chce připojit/řeší autentizaci s stanicí přímo a nebo se autentizuje na serveru a server jen ověří jestli tenký klient má právo se připojit na stanici.
-
Ale když to /etc/rc.local dám jedno su ja -c "tightvncserver :1" tak to nejde. (příkaz se provádí z kontextu roota a v tomto případě příkaz su skončí na interaktivním čekání na zadání hesla)
Přijde mi divné, že když root spustí su, tak by to chtělo heslo.
Dále to nebude fungovat pokud je rc.local "oneshot" služba, protože to neočekává, že se z toho spustí něco co bude běžet trvale.
Každopádně si chceš udělat normální servicu, já pouštím věci se screenem
# /etc/systemd/system/aaaaaaaaa.service
[Unit]
Description=aaaaaaaaa
[Service]
Type=simple
User=root
ExecStart=/usr/bin/screen -L -S radar -Dm /root/aaaaaaaaa.sh
WorkingDirectory=/root
[Install]
WantedBy=multi-user.target
# systemctl enable aaaaaaaaa
někde tam jde rovnou nastavit user. Pak to můžeš udělat i bez screenu…
Tedy je to headless, monitor je nepřipojen. Hypoteticky jak bych udělal jinou další situaci že chci ovládat přesně to, co se bude dít na obrazovce whoever je přihlášen??(až vyřeším toto)?
K tomu slouží x11vnc. Já to dělám tak, že si nainstaluju lightdm, nastavím autologin
/etc/lightdm/lightdm.conf.d/12-autologin.conf
[SeatDefaults]
autologin-user=youruser
pokud chci roota, je nutno povolit v /etc/pam.d/lightdm-autologin
a x11vnc (to je něco podobného) přidám do startup skriptu desktopového prostředí. To má správně nastavené proměnné (DISPLAY, XAUTHORITY).
Mimochodem, jsou role VNC zaměnitelné? V tom smyslu, že by to fungovalo reverzně: "virtualizovaná stanice se připojí na server. Na server se následně připojí tenký klient , čímž se vlastně tenký klient bude moc ovládat stanici. Buď tenký klient si sám řekne ke komu se chce připojit/řeší autentizaci s stanicí přímo a nebo se autentizuje na serveru a server jen ověří jestli tenký klient má právo se připojit na stanici.
Nějak to jde, viz man xtightvncviewer, volba listen, ale normální lidi tohle udělají tak, že spustí VNC server normálně a na druhou stranu ho protunelují SSH tunelem.
-
[...] přidám do startup skriptu desktopového prostředí [...]
btw: to me reseni, narozdil od tohoto, zpristupnuje po VNC i lightdm prihlasovaci obrazovku ;-)
-
To se mi bude jednou hodit, až budu řešit tohle na serioznější úrovni.. Díky za cenné rady ... Mezitím mě fórum obdarovalo náhodnou hláškou Litujeme, přísup odepřen.
Jinak vyřešeno, měl jsem trapnou chybu v rc.local, můžeš si typnout:
předchozí příkaz bez &
#sem by se to nikdy nedostalo
su user -c "gNNNhtvncserver :1 >/run/t_log.txt" > /run/t_out.txt &
# na t_log nemá user práva
(byla to jen jedna chyba)
První zkušnost - přehrání QVGA videa: Xtightvnc 40% , mpv 40% (v turbbo modu 1200MHz)
-
btw: to me reseni, narozdil od tohoto, zpristupnuje po VNC i lightdm prihlasovaci obrazovku ;-)
Jak to funguje když mu dáváš -auth /var/run/lightdm/root/:0? Já když se přihlásím, tak pak nastavuju -auth /home/user/.Xauthority. Nebo fungujou obě?
-
btw: to me reseni, narozdil od tohoto, zpristupnuje po VNC i lightdm prihlasovaci obrazovku ;-)
Jak to funguje když mu dáváš -auth /var/run/lightdm/root/:0? Já když se přihlásím, tak pak nastavuju -auth /home/user/.Xauthority. Nebo fungujou obě?
funguje to jak sem psal, ze vnc server bezi i bez (do desktopu) prihlaseneho uzivatele a lze se (do desktopu) prihlasit, s tim ze x11vnc pak samozrejme bezi pod rootem
-
Stává se mi jeden problém při (pokusu) odhlašování (příkaz lxde-lougout,lxsession-logout) mi pouze se "změní grafické prostředí" (něco jako když v Windows XP+) se ukončí služby Motivy/témata/uxsms
Mám raspbian lxde/openbox- lxsession. (greeter lightdm, ale ten jak pozoruji htop se neuplatní z následující řetězu spouštění:
tightvncserver je wrapper pro xtightvnc
xtightvnc spustí pod rootem()?~/.vnc/xstartup , který spustí finálně(nakonci skriptu) /etc/X11/Xsession (což je nějaký skript z roku 2005). Ten skript sh ~/.vnc/xstartup zůstane viset po celou dobu běhu "vzdálené plochy", jeho potomkem je lxsession.
Výsledkem je pouze že se ukončí lxsession a ten skript xstartup , aplikace zůstanou jako sirotci bez rodiče v htop(Tree) a
okna talčítka mají jinačí ikonky a LXDE má ještě hranatější vzhled.Aplikace zůstanou běžet dál a pomůže:
tightvncserver -kill :1 (načež se klient odpojí) Někde to zabere.
Někdy ne a to se ukáže ještě jako výsledek předchozího příkazu
Can't find file /home/u/.vnc/hostname:1.pid
You'll have to kill the Xtightvnc process manually
Vlastně jediné korektní "ukončení" které nedělá "leftovery" je tightvnceserver -kill :1 (je tedy možné následovat hladce ho tightvncserver :1)
Co se tam děje? Nějaký nepořádek v screen managerech/DE/window managerech /Xauthority?