Ubuntu 15.10-en (szerk.: közben 16.04-en) rungetty-vel futtatok egy programot a VT1-en így:
/etc/systemd/system/getty@tty1.service.d/override.conf tartalma:
[Service]
ExecStart=
ExecStart=-/sbin/rungetty %I --prompt="Press ENTER to launch my program" -u asch -- java -jar /path/to/my/program.jar
(A program egyébként a lanterna Java könyvtárral készült konzolos alkalmazás, és remekül működik.)
A probléma az, hogy ha a VT7-en futó X-ben zenét játszatok, akkor az a VT1-re lépve elhallgat. Ugyanúgy, ahogy a VTX-en is hallgat addig, ameddig be nem jelentkezek (ez egy Pulseaudio feature ugye). Viszont ha a VT3-on (amin a gyári konfiggal fut egy "mélykonzol") bejelentkezek, akkor ott megszólal a zene.
Azt szeretném, ha a rungetty-vel futtatot session-öm is beszólna a Pulseaudiónak, hogy figyu, ebben a VT-ben is szóljon a zene!
Van valakinek ötlete, hogy hogy lehetne megcsinálni ezt?
Szerk.: Workaround-dal megoldottam:
* Maradt az agetty rungetty helyett autologin opcióval:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -a asch --noclear %I $TERM
* És simán a ~/.profile-ba (ez ugye shell indításkor lefut) beleírtam a program indítást, ha az egyes terminálon vagyok feltétellel:
if [ "$XDG_VTNR" = "1" ]
then
java -jar /path/to/program.jar
exit
fi
Az exit hatására a shell kilép a program leállása után, tehát lényegében azonnal újraindítja, ha kiszállt a program.
Tehát rungetty-vel nem tudtam megoldani, viszont így egy teljesen szabályosan indított terminál indul, amiben már szól a zene, úgyhogy az eredeti problémámat megoldottam.
- 881 megtekintés