Jak spustit automaticky tighvnc démona

Jak spustit automaticky tighvnc démona
« kdy: 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)?
« Poslední změna: 02. 03. 2022, 15:15:24 od mikesznovu »


k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak spustit automaticky tighvnc démona
« Odpověď #1 kdy: 02. 03. 2022, 16:06:56 »
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 + upozorneni k tomuto zde

Re:Jak spustit automaticky tighvnc démona
« Odpověď #2 kdy: 02. 03. 2022, 16:36:07 »
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.

_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Jak spustit automaticky tighvnc démona
« Odpověď #3 kdy: 02. 03. 2022, 16:43:04 »
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
Kód: [Vybrat]
# /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
Kód: [Vybrat]
/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.

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak spustit automaticky tighvnc démona
« Odpověď #4 kdy: 02. 03. 2022, 16:49:36 »
[...] přidám do startup skriptu desktopového prostředí [...]
btw: to me reseni, narozdil od tohoto, zpristupnuje po VNC i lightdm prihlasovaci obrazovku ;-)


Re:Jak spustit automaticky tighvnc démona
« Odpověď #5 kdy: 02. 03. 2022, 16:54:59 »
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)
« Poslední změna: 02. 03. 2022, 16:57:24 od mikesznovu »

_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Jak spustit automaticky tighvnc démona
« Odpověď #6 kdy: 02. 03. 2022, 17:42:42 »
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ě?

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak spustit automaticky tighvnc démona
« Odpověď #7 kdy: 02. 03. 2022, 19:24:39 »
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

korektní odhlášení z tightvnc lxde/openbox lx-sessin z DE(bez kill)
« Odpověď #8 kdy: 02. 03. 2022, 21:47:20 »
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?
« Poslední změna: 02. 03. 2022, 21:50:20 od mikesznovu »