Feature changed by: Mindaugas Baranauskas (embar-) Feature #318306, revision 6 Title: Systemd service to catch crashed X, try to auto repair it and restart openSUSE Distribution: Unconfirmed Priority Requester: Important SUSE Studio: Unconfirmed Priority Requester: Important Requested by: Mindaugas Baranauskas (embar-) Partner organization: openSUSE.org Description: We could have solution automatically detect, if X.Org X Server terminated with error. Then we could try repair X configuration and restart X server. Test Case: That case encouraged me to write systemd service and script, which temporaly is named as check-x-failed. So now I can boot from Live image, see that I returned to black console where it ask login, but after few seconds (several to ~12), grafical login manager (KDM) is starts! You can download it as systemd-check-x-failed-service RPM package: http://software.opensuse.org/download.html?project=home%3Aembar-% 3ALietukas&package=systemd-check-x-failed-service Source is here: https://build.opensuse.org/package/show/home:embar-:Lietukas/systemd-check-x... This is included in openSUSE based appliance Lietukas ( https://susestudio.com/a/CttYWz/lietukas-13-2-64-bit ) Initial version try to: * check if /var/log/Xorg.0.log exist * If so, check if it contains message about termaination with error. * If so: * go back to runlevel3 * try one of Xorg server configurations: * try reuse current * try reuse default * use installation configuration * Xorg -configure * sax3 Then try restart X. As Our systemd service continues, it with detect if X failed again and will use next X server configuration. Use Case: This is very important now as we switched to system and much system modules are included in initrd. This may cause much problems, e.g. then we we boot from LiveCD/LiveUSB. One problematic case described here: http://suse-studio-users.1598176.n2.nabble.com/Tesdrive-OK-but-does-not-dire... + Discussion: + #1: Mindaugas Baranauskas (embar-) (2015-08-25 20:01:30) + Recent changes (0.1.6 version) helps not to change good configuration, + if user intentionally make crash of X more than 2 minutes after last X + re-configuration: program will not run new X re-configuration. Time can + be changed in TIMEOUT variable. -- openSUSE Feature: https://features.opensuse.org/318306