Mailinglist Archive: opensuse-features (26 mails)

< Previous Next >
[openFATE 318306] Systemd service to catch crashed X, try to auto repair it and restart
Feature changed by: Mindaugas Baranauskas (embar-)
Feature #318306, revision 7
Title: Systemd service to catch crashed X, try to auto repair it and

openSUSE Distribution: Unconfirmed
Requester: Important

SUSE Studio: Unconfirmed
Requester: Important

Requested by: Mindaugas Baranauskas (embar-)
Partner organization:

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
You can download it as systemd-check-x-failed-service RPM package:
Source is here:
This is included in openSUSE based appliance Lietukas ( )
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:
+ we we boot from LiveCD/LiveUSB. Problematic cases described here:

#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:

< Previous Next >
This Thread
  • No further messages