startx says:

xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?
If so either use a display manager (strongly recommended) or adjust /etc/permissions.local and run "chkstat --system --set" afterwards

Obviously, I can chmod 4775 /usr/bin/Xorg, which will work until the next Xorg update removes the suid bit again. However, how to "use a display manager" instead, as "strongly recommended", is not at all obvious to me!

What does this mean?

  • Is startx deprecated now?
  • What should I have typed instead?
  • Why isn't startx doing the right thing then? This is your life saver in case X goes down; likely one of the first commands one has had to learn.

I'm pretty sure my system is using a display manager. I've got xdm, kdm, gdm, lightdm and sddm. It boots to a desktop environment, which when logged out of shows a login screen. In other words, a bog-standard desktop machine setup, but in case it matters, I'm using KDE on OpenSuse Tumbleweed.

I'm going to accept a properly documented, reasonably complete, list of the various specific commands that startx has been replaced with, on any Unix. If there is anything that doesn't work exactly like that on OpenSuse, I swear I'll write a bugreport. I hate seeing a user interface that we all seem to know turned upside down for purely technical reasons while nobody knows a replacement.

  • Have you seen the section about this change in the openSUSE 11.4 release notes? It includes instructions on how to set the suid bit permanently. – JigglyNaga May 29 '16 at 14:37
  • @JigglyNaga I think your comment deserves to be an answer ;) – Serge May 29 '16 at 14:51

According to the 11.4 release notes, yes, startx is deprecated in SUSE. But they explain how to set the setuid bit so that it won't be lost when updating:

Users who depend on the old configuration can set the setuid bit themselves in /etc/permissions.local by removing the comment sign from the following line:

#/usr/bin/Xorg                 root:root       4711

and running SuSEconfig --module permissions afterwards.

  • As for (re)starting the display manager from the command line, I /think/ that would be handled through systemd (ie. systemctl restart <dm>), but I can't confirm. – JigglyNaga May 29 '16 at 15:05
  • Thanks for the reference! It does answer the first part of the question, though I'm seeking the "strongly recommended" solution. – user2394284 May 29 '16 at 20:43
  • I can confirm that systemctl restart sddm works, but only after a reboot and systemctl isolate multi-user.target. Replacing sddm with kdm or xdm gives a black screen with blinking underscore in the top left corner. – user2394284 Sep 3 '16 at 16:51
  • 1
    SuSEconfig --module permissions doesn't exist anymore on Tumbleweed maybe? – Warren P Dec 3 '16 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.