The officially official Devuan Forum!

You are not logged in.

#1 Re: Other Issues » 2800 open issues » 2026-10-27 19:42:12

@bai4Iej2need: I would like to correct this Knoppix guy from the video. Around 5:00 you see a slide title "Once upon a time ... There was a simple startup procedure". Well, of course, he's right, nevertheless the first bullet is wrong. (1) No one supplied the `init=` parameter to the kernel command line. The kernel just pick /sbin/init. (2) The `init=` parameter is still working.

Why this is important? I'm working on a Raspberry Pi project where I have the strong use case to dump systemd and the standard userland. On the other hand I want to make the software as easy to use as possible. IOW: it must run on standard Raspberry Pi OS which is systemd/Debian. The simple solution? `init=/etc/micro-boot/init` which avoids all standards and gives real bare "metal" access. The basics are shown and explained here: https://codeberg.org/awk-scripting/micro-boot (needs minor adjustments for Debian/13).

For what comes now I will be punished hard smile. The thing is that compiling Debian without systemd was never easy and it will not get better. (The maintainers have first hand knowledge.) In the long run I expect it to take too much effort. So, decoupling from Debian could be a good idea but this will also mean to e.g. leave the shiny modern desktops behind.

Possible and perhaps easier alternatives could be to use Debian as-is, i.e. with systemd, and

1. Use `init=` to avoid systemd as pid 1 and see how much of the usefull systemd and userland stuff works without systemd/1.

2. Let systemd be pid1 but that's it, i.e. make a setup that starts only an alternative init/2 (of course the thing will not have pid 2 but you know what I mean) which does all the real work.

3. Use systemd/1 and rewrite unit files to use less units which start shell scripts (9 mount units when it can be done with one or two scripts - that do other stuff as well?). Following sysv a single unit file could reproduce one runlevel.

There may be other options as well. Why I mention them here? Two reasons: (a) It could make it easier to make a less/no-systemd distribution and (b) the derivat more sustainable, and (c) could attract other users to experiment with alternatives.

#2 Re: Other Issues » 2800 open issues » 2026-10-24 08:18:01

@bai4Iej2need: You are completely right. And thank you for posting the link. I'm just watching it and my favourite slide is shown at around 25:00. Spoiler alert smile "I just don't need ANY of this." Regarding the ship, we will immediately discuss which ship and where will it sail (or is it a steamboat?).

#3 Re: Other Issues » 2800 open issues » 2026-10-22 20:08:30

Hmm, ok. It's the first time that I hear that Canonical gamed the GR. It that's true it is an interesting detail of modern computer history. Do you have links discussing this aspect?

Yes, it's true that they stopped upstart. The statement was that they simply go with Debian. We can speculate but perhaps it was the community stance of (you named it)

a proprietary backend I believe (not the first time theyve pulled this kind of thing)

And no, upstart was not very welcomed at the community, because "don't fix ...", you know.

And of course, when I say that Canonical has their own appimage I really mean snap. Ok, it's a container technology. Ant proprietary!!!

Regarding RedHat I have question. Do you mean this?

Red Hat were an enterprise solutions provider even long before the IBM buy out and the main driving force behind systemd.

I ask because it was RedHat giving systemd the free ride.

The other things with RedHat are

  • They have the monopoly on Linux based engineering computer, well because when you want support for 3rd party software they accept RedHat and RedHat. Perhaps also RedHat smile. This is why they can take license fees when you use their stuff in the company.

  • They have gone rogue (but legally correct) with the open source licensing. (Just to mention it here: Evil Canonical still gives 5 years support for any device (business or private) plus you can subscribe up to 5 (?) company devices for free in their long term support program. This is uber evil!)

  • One of the driving forces behind image based Linux is ... - Make an educated guess. So, yes they have an active role in how Linux looks today and tomorrow

(If I would have thought that this would ever be of any interest I would have collected links to that. I would have to search.) I found this one regarding image based stuff:

https://www.redhat.com/en/blog/firefox- … -means-you:

Firefox and Thunderbird are the first 2 applications making this transition, but they won't be the last. We're building the infrastructure and the tooling to make Flatpak delivery the standard for RHEL desktop applications.

So, yes there are valid reasons why IBM paid 8 bill. USD for RedHat. I think that was a cheap one.

Additionally, you might want to take a look at the impressive list of RedHat contributions: https://www.redhat.com/en/about/open-so … oper-tools and ask yourself "Who is controlling Linux userland?" So, what I mean, they simply are organised to make the Linux desktop for the next decade and they are going for it. And don't get me wrong, there nothing bad or evil about their goal. It's just what they are doing, their business. I really don't know who is the nice guy among the Linux distributors but RedHat would really not be on the top of the list.

#4 Re: Other Issues » 2800 open issues » 2026-10-22 16:00:30

Ok, but what? That's your argument, blackhole? Come on that's weak. smile (I'm writing this from a Win 11 laptop) A better would have been that they are enforcing (buuh!) their proprietary (double buuh!) app image format (not enough buuhs available) on the community.

No, really, Canonical tried to give some impulses in the early 2010's (anyone remembering that they were sending installation CDs for free; that the had a netbook remix for the then popular devices or upstart?) - but (parts of) the community buuh'd them out of the room. So they turned away to doing business in the cloud (this is were they are big) and doing stuff with MIcrosoft. Why not? Ok, they could have left that to RedHat too. I think (but I don't know) that they have Debian devs on their payroll, so what?

Personally I think it's time to acknowledge that Linux is lost to the big corps but I still do not have Canonical on that list. Just wait, what RedHat is going to do. They already mentioned that they are going to an image-desktop. I also read that they think about an OS variant for AI (including agentic? but I don't remember) use. And the Debian folks will do what they ever did since they took systemd: repackage. Yes, I think that's the future.

The question is, what will small communities which don't like this approach do about that? I guess nothing because the saying "If it's not broken, don't fix it." But the part of the truth is that if you don't "fix" software while it's working it's very likley that something or someone else will break it for you. (Anyone thinking of systemd now? Or appimages?)

#5 Re: Other Issues » 2800 open issues » 2026-10-21 19:18:22

@bai4Iej2need: Interesting post. I agree with

The barrier to entry for packaging in debian is just too high, from too much bureaucracy to very high quality requirements.

but it's not only Debian. Every other large project has that too and it's understandable: The people behind the projects have created quality stuff and they want to keep it. They don't want any (no type ahead) HI-slop. What I see as the real problem is that they have no easy onboarding. Perhaps some helpful persone where you can submit bugs and they assist you in making patches.

Detaching from Debian? I think this question will become more important in the future as more projects use stuff from systemd. The mainstream Linux will by even more systemd than it is today. The current userland is lost to systemd / RedHat - but we will eventually see Linux on the desktop.

#6 Re: Other Issues » 2800 open issues » 2026-10-21 19:01:53

@blackhole: I would add RedHat to the list (why Canonical?) because there it all began. And I'm still impressed how well they hide in plain sight. I mean, check out who is behind the currrent developments in userland.

@kaiyel: You are comparing apples to 700 kg pumkins. smile

#7 DIY » umnt - Helper script to mount network drives. » 2026-10-21 18:54:26

coder-hase
Replies: 0

I've uploaded umnt which is an awk script to mount network drives based on an fstab-like configuration file: <https://codeberg.org/awk-scripting/umnt>.  It does not use gvfs but mount (to make a late reply to https://dev1galaxy.org/viewtopic.php?id=7851).  Something like

<your-user> ALL=(ALL) NOPASSWD: /usr/bin/mount *
<your-user> ALL=(ALL) NOPASSWD: /usr/bin/umount *

in /etc/sudoers is recommended.  umnt supports smb, sftp and dav filesystems.  It's a kind of beta release but good enough for use.

Now the (perhaps) interesting point: umnt does not do the mount itself.  Instead, it creates the shell code to make the mount which must be piped to /bin/sh.  To illustrate, here is one of the two example scripts.

$ cat net-mount 
#!/bin/sh

# Must be run in tty window.

dir=$(umnt --list |
	dmenu |
	umnt --stdin --verbose |
	sh)

[ "$dir" != "" ]  &&  open "$dir" &

Why do I post that here?  Of course, you might want to use that thing.  My use case is simply "no gvfsd".  But I would also like to get some feedback on the approach and suggestions for the next thing I would like to implement that way: network configuration, that is, have a script that reads configuration information and creates the shell script to configure the network.  But I already understand that this is more difficult.

#8 Re: Desktop and Multimedia » What DE do you prefer to use on Devuan? » 2026-10-20 19:51:22

I have been using lxde and then lxqt on Debian / Devuan systems. The work very well with 2GB RAM. Since I do not really need an IDE I switched now to

#9 Re: Off-topic » Looking for a console mail client » 2026-10-08 19:04:25

Thank you both for your comments. I'll take a look at alpine.

#10 Off-topic » Looking for a console mail client » 2026-10-06 15:55:29

coder-hase
Replies: 6

I'm looking for a mail client that (1) works in the Linux console and (2) is compatible with modern mail protocols. Bonus points if it does not come with large dependencies. Any suggestions?

Thanks in advance.

#11 Re: Freedom Hacks » The Absurdist Comedy » 2026-10-06 15:51:24

Thank you, Igor, for posting the `apt-mark` command above. After an update of an old Raspberry 11 I found pipewire on the system where it's clearly not needed.

I also agree with your "23 Years of Stupid Business" post above. If you ask me for a possible reason, I would say that starting with the late 90s new developers entered the scene, looking for "stuff to do", showing their expertise to enhance things. New solutions were invented for problems that didn't exist. Even worse: I expect that a lot of them grew up with Windows as their first OS.

The "AI-slopped" youtube video that was mentioned here some weeks ago make another good point when it says that Linux is no longer UNIX. I would say, the UNIX is still there but it's hard to find. If you prefer to read something about the UNIX tool approach this link might be for you: https://github.com/arnoldrobbins/unix-p … _design.ms

#12 Re: Devuan » Why not use runit? Do you guys use runit? » 2026-06-11 15:29:04

Interesting. Let me follow up on that.

First, thank you, blackhole and greenjeans, for your reply. I noticed that you did not answer the question: What is an admin or user supposed to do if a service fails due to a transient error? How do they know that?

@greenjeans: No, this is not "incongruous thinking". When I get the story right it was like that (feel free to correct me): Around 2000 Linux was the new kid on at the table. HP-UX, IBM AIX, SCO, Sun and yes, Microsoft too were the established names for the server room. You had to persuade your manager to bring Linux. But was still a freaky and nerdy thing made by a group of coder led by some Finish guy. How could that possibly work? But you got the permission. Then the day came where the mail, print, file or web server (or all together) failed. That was clear from the beginning, wasn't it? I mean, what quality can you expect from a bunch of non-professional coders? With good luck they were working for a university (iow: an egghead). Can you even imagine how bad such an admin feels? He then turns to SysV for assistance and what he gets back is like: "Well, you know, the philosophy is that services don't fail". Now Linux does offer great opportunities for everyone, so the admin might have answererd: "Thank you, but I will fork off."

Another question for you:

greenjeans most definitely breaks stuff to see what's possible, just not the important stuff

How do you make the decision what is it important? Or let me ask that otherwise: There was a time before SysV init-style. That was changed (broken?) for SysV. What made this change so extremely good that it seem to hit some optimum, which cannot be enhanced by further changes? Oh, please @blackhole: you might also have suggestion on that. Please let me know.

can't have stable things just working without breaking

Changing is not automatically breaking. There was I time when I asked myself: "How could I change SysV init into something with supervision with minimal (scriptable?) changes to the init scripts?" to have the best of both worlds. But that would things only on the surface.

Thank you, JCK, for mentioning other init-styles. It remembers that the init-space is totally fragmented. Changing / enhancing SysV would only increase that. I'm not suggesting anything like that and I'm really no longer care about init-styles. Instead I started to make my own pidN service controllers that could run with minimal impact below any init-system I find. (If I would have to choose, I think I would take runit: I like its concepts anbd ideas but not so much the implementation.) SysV, systemd, /sbin/init? I doesn't matter. It's pretty easy to configure a single service to whatever the system runs and from that I'm on my own. And in addition to the small footprint, I do not depend on others, their implementation or whatever.

But back to the question above, I would be really interested in how you (all) decide what to consinder to change or update and what not. Because there the difference between bloat and not-bloat starts.

And what's wrong in general with Linux these days.

I agree to that partly. What I think is wrong with Linux is that every program has to have address all (!) possible use cases. Even if they are only useful in years where Easter Monday is on Thursday.

#13 Re: Devuan » Why not use runit? Do you guys use runit? » 2026-06-09 20:44:53

Puh, there's so much to say to this that I do not know where to start.

Stability, simplicity,code correctness, robustness and reliability are worth pursuing.

SysV init is a lot but robust and reliable? No, sorry. It works if rc-scripts play according to the rules of SysV. If they fail (of cause, they are simply not allowed to fail, right? smile) the service does not work - bad and no other init system solves that - but the user or admin is the last who learns that because there's no service supervision. The service might also start and fail later for any reason and again, no one takes notice. The logs will not even show an error code.

Service supervision is "real world" crap which enterprise demands. There's a reason why BSD projects don't include it in the base system - the philosophy was always "write your programs correctly, so that they don't crash".

Service supervision is just a modern requirement. I mean, come on, should the system really not try to fix a terminated service by restarting it? Should always an admin be there? What are normal users supposed to do? I also guess there's a reason why BSD is not the chosen Unix for the majority of servers or desktops. And sorry, but from here the mentioned philosophy sound so much like "Trust me bro, I'm a programmer and know what I do". No way.

The harsh reality is that if you're just a desktop user, and not a server admin, you may see no benefits from something like runit, where the main focus is service supervision ...

I fully agree to this. But the other half of that "harsh reality" is that SysV init is something for hobbyist.

Is SysV stable? Yes - which is part of the problem. It's simple: times, expectations and requirements have change since SysV was invented or later introduced to Linux in the mid 90s. It was then a big step forward but it failed to meet evolveing expectations. There is a reason why there were / are so many alternatives to SysV exists. They were no invented for fun but for real reasons.

Simplicity? I don't know. But when you look into one of the init-scripts you see that all scripts source /lib/lsb/init-functions. Doesn't that "feel" wrong? Shouldn't this environment not be provided by some "master" process which runs all the time, very much like pid1 (with or without supervision)? For me, that's a clear sign of bad design. Not bad for the mid 90s but really not good enough for 201x or later.

A problem I remember was (is it still?) that if a service was not configured to automatically start ("START=no" in the defaults file), even root couldn't do this manually from the command line. Thanks to shell scripts that could be changed (check for a tty and ignore the START parameter). But when the runlevel was later changed SysV didn't care about the extra process and didn't stop that. No, it was stupidely processing the links in rc2.d, nmot caring about the actual system status. Not what I would call a super clever solution.

To sum it up: I can easily imagine better init systems than SysV and prefer to do my own stuff and ignore / bypass the system's init system as much as possible. But nowadays I'm also only a hobby hacker.

Btw.: if you use runit (I don't) you might want to take a look at nitro from voildlinux which is (as I understand it) a runit plus some enhancements: https://leahneukirchen.org/blog/archive … runit.html.

#14 Re: Off-topic » word is that flatpak 2.0 WILL depend on systemd » 2026-05-26 18:57:33

This should be no big surprise. In the end it's all Redhat stuff, isn't? I mean as far as I understand they "own" systemd, Gnome, Wayland (?), flatpak, util-linux ... 80% of the relevant Linux user space?

#15 Re: Devuan » systemd compatibility layer » 2026-05-11 17:06:00

When you say are created with systemd in mind, can you give some examples?

#16 Re: DIY » SHED init independient/agnostic user services » 2026-03-22 10:22:17

I took a look at shed (version shed.v0.2.0-120-gd7af2d4) to see how you manage is processes are running. I guess I made something completely wrong due to my impatience or missing experience with gaming X sessions. Nevertheless, I got what I already suspected. shed was reporting that is was already running (line 142) when that was really not the case. It's because shed relies on pidfiles only. (If there is one single thing I should name that was giving me most issues with SysV init then it is the reliance on pidfiles in the "early"? init scripts.)

Instead you could use start-stop-daemon, and if that's not installed busybox start-stop-daemon (busybox is widely used in Linux installations because of its use in initrd) but (1) I have no idea about non-Linux UNIX systems and (2) I don't think that it would help in checking for the shed script.

Here is a suggestion for some "stuff" smile that might work too.

#!/bin/sh
#

is_running() {
    /usr/bin/awk '#

	function getarg(name,   p) {
		if (argi >= ARGC) {
			printf ("%s: missing arg: %s\n", program, name) >>"/dev/stderr";
			exit (1);
			}

		p = ARGV[argi];
		ARGV[argi++] = "";

		return (p);
		}

	BEGIN {
		program = "is-running";
		argi = 1;

		pidfile = getarg("pidfile");
		pid = getarg("pid");

		if (pidfile != ""  &&  pidfile != ".") {
			getline pid2 <pidfile;
			close(pidfile);
			if (pid == ""  ||  pid == ".")
				pid = pid2;
			else if (pid != pid2)
				exit (1);
			}

		fn = "/proc/" pid "/cmdline";
		FS = "\0";
		getline <fn;
		close (fn);
		for (i = 1; ARGV[argi] != ""; argi++) {
			if (ARGV[argi] == ""  ||  ARGV[argi] != $(i++))
				exit (1);
			}

		exit (0);
		}' "$@"

	return $?
    }

is_running "$@"
exit $?

is_running is a draft of a shell function *relying on /proc* (again: don't know about non-Linux) accepting 3 or more parameters:

  • the name of the process' pidfile; this is optional

  • the process' pid; optional: if pidfile is given its value is compared against pid and they are expected to match; if missing the pidfile's content is used as pid

  • the process' executable (optional - if not set only pids would compared but that would not make much sense for this function)

  • addtional optional parameter would be compared against the process' command line parameters.

  • Arguments for process executable or parameter might be empty string to ignore the for comparison.

So, how could that been used in shed? Just guessing here, but testing for a running service should be

is_running $pidfile "" $EXEC

but that does not work for interpreted scripts (bad). Adding `$E_ARGS` should help

is_running $pidfile "" $EXEC $E_ARGS

but the script's `$EXEC` must be the interpreter (i.e. no use of `#!` here).
Also

is_running $startfile "" /bin/sh shed

should check if shed is running. You can replace `/bin/sh` with `""` if you are unsure about the shell interpreter.

#17 Re: DIY » SHED init independient/agnostic user services » 2026-03-21 09:07:28

Yor are right, EDX-0, pico-init has become large (it's no longer "pico"). I see two major scenarios where it fits:

  • as pidN service controller/supervisor if the use case is strong enough (e.g. for a Rasperry Pi gadget device) or

  • as experimental or test kit for processes control: as soon as you know what you want and need you would copy&paste idea and/or code to your project.

Just yesterday I got an idea for a possible scenario 2 smile.

#18 Re: DIY » SHED init independient/agnostic user services » 2026-03-12 20:48:21

@EDX-0, I really like what you are doing here and I think we should have more of that (to have alternatives to choose from or copy&paste code or ideas).  One of my projects is to work on a Raspberry Pi gadget where I combine system services into a "functional device".  I don't give a pfff about writing systemd units for them but instead I use my own process supervisor for that.  This too makes starting the relevant services pid1-agnostic.  That is easier to handle (you do not have to understand the 300+ unit options) and it is easier to port to other pid1's (SysV, systemd, s6, runit/nitro, you-name-it).

Having said that, I must admit that I'm not going to use your controller because I have my own pony on the lawn: https://codeberg.org/awk-scripting/pico-init.  It supervises the process but requires bash or busybox ash (or any other shell with `wait -n` which excludes dash) for that.  I'm just going to add runlevels smile to it which brings the script to approx. 1500 lines of code big_smile (comments and empty line count extra).

#19 Re: DIY » I'm making a note-taking app » 2026-02-17 19:58:50

Of course, "no one" needs another editor and this is also not what the apps do. E.g., the console notes app is a large GNU awk script that uses vi (or nano or your-editor) for editing. So, what is the script doing?

- Years ago I decided to put my notes where they belong - into the project directories. To keep the directories uncluttered, all notes go into the file Notes.md and they begin with a `###` markdown header. So the app's first function is to know the format and present the notes as directory.

- Displaying notes inserts ANSI sequences to color markdown markup and uses `less -XRF` for output.

- Then the app understands where to look when I enter `Lin:` (opens Linux.md from the "wiki" directory) or "micro:" (opens Notes.md from micro-boot directory).

- The app knows where to find all files when I run a search through all of my notes (`//systemd +boot`)

- Then the app can open links in a console (or GUI) browser, start a shell, open the editor or duplicate itself in a new xterm, tmux or screen window.

- It also knows how to open files on a gvfs directory.

So while it's true, that there are plenty of good text editors, there is so much more around organising and finding notes and this is what the apps really do.

#20 Re: DIY » I'm making a note-taking app » 2026-02-16 18:21:56

Thank you for posting this. Your app gave me the final push to create an X-version for a note format I'm using for years now in Linux terminals. It's written in Java and I understand it's not for everyone but in case you are looking for additional inspiration, the documentation is here: https://codeberg.org/awk-scripting/Note … ntation.md

#21 Re: DIY » SHED init independient/agnostic user services » 2025-11-19 17:29:35

Hello EDX-0, I like your shell approach and the idea of being agnostic of window system. init-system or whatever is there. (I'm using a similar thing for my own stuff on Raspberry Pi.) I have a small suggestion just in case there are distro maintainers with aversion of too much shell commands:

get_shed_cgroup_2() {
  awk '
        BEGIN {
                pid = ARGV[1];
                cmd = "ps ax -o pid,cgroup,cmd=CMD ";
                while (cmd | getline > 0) {
                        if ($0 ~ /grep/  ||  $0 !~ /shed/)
                                continue;
                        else if ($1 != pid)
                                continue;

                        sub(/^.*::\//, "", $2);
                        print $2;
                        }
                }' "$shed_pid"
        }

shed_pid=$$
get_shed_cgroup
get_shed_cgroup_2

Board footer

Forum Software