You are not logged in.
Pages: 1
I figured out the issue, after reinstalling again. Both times, I installed Daedelus, copied over my old sources.lists and important config files, upgraded to Ceres, and reinstalled a cache of packages I downloaded before I first reinstalled to create a reasonable approximation of my old system. Turns out, the reason OpenRC on Devuan doesn't start user services is that, through some miracle of packaging, it doesn't include facilities for running user services. There's no /etc/init.d/user service to link against, and the openrc-user file in pam.d doesn't exist, either (though that's more understandable). I'll probably figure out how to write a bug report on this, assuming this isn't intentional.
I do not recommend anyone else peform the following sequence of events, and instead hope that a fix comes someday to remove the need for all this bodging. However, if you think this is at all a good idea, here's what I did to fix my issue:
Built OpenRC from source, copied /build/init.d/user from there to my /etc/init.d/, changing any references of /usr/lbexec/rc to /usr/lib/rc, as that's where OpenRC's internal utilities are installed on Devuan (Do not install all of OpenRC from source after building; that bricked my system, and you only need a single file from it anyway)
Added the following to the end of /etc/pam.d/common-session (this was pulled from the Artix wiki, and it seems to work reasonably well):
session [default=1 success=ignore] pam_succeed_if.so uid >= 1000
-session optional pam_openrc.so
Created a new /etc/pam.d/openrc-user file, with the following contents:
#%PAM-1.0
#OpenRC-User starts up the user session for OpenRC. It needs all the
#stuff a common user session has
session include common-session
Symlinked /etc/init.d/user to /etc/init.d/user.(me), as instructed, in addition to creating /etc/user/init.d/, ~/.config/rc/runlevels, and ~/.config/rc/init.d .
Doing all this allows me to run user services of some description. Though I doubt you want to see my scripts for Pipewire, they can start automatically now.
Reinstalled completely. The sound is more broken than it was before, all the front-facing stuff I interacted with is now off in myriad different ways, and I still can't get OpenRC to automatically start my stuff, but hey, at least the non-fatal error is gone.
(... I don't think it was worth it)
I'm honestly terrified of installing a new system. This is the culmination of six years of tinkering and bodging, and so many little things have been adjusted that I've forgotten what exactly I did to make it all happen. A bunch of installed packages are no longer in the repos, custom software has been installed outside of the package repos, an unknown number of udev rules were changed, and I'm extremely unwilling to touch my xorg.conf again. I'd rather not be here with a half-functional system until 2031.
@rwall, add some double-quotes, and make that line 17 be
if [ ! -e "${RC_SVCDIR}/softlevel" ]; then
and then you won't have that problem (at least).
I've tried that on a fair few occasions. The same result occurs. I'm starting to think that RC_SVCDIR either has multiple paths or it's not set at boot. My computer has things all over the place - the root filesystem been transplanted over and over again onto different drives for six years, so it's possible things have gotten so messy that RC_SVCDIR is in multiple places.
Hello, this is my first time here. Please forgive me for not knowing a thing or two.
I've been running Devuan for a few months now with much success. I've even managed to get it running without any problems on two of my laptops. But it's the first one, my desktop computer, that I ask about today. See, it's a conversion from Debian Sid to Devuan Ceres. Between my inexperience, and the many, many bodge fixes it's recieved that I have since forgotten about, it did not go exceptionally smoothly. But it worked, and I even got OpenRC working on it. Well, I say 'working' - two things are wrong with OpenRC on it.
First, every time it starts up, the logs are spammed with the same thing, over and over again.
/usr/lib/rc/sh/openrc-run.sh: 17: [: unexpected operator
This happens every single time it starts something up, sometimes multiple times, but only on my workstation. My X230T, which is a clean install, and my T470, which was a conversion job from Debian Sid just like the workstation, don't have these issues. Line 17 of the offending script, openrc-run.sh, is this:
if [ ! -e ${RC_SVCDIR}/softlevel ]; then
I can't tell what the problem is, but it apparently seems to be OK. I can't even get it to say what it's seeing in terms of $RC_SVCDIR by editing the shell script. However, I know it does something, because of the other problem I've been having with regards to user services.
Yes, OpenRC has user services now, and they've finally made it to Devuan. However, whenever I try to start up a process in user mode, like, say, pipewire, I get an error, one I've always seen in the openrc-run.sh whenever I try to figure out what RC_SVCDIR is:
* You are attempting to run an openrc service on a
* system which openrc did not boot.
* You may be inside a chroot or you may have used
* another initialization system to boot this system.
* In this situation, you will get unpredictable results!
* If you really want to do this, issue the following command:
* touch /run/user/1000/openrc/softlevel
* ERROR: pipewire failed to start
In this case, it seems, RC_SVCDIR is /run/user/1000/openrc, and OpenRC does not set things correctly. That's OK, this is a new thing, and I doubt Devuan's package managers have caught onto the problem. Checking other OpenRC-using distros, specifically Artix, they state that one of the prerequisites to running user processes is to have the PAM module properly loaded, which means placing the following lines in ./etc/pam.d/system-login:
# Do NOT change NOR split the below 2 lines:
session [default=1 success=ignore] pam_succeed_if.so uid >= 1000
-session optional pam_openrc.so
This is fine and dandy for Artix, but Devuan doesn't HAVE system-login in the pam.d folder. The closest I can think of are the five common-* files.
So, from this, I have several questions:
How do I make that unexpected operator message go away on boot?
What file do I put the PAM lines suggested by Artix into?
Do I need the PAM lines at all to run user services?
Why isn't Devuan's OpenRC adding the softlevel directory into /run/user/1000/openrc?
Will this become less of a mess as the package is updated in Devuan?
Pages: 1