I’m updating an old openSUSE-based kiosk, which launches various background apps and then launches a browser window to view a captive site. The kiosk originally used openSUSE 12.3, and I’m updating it to 15.5 (not the latest, for various reasons). I’m doing as much as possible on the command line, for reproduceability and documentability.
Originally, the default user’s $HOME had an .xinitrc which launched everything. This no longer works, though; ~/.xinitrc isn’t being run at all. I even tried adding a touch /tmp/iWasHere.txt to /etc/X11/xdm/sys.xsession, but that wasn’t being run either.
Searching for answers, there’s lots of old doc on .xinitrc, including one hint that I need to install xorg-xinit (which I haven’t, as I can’t find doc on what the package does).
<rant>
I tried setting things up with systemd, but after about a week of wasted time I threw in the towel. Mysterious, magical, and confusing. Good documentation on the leaves, but nothing on the forest, if you know what I mean. For example, if the documentation were comprehensive there would be no need for blog posts such as Difference between PartOf and BindsTo in a systemd unit . </rant>
Is .xinitrc still used? If so, how do I enable it? If not, what’s a good way to configure a GUI on startup from the command line?
I was a bit curious reading this and thus did a bit of browsing through the man pages. That confirms in my opinion that .xinitrc is a configuration file (indeed there is a sort of convention to call configuration files used at the startup of a program with the name of the program and the characters rc added at the end).
So to me it is not about .xinitrc “not doing” anything, but it is about: is xinit running, or better, is it started at any moment in time. No xinit started, then no .xinitrc interpreted.
Sounds right to me, but that begs the question: how is xinit started on boot? Must I install some package (perhaps xorg-xinit?), or is there a flag to be enabled?
Or, is there a better (non-systemd) way to start a GUI on boot?
I assume (but your set-up seems to be a bit out of fashion), that it was done in a SysVinit way. Try to find out the appropriate start/stop files (/etc/init.d and rcn.d files if I remember correctly). Then people here can try to help you in converting them into a systemd service,
Yes, that is one of the problems when you do not stay up-to date. Other people forget how it worked long ago. And when you then need help …
It should be as long as your X11 session startup is using /etc/X11/xdm/Xsession. I just tested on Leap 15.6 with lightdm as Display Manager in default configuration and ~/.xinitrc is invoked.
Well, now I’m really confused. My copy of openSUSE 15.5 has a fully functioning desktop system (which I know very little about, although I did choose GNOME when I installed openSUSE). Would installing xinit replace whatever system I’m currently using, or augment it? Or, is there some FM that I could R that would explain my current graphical stack, and how to auto-start a browser within it?
I added a ~/.xprofile file, but it, too, isn’t being executed on boot.
I thought everyone would know what X11 tools an openSUSE 15.5 system uses, but I was wrong. I’m using the GNOME GUI; how do I tell which display server and window manager I’m using?
As some people like to reiterate, “Linux is about choice”. So no, we do not know what X11 tools your installation of openSUSE 15.5 sysem uses. I just tested 15.5 with lightdm and ~/.xinitrc is respected and used.