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.