The officially official Devuan Forum!

You are not logged in.

#1 Re: Desktop and Multimedia » xorg and wall (usr/bin/wall) » 2026-08-06 18:39:41

2. neat script but : #!/bin/python3  ?

i guess it should be #!/usr/bin/python3 but since usrmerge it makes no difference whatsoever as /bin is the same as /usr/bin

#2 Re: Desktop and Multimedia » xorg and wall (usr/bin/wall) » 2026-08-06 08:55:12

at this point it begs the question if it would not be better to just write a program to do what wall(1) is supposed to do but in a less obtuse way, i do not think it would be too difficult to write something that has a correct and predictable behaviour, after all i quickly cobbled together this snippet out of code that exists in pywal

#!/bin/python3

# SPDX-License-Identifier: MIT

import logging
import os
import platform
import glob
import sys
import subprocess

def setup_logging():
    """Logging config."""
    logging.basicConfig(
        format=(
            "[%(levelname)s\033[0m] "
            "\033[1;31m%(module)s\033[0m: "
            "%(message)s"
        ),
        level=logging.INFO,
        stream=sys.stdout,
    )
    logging.addLevelName(logging.ERROR, "\033[1;31mE")
    logging.addLevelName(logging.INFO, "\033[1;32mI")
    logging.addLevelName(logging.WARNING, "\033[1;33mW")

setup_logging()
OS = platform.uname()[0]

has_fcntl = False
fcntl_warning = ""

try:
    import fcntl

    has_fcntl = True
except ImportError:
    fcntl_warning = "{}, {}".format(
        "can't skip blocking io in current platform",
        "program could hang indefinitely",
    )

def create_dir(directory):
    """Alias to create the cache dir."""
    os.makedirs(directory, exist_ok=True)

def save_file(data, export_file):
    """Write data to a file."""
    create_dir(os.path.dirname(export_file))

    if has_fcntl:
        try:
            with open(export_file, "w") as file:
                # Get the current flags and add non-blocking mode
                # to skip TTYs suspended by Flow Control
                # https://www.gnu.org/software/libc/manual/html_node/Getting-File-Status-Flags.html
                # https://www.gnu.org/software/libc/manual/html_node/Open_002dtime-Flags.html
                flags = fcntl.fcntl(file, fcntl.F_GETFL)
                fcntl.fcntl(file, fcntl.F_SETFL, flags | os.O_NONBLOCK)
                file.write(data)
        except PermissionError:
            logging.warning("Couldn't write to %s.", export_file)
        except BlockingIOError:
            logging.warning(
                "Couldn't write to %s, not accepting data", export_file
            )
    else:
        try:
            with open(export_file, "w") as file:
                file.write(data)
        except PermissionError:
            logging.warning("Couldn't write to %s.", export_file)

def send_to_term(message, to_send=True):
    """Send colors to all open terminals."""
    if OS == "Darwin":
        devices = glob.glob("/dev/ttys00[0-9]*")
    elif OS == "OpenBSD":
        devices = subprocess.check_output(
            "ps -o tty | sed -e 1d -e s#^#/dev/# | sort | uniq",
            shell=True,
            universal_newlines=True,
        ).split()
    else:
        devices = []
        patterns = ["/dev/pts/[0-9]*", "/dev/tty[1-6]"]
        for pattern in patterns:
            devices.extend(glob.glob(pattern))

    if not has_fcntl:
        logging.warning(fcntl_warning)

    # Send data to open terminal devices.
    if to_send:
        for dev in devices:
            if dev == "/dev/pts/0":
                if (
                    os.environ.get("XDG_CURRENT_DESKTOP") == "KDE"
                    or os.environ.get("DESKTOP_SESSION") == "plasma"
                ):
                    continue
            if dev == "/dev/tty7":
                continue
            save_file(message, dev)

def main():
    send_to_term(sys.argv[1])

if __name__ == "__main__":
    main()

the snippet is intentionally naive as a showcase of some quickly thrown together thing, it cares not for differentiating root from regular user just writes to whichever file it can open in "w" mode, the glob pattern intentionally avoids /dev/tty7 and just in case when writing to all terminal devices it explicitly avoids /dev/tty7 for good measure

the script could be made configurable (again this is just a quick cobbled together idea) to write only to specific patterns and add more filters to exclude any tty where a display manager lives

since this script already only cares that it can write to the target file, a shell wrapper could be put around to launch the script under it's own user, call it something like write_to_all_terminals and add a udev rule to give write permissions over all terminal devices (/dev/tty* and /dev/pts/*), then when the wrapper is called it will send whichever message is passed to all terminals

again this is just an idea.

edit: did not notice that the whole logging setup was initiated AFTER the first time the logging function could be called, anyway it is fixed

#3 Re: Desktop and Multimedia » xorg and wall (usr/bin/wall) » 2026-08-05 06:57:15

worry not i have no problem sharing my ignorance with the world, that was the first thing i was taught about engineering at university

tangent aside, my point is not about ignorance but rather on function over a specific program, if a traditional program no longer works in the expected traditional way it did then it comes the question of is it the program or the setup around it

wall from the util-linux package should have the function of writing a message onto the terminals of all currently logged users, how does wall "get" the list of terminals associated with current users, on my system when i run who i get a list that contains my current terminal emulators (pts/N where N is an int starting at 0) but also contains tty7, the tty where the lightdm greeter spawns to initate the x11 server, the w command produces a similar list also showing the leader process inside each terminal, however no tty device is listed, doing a quick test running just wall "test" in my main machine on devuan 6 did produce the expected traditional behaviour of broadcasting a message to every running terminal i have

so it isn't much the program that isn't behaving traditionally but the setup around it, which begs the question if some specific program IS affecting the detection that wall should be able to do or is rather eating the message preventing it from propagating to the user terminals

all i can ask is what is bai4Iej2need's setup, a Desktop Environment, a window manager? which lightdm greeter?

i have lightdm with the slick greeter, i use a window manager but got some custom tooling so that my .xsession is a file that just launchs a program i wrote myself to be the session process which spawns my window manager, pulse audio daemons, picom and more,  yet when i run wall from any regular running terminal it works

#4 Re: Desktop and Multimedia » xorg and wall (usr/bin/wall) » 2026-08-05 00:40:14

if i dare say, the issue is not so much a program named wall but rather the need for a program to send messages from other programs in a way the user can get them.

#5 Re: DIY » SHED init independient/agnostic user services » 2026-07-30 03:53:53

well i have not updated any of the threads on shed for a while, also have not had super fresh news nor have made many impactful changes on shed in almost a month as the master branch can attest, which i think is a good thing as besides the pending points on the roadmap i do not think the design or architecture of shed requires any more radical changes right now and it is all implementing features as i feel the software is in a rather stable state at least from my own daily use

on a less uplifting note, i made a thread about shed on the freebsd forums and got no traction whatsoever, which i interpret as the BSD world having no interest in something like shed, yes i know FreeBSD isn't the only BSD DISTRO out there nor it represents the BSD side of unix and unix-like operating systems, tho i always got the impression that out of the different BSD distros FreeBSD was the one most interested in new software and new alternatives to ways in which things are done, so if they don't care i can only guess no one else in the BSD space will

which makes way for my decisions:

i will make no attempt at porting shed to any OS nor distro, i will keep writing in a portable manner as i've been doing until now, simply i will not make any effort nor collaborate first hand in code for porting shed to any specific OS nor distro, IF someone ever gets interested in the porting of shed i will take in any patch and merge any pull request

i will keep the development of shed with me, my uses and my preferences as the MAIN target and target audience of shed, which is to say the development of shed will keep assuming my setup first and foremost, not to say i will not care about issues reported by other nor that i will not care to implement features suggested or requested by others, simply that those will have a lot lower urgency and importance to anything that is essential to my usecase, also i will keep only testing shed on the distros i use mainly, which at the current time my main machine is a laptop on devuan 6 excalibur (stable) with elogind, sysvinit and xorg as the windowing server, the components entrailed on that setup are the ones i test and make sure work without issue first hand

i will only TRY to package shed for debian, i was thinking of not even packaging shed at all but i will make an attempt to package the next release of shed for debian, if i do succeed on creating a package and getting it accepted on debian so be it, if the package is rejected or i fail to create a package then so be it too, i will not try to package for any other distro after that

that's all for now, i do hope to have more positive news next time and to put out the next release of shed in august

the freebsd forum thead if anyone is interested: https://forums.freebsd.org/threads/shed … ng.103091/

#6 Re: Devuan » [SOLVED] machine-id » 2026-07-24 23:54:47

it is intentional, as i said that initscript specifically targets debian sysvinit-core, not devuan, hence conforming to the file topology from debian, the way the file topology on devuan works is a subset of debian, but having /etc/machine-id as a volatile file linked to /run which exists only in memory is something that works across both debian and devuan, now if dbus finds a /etc/machine-id then /var/lib/dbus/machine-id is created as a link pointing to the machine-id file.

again if i manage to get this polished and accepted on debian all it would require to have the devuan way of a volatile machine id per booth would be just 1 config file, which is a benefit for debian to devuan install migrations

#7 Re: Devuan » [SOLVED] machine-id » 2026-07-24 19:44:35

well i've been messing some with greenjeans' initscript for my own machine-id initscript:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          machine-id
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Should-Start:      
# X-Start-Before:    dbus
# Default-Start:     2 3 4 5
# Default-Stop:      0 6
# Short-Description: Handle flexible machine-id modes and session cleanup
# Description:       Controls volatile or static machine-id layout variations
#                    and purges accumulated session bus files on shutdown.
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=machine-id
DESC="Flexible machine-id and session management"

# Source the standard Debian/Devuan LSB logging utility library
. /lib/lsb/init-functions

CONFIG="/etc/default/${NAME}"
# Source configuration overrides if the file exists
if [ -f "$CONFIG" ]; then
    . "$CONFIG"
fi

EtcMachineID=/etc/machine-id
RunMachineID=/run/machine-id
BaseDbusSessDir=".dbus/session-bus"

clean_dir() {
    local target_dir="$1"
    if [ -d "$target_dir" ] && [ "$(echo "$target_dir"/*)" != "$target_dir/*" ]; then
        if [ "$DRYRUN" = "yes" ]; then
            for item in "$target_dir"/*; do
                log_action_msg "Dry-run: Would remove $item"
            done
        else
            rm -f -- "$target_dir"/*
        fi
    fi
}

fallback_machine_id_gen() {
    local mac_hex=""
    local needed_chars=32
    local machine_id_file="$1"

    local BaseNetDir="/sys/class/net"
    local net_dir
    local raw_mac
    # Only attempt MAC acquisition if explicitly enabled by the administrator
    if [ "$USE_MAC_FALLBACK" = "yes" ]; then
        for net_dir in "$BaseNetDir"/*; do
            if [ -d "$net_dir" ] && [ "${net_dir##*/}" != "lo" ] && [ -f "$net_dir/address" ]; then
                read -r raw_mac < "$net_dir/address"
                mac_hex=$(printf '%s' "$raw_mac" | tr -d ':' | tr '[:upper:]' '[:lower:]')
                if [ ${#mac_hex} -eq 12 ] && [ "$mac_hex" != "000000000000" ]; then
                    break
                fi
                mac_hex=""
            fi
        done
    fi

    # Calculate remainder space (defaults to 32 if MAC loop was bypassed or empty)
    needed_chars=$((32 - ${#mac_hex}))

    # Write out any discovered MAC slice first, then append random entropy
    printf "%s" "$mac_hex" > "$machine_id_file"
    tr -dc 'a-f0-8' < /dev/urandom 2>/dev/null | head -c "$needed_chars" >> "$machine_id_file"
    printf "\n" >> "$machine_id_file"
}

machine_id_gen() {
    local target_file="$1"
    
    if command -v dbus-uuidgen >/dev/null 2>&1; then
        dbus-uuidgen --ensure="$target_file"
    else
        fallback_machine_id_gen "$target_file"
    fi
}

do_start() {
    # VOLATILE MODE ENGINE
    if [ -n "$VOLATILE_MACHINE_ID" ] && [ "$VOLATILE_MACHINE_ID" != "no" ]; then
        log_daemon_msg "Setting up volatile machine-id" "$NAME"

        if [ ! -L "$EtcMachineID" ] || [ "$(readlink "$EtcMachineID")" != "$RunMachineID" ]; then
            rm -f "$EtcMachineID"
            ln -sf "$RunMachineID" "$EtcMachineID"
        fi

        if [ ! -s "$RunMachineID" ]; then
            machine_id_gen "$RunMachineID"
        fi
        log_end_msg 0

    # STATIC PERSISTENT MODE ENGINE
    else
        log_daemon_msg "Checking persistent static machine-id" "$NAME"

        # If it was a volatile symlink, safely capture its contents to disk before destroying it
        if [ -L "$EtcMachineID" ]; then
            if [ -s "$RunMachineID" ]; then
                local temp_id
                temp_id=$(cat "$RunMachineID")
                rm -f "$EtcMachineID" "$RunMachineID"
                printf "%s\n" "$temp_id" > "$EtcMachineID"
            else
                rm -f "$EtcMachineID"
            fi
        fi

        # Generate a standard static ID ONLY if the static file is genuinely missing or empty
        if [ ! -f "$EtcMachineID" ] || [ ! -s "$EtcMachineID" ]; then
            rm -f "$EtcMachineID"
            machine_id_gen "$EtcMachineID"
        fi
        log_end_msg 0
    fi
}

do_stop() {
    PowerState="/sys/power/state"
    PowerPMStatus="/sys/power/pm_status"
    if [ -f "$PowerState" ]; then
        if [ -f "$PowerPMStatus" ] && grep -q -E "freeze|suspend|hibernate" "$PowerPMStatus" 2>/dev/null; then
            return 0
        fi
    fi

    log_daemon_msg "Removing stale session-bus files" "$NAME"

    clean_dir "/root/${BaseDbusSessDir}"

    getent passwd | cut -d: -f6 | while read -r userhome; do
        if [ -z "$userhome" ] || [ "$userhome" = "/" ]; then
            continue
        fi
        clean_dir "$userhome/${BaseDbusSessDir}"
    done

    log_end_msg 0
}

case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    restart|force-reload)
        do_stop
        do_start
        ;;
    status)
        if [ -L "$EtcMachineID" ]; then
            log_success_msg "Machine-ID Mode: Volatile RAM (Value: $(cat "$EtcMachineID"))"
            exit 0
        elif [ -s "$EtcMachineID" ]; then
            log_success_msg "Machine-ID Mode: Persistent Static (Value: $(cat "$EtcMachineID"))"
            exit 0
        else
            log_failure_msg "Machine-ID file missing or uninitialized."
            exit 3
        fi
        ;;
    *)
        echo "Usage: $NAME {start|stop|restart|force-reload|status}" >&2
        exit 3
        ;;
esac

the idea of this modified version wasn't so much to "just clean up files in devuan" but rather i intend it as part of the debian's initscripts package so that a debian sysvinit-core install would be more like a default devuan install as in having a volatile machine id

worth mentioning i'm still testing the initscript and have not really made full on testing with the different hibernation methods

tho i'm not sure it is polished enough yet to try to submit it to the debian initscripts package

#8 Re: Documentation » Trying to create a shared directory using only manpages as helpsystem. » 2026-07-14 04:24:02

something i just thought, making documentation packages specific to non-systemd system administration, something like sysvinit-admin-handbook, openrc-admin-handbook, etc... those would be packages akin to the debian-handbook but as manpages catered specifically to the keypoints about each specific init system that are not touched upon by the individual manpages of each init process and the surrounding default tooling, of course those manpages would not make the assumption that the user is experienced with the specific init system so that seemingly "dumb" questions like "what is the journald command in devuan to read logs" can be answered by directing the user to the manpage

#9 Re: Off-topic » Debian looking to switch to the non-GNU Rust based uutils » 2026-07-07 18:49:32

BSD utils are released under a permissive license (BSD), there are ports of those to linux and there are distros that use the BSD utils by default (chimaera linux), so on the part of "this component has been rewritten in rust under a permissive license" the point is moot, on the part of "this component rewritten in rust is immature, has plenty of bugs, cannot pass the gnu implementation testsuite and even has/had multiple CVEs" is a more accurate technical criticism of uutils.

#10 Re: Off-topic » [SOLVED] Why hasn't sysvinit been abandoned yet? » 2026-07-05 07:50:58

don't worry, the way we do things here at the dev1 forum is read as little as possible then hit back as rudely as one can with as much ignorance as can be mustered innit

#11 Re: Off-topic » [SOLVED] Why hasn't sysvinit been abandoned yet? » 2026-07-05 06:09:10

well yeh there's an argument of sysvinit doing too little, but that is also what allows/requires to just build the features on top as separate programs... werether that is a good or a bad thing should be the real argument, on one side if you don't like the way one of those components work you can just easily build your own and replace the original, on the other hand it means that the components on top of sysvinit have to be maintained apart from it and a single set of libraries containing re-usable function cannot be easily made for all components of debian's enhaced sysvinit... you can't have your cake and eat it too, everything is balancing the downsides.

#12 Re: Off-topic » [SOLVED] Why hasn't sysvinit been abandoned yet? » 2026-07-04 23:04:36

in spite of being older than linux sysvinit is very small and the code has been refined for the last 40+ years since the release of the original at&t unix systmem v, it does so little and so well that trying to find a vulnerability or a horrible bug is a challenge nowadays

#13 Re: Documentation » Trying to create a shared directory using only manpages as helpsystem. » 2026-06-30 10:56:51

one thing

there's a lack of really good and clear documentation to write man pages, i know there are videos out there, forum posts and articles about writing documents with roff and some even delve on the differences between roff dialects and implementations like groff, nroff, troff, etc... but they all have the same problem, they are written as narrations/articles which isn't the ideal form to ingest information dense topics, i find the best way to ingest and digest any topic with high information density is through the structured sections of wiki pages and ironically man pages as those are also structured by sections...

so, knowing that there are man pages that need to be written for this project it would be nice to have a wiki page and a manpage about writing manpages, and i know there will be some that will say "just write in asciidoc and convert to a manpage" and i'm not invalidating that but a manpage is not a mystical lost language, it is just roff, which is admittedly not great to write by hand but not impossible, so covering how to write a manpage by hand shouldn't really be a "no one will ever do that", that said for the task of writing the wiki page and the manpage that are to have the refference on how to write manpages both by hand and asciidoc it would make sense to write the source in asciidoc so it can be "easily" converted to both formats

for some repos i write manpages directly in roff and they come out okay cuz i cheat copying the manpages of other projects as template/base (usually the sxiv/nsxiv manpage) and editing it, but doing that has limits like when i want to add some usage or even code examples onto the manpage which i've had to format in less than ideal manners...

#14 Re: DIY » SHED init independient/agnostic user services » 2026-06-30 05:30:36

some news, on the development of shed:

- "on demand" services are now a thing shed can support, there simply is the need for a program to run shedc start <service> when it starts and then run shedc stop <service> on exit, for programs that natively support configurable/programmable hooks that's not an issue, for others the need will arise to have wrappers that simply run the commands calling starting/stopping their required service

- "start-stop-daemon" has been integrated into shed as an optional backend for starting, stopping, hupping processes, the integration currently is experimental but should work, by default shed will not use start-stop-daemon but it's own methods, to enable usage of start-stop-daemon a file in the session config dir named use-start-stop-daemon.rc must be present and contain USE_SSD=true, as per regular shed functions the strings "true", "yes", "on", "t", "y" case insensitive as well as '1' are taken as true while everything else as false, empty string included, 'start-stop-daemon' should also be available to run by the user, the check is done with command -v

other than that i'm not sure what else to add before cutting the next release or if trying to keep chewing through the current pending points of the roadmap, been thinking about adding some form of service auto-restarting on crash but i'm not fully convinced as that is not a feature of sysvinit, the architecture of which i'm basing shed off, not that i'm opposed to the idea but i'm not sure if that should be a component of shed or rather a separate utility, even a separate daemon to be more re-usable across the whole range of init implementations.

#16 Re: DIY » SHED init independient/agnostic user services » 2026-06-27 00:20:53

So lately i've been refining shed, from making the daemon have a threaded non
blocking handling of the named pipe used as an IPC socket to improving fallbacks
to determine the XDG_SESSION_ID as well as modularizing functions into hubs to
prepare for possible ports to the multiple BSDs and maybe even to illumos, but
i got no idea of how to continue in terms of improving the portability so i'll
just post on the FreeBSD forums about shed to see if there's some interest in
what it is, what it does and if besides the parts i know need porting there's
something else i missed, after that i'll look into adding optional support for
leveraging the start-stop-daemon program (apt and openrc) if available so that
it won't be a hard dependency, not sure if that would be enough to justify a
new release of shed but i'm very aware i'm using this as an excuse to avoid
trying to create a package for shed in any distro.

#17 Re: Documentation » Trying to create a shared directory using only manpages as helpsystem. » 2026-06-25 18:47:18

rather than a begginers manual i'd push the idea of a "welcome app", which is to be a sort of "hub" app that autostarts and is available to run as is, the hub app would show options to launch things like the helpsystem, manual page search, software installation (name your favourite "software store" type program from synaptic to aptitude or apt-ui), set alternatives, etc...

#18 Re: Documentation » Trying to create a shared directory using only manpages as helpsystem. » 2026-06-25 01:54:12

something that definitely helps for streamlining the usage of manpages is the capability to fuzzy search manpages with in search previews of the manpage, that way you can read some of what information it has before opening it with man proper

and as it turns out i happpen to have a script for that leveraging fzf
Screenshot.png

https://github.com/eylles/mansearch

could probably write a manpage for it, put out a release tag and maybe look to package it for debian if there's any interest

#19 Re: Off-topic » oxidising our Freedom » 2026-06-04 03:52:07

not rushing to witch hunt? where is the fun in that?

#20 Re: Off-topic » oxidising our Freedom » 2026-06-04 03:04:00

there are more coreutils implementations than just gnu and uutils, like the bsd and the solaris ones, and those are not released under the GPL.

if i had to guess why microsoft used uutils as base for their core utils i'd say it is because the solaris and bsd implementations are more closely tied to the rest of their userland or even their kernel while uutils were more readily capable of working in the microsoft environment without much modifcation

as for "...rewriting applications to release them under a different license from the original is unethical and without honor..." may i remind you that both the GNU and the BSD implementations of the core utilities (grep, awk, cat, head, tail, date, ls, stat, cp, mv, rm, mkdir, wc, sleep, pwd, ETC...) were "re-written" from scratch off the original bell labs/at&t unix core utilites to avoid being subject to the UNIX licensing terms, so please write richard stallman an email about how "unethical and honor-less" he, the FSF's GNU team as well as the BSD developers from back in the day were for re-creating software that already existed but in licenses that undermined the original bell labs authors.

#21 Off-topic » port of NetBSD init(8) to debian » 2026-05-28 01:51:21

EDX-0
Replies: 0

so it was recently published on reddit that the NetBSD init was ported to linux, in specific the target was debian, poster says the repo is not public yet as there are things to iron out and the team behind it has not yet decided on an adequate license for the port

https://www.reddit.com/r/linux/comments … linux_and/

#22 Re: Devuan » Why has no one enhanced sysvinit? » 2026-05-27 01:06:00

ought to wonder if since i wrote shed based on the sysvinit architecture it can be considered an augment to sysvinit or just another component that can be used in conjunction to it

#23 Re: Off-topic » word is that flatpak 2.0 WILL depend on systemd » 2026-05-27 00:47:22

personally i think it is a shame as flatpak is/was a great tool to supplement software when some package is not available or has usability downgrades in a distro, as examples i still use flatpak for primehack (a fork-mod of the dolphin gamecube and wii emulator that focuses on modern fps style mouse+keyboard and gamepad controls for metroid prime) which is so niche i doubt it will ever be packaged for debian, zoom since i really don't want the zoom software to be a too integrated part of my system when i've needed to take video conferences, adwsteamgtk which lets me theme steam to look like a gtk program using my custom stylesheet for adw-gtk3

i also use krita and kdenlive from flatpak and was counting on flatpak as a way to keep using krita and kdenlive after they drop support for x11 since the nice cool thing about flatpak is you can install older builds of the flatpak than the most recent release...

some other programs i use flatpak for cuz i've been lazy i can switch to the debian package, like obs studio, retroarch which i've been using from flatpak since the debian package had the online core downloader disabled and the emulator core list was heavily curated now it is just a matter of configuration altho annoying the default is to disable the core downloader and not have the emulator core dir set to a user writeable one but meh is just config, one that will be annoying long term in the future is the gnome-authenticator which in spite of being a seemingly simple program is fully commited to libadwaita so when that drops x11 the program is kill for my environment even from the debian repo and alternatives aren't great as otpclient currently is a gtk3 app on the repos but upstream has transitioned to libadwaita too leaving only cotp which is TUI but also rust, which here is the least of issues really but still makes me want to write my own tui program for that....

tangent aside, perhaps this could be the call to fork flatpak, i mean the current software works so a tentative fork would be really just a maintenance one rather than rushing to add every feature under the sun, question is if other systemd free distros like void linux, artix and chimaera would be interested to collab on forking flatpak and possibly even the flathub just to keep the convenience that currently exists, no idea about alpine as the distro is continually moving towards having greater systemd compatibility even now

#24 Off-topic » word is that flatpak 2.0 WILL depend on systemd » 2026-05-24 08:16:01

EDX-0
Replies: 15

from the mouth of Jorge Castro flathub org member, and the motion has support from reddit users.

if he ain't just bullshitting then anyone whom depends on software only available through flatpaks will have to help maintaining a fork of flatpak that does not depend on systemd and maybe even a repository of builds of flatpaks that do not need systemd, maybe even a fork of the whole of flathub.

https://www.reddit.com/r/linux/comments … n_systemd/

#25 Re: Devuan » Will Wayland on Gnome etc. work on Devuan 6 in the future release? » 2026-05-21 23:52:45

gnome is the one desktop environment where the desired behaviour happens because of a bug, at this point anyone who like the gnome ecosystem but don't want mandatory systemd should look into forking gnome for the long term.

Board footer

Forum Software