<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://dev1galaxy.org/extern.php?action=feed&amp;tid=8133&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / xorg and wall (usr/bin/wall)]]></title>
		<link>http://dev1galaxy.org/viewtopic.php?id=8133</link>
		<description><![CDATA[The most recent posts in xorg and wall (usr/bin/wall).]]></description>
		<lastBuildDate>Fri, 07 Aug 2026 19:22:17 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65129#p65129</link>
			<description><![CDATA[<div class="quotebox"><blockquote><div><p>i guess it should be #!/usr/bin/python3 but since usrmerge it makes no difference whatsoever as /bin is the same as /usr/bin</p></div></blockquote></div><p>Well in Daedalus it does. And since there&#039;s no more /bin in Excalibur anyway looks like everything is /usr/bin now.</p>]]></description>
			<author><![CDATA[dummy@example.com (greenjeans)]]></author>
			<pubDate>Fri, 07 Aug 2026 19:22:17 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65129#p65129</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65105#p65105</link>
			<description><![CDATA[<div class="quotebox"><blockquote><div><p>2. neat script but : #!/bin/python3&#160; ?</p></div></blockquote></div><p>i guess it should be <span class="bbc">#!/usr/bin/python3</span> but since <span class="bbc">usrmerge</span> it makes no difference whatsoever as <span class="bbc">/bin</span> is the same as <span class="bbc">/usr/bin</span></p>]]></description>
			<author><![CDATA[dummy@example.com (EDX-0)]]></author>
			<pubDate>Thu, 06 Aug 2026 18:39:41 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65105#p65105</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65101#p65101</link>
			<description><![CDATA[<p>EDX-0</p><p>1. Totally agree! Make do or make new. <img src="http://dev1galaxy.org/img/smilies/wink.png" width="15" height="15" alt="wink" /></p><p>2. neat script but : <strong>#!/bin/python3</strong>&#160; ?</p>]]></description>
			<author><![CDATA[dummy@example.com (greenjeans)]]></author>
			<pubDate>Thu, 06 Aug 2026 13:30:36 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65101#p65101</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65098#p65098</link>
			<description><![CDATA[<p>at this point it begs the question if it would not be better to just write a program to do what <span class="bbc">wall(1)</span> 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</p><div class="codebox"><pre class="vscroll"><code>#!/bin/python3

# SPDX-License-Identifier: MIT

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

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

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

has_fcntl = False
fcntl_warning = &quot;&quot;

try:
    import fcntl

    has_fcntl = True
except ImportError:
    fcntl_warning = &quot;{}, {}&quot;.format(
        &quot;can&#039;t skip blocking io in current platform&quot;,
        &quot;program could hang indefinitely&quot;,
    )

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

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

    if has_fcntl:
        try:
            with open(export_file, &quot;w&quot;) 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(&quot;Couldn&#039;t write to %s.&quot;, export_file)
        except BlockingIOError:
            logging.warning(
                &quot;Couldn&#039;t write to %s, not accepting data&quot;, export_file
            )
    else:
        try:
            with open(export_file, &quot;w&quot;) as file:
                file.write(data)
        except PermissionError:
            logging.warning(&quot;Couldn&#039;t write to %s.&quot;, export_file)

def send_to_term(message, to_send=True):
    &quot;&quot;&quot;Send colors to all open terminals.&quot;&quot;&quot;
    if OS == &quot;Darwin&quot;:
        devices = glob.glob(&quot;/dev/ttys00[0-9]*&quot;)
    elif OS == &quot;OpenBSD&quot;:
        devices = subprocess.check_output(
            &quot;ps -o tty | sed -e 1d -e s#^#/dev/# | sort | uniq&quot;,
            shell=True,
            universal_newlines=True,
        ).split()
    else:
        devices = []
        patterns = [&quot;/dev/pts/[0-9]*&quot;, &quot;/dev/tty[1-6]&quot;]
        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 == &quot;/dev/pts/0&quot;:
                if (
                    os.environ.get(&quot;XDG_CURRENT_DESKTOP&quot;) == &quot;KDE&quot;
                    or os.environ.get(&quot;DESKTOP_SESSION&quot;) == &quot;plasma&quot;
                ):
                    continue
            if dev == &quot;/dev/tty7&quot;:
                continue
            save_file(message, dev)

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

if __name__ == &quot;__main__&quot;:
    main()</code></pre></div><p>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 &quot;w&quot; mode, the glob pattern intentionally avoids <span class="bbc">/dev/tty7</span> and just in case when writing to all terminal devices it explicitly avoids <span class="bbc">/dev/tty7</span> for good measure</p><p>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</p><p>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&#039;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</p><p>again this is just an idea.</p><p>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</p>]]></description>
			<author><![CDATA[dummy@example.com (EDX-0)]]></author>
			<pubDate>Thu, 06 Aug 2026 08:55:12 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65098#p65098</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65097#p65097</link>
			<description><![CDATA[<p>what I understand until now : <br />wall (root) writes to all open tty1 - tty7 <br />Does not write to ptys not owned by root</p><div class="codebox"><pre><code>ps aux | grep tty7
root      1369  2.1  0.2 26629380 192864 tty7  Ssl+ 08:57   0:04 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch</code></pre></div><p>this is owned by root. <br />The user (uid&gt;=1000) logs out of his x session. <br />lightdm is restarted owned by user lightdm (111:118) from init process<br />User (uid&gt;=1000) logs in again through the login window.<br />Then pam? or some authorization process kills the lightdm process, because the writing by wall has confused the rights. <br />The wall messages of the past&#160; show up in the tty7 and no x-session appears.<br />lightdm must be restarted to get a fresh lightdm login window. <br />This time the login of uid=1000 is successful, but after the logout above procedure repeats. <br />The wall messages are still there, augmented by all test messages in&#160; the mean time.<br />I can confirm, that xterm opened by uid 1000 receives the wall message from root, but mate terminal not</p><p>It looks like i must trace a failed login session to find its cause.</p>]]></description>
			<author><![CDATA[dummy@example.com (bai4Iej2need)]]></author>
			<pubDate>Thu, 06 Aug 2026 07:47:31 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65097#p65097</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65096#p65096</link>
			<description><![CDATA[<p>Please re-read the posts further above. E.g. <span class="bbc">wall</span> &quot;works with&quot; <span class="bbc">xfce-terminal</span> quite well.</p><p>It really isn&#039;t down to a choice of which (virtual) terminal is used but most significantly that the <span class="bbc">tty/pty</span> must be <span class="bbu">owned by <span class="bbc">root</span></span>. I have not used <span class="bbc">wall</span> regularly enugh to be certain,&#160; but that particular restriction might be a newish thing (at the timescale of <span class="bbc">wall</span>).</p><p>The other restriction is that the <span class="bbu">user of <span class="bbc">wall</span></span> must have <span class="bbu">write access to the device</span> being written to. As mentioned above, <span class="bbc">wall</span> will consider all <span class="bbc">/dev/ttyN</span> and <span class="bbc">/dev/pts/N</span>, and then write to those with applicable write access and owner being <span class="bbc">root</span>.</p><p>The interested reader may experiment with, say</p><div class="codebox"><pre><code>$ echo foobar &gt; /dev/pts/3</code></pre></div><p> to see which of their virtual terminal that ends up in. Or to be more targeted, they may first run</p><div class="codebox"><pre><code>$ tty</code></pre></div><p> in a shell to determin which <span class="bbc">pty</span> device node to use for that shell, and then go crazy writing to it.</p>]]></description>
			<author><![CDATA[dummy@example.com (ralph.ronnquist)]]></author>
			<pubDate>Wed, 05 Aug 2026 23:26:03 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65096#p65096</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65076#p65076</link>
			<description><![CDATA[<p>Hello:</p><p>Just to confirm:</p><div class="quotebox"><cite>fsmithred wrote:</cite><blockquote><div><p>... tried it with xterm and it works.</p></div></blockquote></div><p>Does not work with [xfce-terminal], [lxterminal] or [tilix].</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Wed, 05 Aug 2026 12:46:50 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65076#p65076</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65075#p65075</link>
			<description><![CDATA[<p>Following on from EDX-0, I tested <span class="bbc">wall</span> in a <span class="bbc">lightdm + xfwm4</span> setup, as a <span class="bbc">non-root</span> user as well as <span class="bbc">root</span>.</p><p>From what I can gather <span class="bbc">wall</span> will only write the message to root owned <span class="bbc">ttyN</span> and <span class="bbc">pty/N</span>. This is the same for both <span class="bbc">root</span> and <span class="bbc">non-root</span>, though of course also that it needs write permissing to the device; e.g. in my setup, <span class="bbc">non-root</span> users in the <span class="bbc">tty</span> group have such write access.</p><p>X11 terminal emulators are the ones setting up the <span class="bbc">pty</span>.</p><p>I suppose it remains unclear whether <span class="bbc">wall</span> has got revised decision logic, and/or different terminal emulators offer different <span class="bbc">pty</span> handling.</p>]]></description>
			<author><![CDATA[dummy@example.com (ralph.ronnquist)]]></author>
			<pubDate>Wed, 05 Aug 2026 12:34:40 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65075#p65075</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65074#p65074</link>
			<description><![CDATA[<p>bai4Iej2need,</p><p>I think we&#039;re using the wrong terminal. I just tried it with xterm and it works. Does not matter if I use startx for openbox or openbox-session or if I use lightdm to start a full xfce destkop. Wall is happy to talk to xterm but does not work with xfce-terminal or qterminal. I didn&#039;t try any others.</p>]]></description>
			<author><![CDATA[dummy@example.com (fsmithred)]]></author>
			<pubDate>Wed, 05 Aug 2026 12:25:06 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65074#p65074</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65073#p65073</link>
			<description><![CDATA[<p>tested the same on an excalibur virtual machine (under oracle virtualization) consoles are not accessible : <br />mate terminals do not show test message</p>]]></description>
			<author><![CDATA[dummy@example.com (bai4Iej2need)]]></author>
			<pubDate>Wed, 05 Aug 2026 10:05:22 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65073#p65073</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65072#p65072</link>
			<description><![CDATA[<p>this is a standard daedalus install with mate as desktop. </p><div class="codebox"><pre><code>aptitude show lightdm
Paket: lightdm                                  
Version: 1.26.0-8+devuan1

aptitude show mate-desktop
Paket: mate-desktop                             
Version: 1.26.0-2

aptitude show mate-terminal
Paket: mate-terminal                            
Version: 1.26.0-2</code></pre></div><p>Repeated test : sent wall-message from root, arrived at 2 consoles (Alt-F2, owned by me), did not arrive at mate terminal.</p>]]></description>
			<author><![CDATA[dummy@example.com (bai4Iej2need)]]></author>
			<pubDate>Wed, 05 Aug 2026 09:00:13 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65072#p65072</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65071#p65071</link>
			<description><![CDATA[<p>worry not i have no problem sharing my ignorance with the world, that was the first thing i was taught about engineering at university</p><p>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</p><p><span class="bbc">wall</span> from the <span class="bbc">util-linux</span> package should have the function of writing a message onto the terminals of all currently logged users, how does wall &quot;get&quot; the list of terminals associated with current users, on my system when i run <span class="bbc">who</span> 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 <span class="bbc">w</span> 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 <span class="bbc">wall &quot;test&quot;</span> in my main machine on devuan 6 did produce the expected traditional behaviour of broadcasting a message to every running terminal i have</p><p>so it isn&#039;t much the program that isn&#039;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</p><p>all i can ask is what is bai4Iej2need&#039;s setup, a Desktop Environment, a window manager? which lightdm greeter?</p><p>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,&#160; yet when i run wall from any regular running terminal it works</p>]]></description>
			<author><![CDATA[dummy@example.com (EDX-0)]]></author>
			<pubDate>Wed, 05 Aug 2026 06:57:15 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65071#p65071</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65070#p65070</link>
			<description><![CDATA[<p>Well, <span class="bbc">wall</span> is a traditional program, see <span class="bbc">man wall</span> and afaiui the issue is that it behaves differently now from how it has behaved; perhaps most probably because <span class="bbc">utmp</span> database (another traditional thing, see <span class="bbc">man utmp</span>) has change format, and in fact might also be one of those things that the kids have deprecated.</p><p>Certainly has little or nothing to do with wall papers.</p><p>How about waiting for someone that knows something about <span class="bbc">wall</span>? I realise it can be really tempting to flaunt your ignorance just to have a post made, but it really isn&#039;t helpful.</p>]]></description>
			<author><![CDATA[dummy@example.com (ralph.ronnquist)]]></author>
			<pubDate>Wed, 05 Aug 2026 04:56:06 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65070#p65070</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65067#p65067</link>
			<description><![CDATA[<p>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.</p>]]></description>
			<author><![CDATA[dummy@example.com (EDX-0)]]></author>
			<pubDate>Wed, 05 Aug 2026 00:40:14 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65067#p65067</guid>
		</item>
		<item>
			<title><![CDATA[Re: xorg and wall (usr/bin/wall)]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=65060#p65060</link>
			<description><![CDATA[<p>Yes I realized your intention. But it&#039;s bad enough to try to run focussed discourse with &quot;people that know&quot; (also usually intended to be helpful), so when you don&#039;t know, just stay out of it... &quot;listen and learn&quot; so to speak.</p><p>Perhaps this thread can return to the <span class="bbc">wall</span> program and how it behaves now versus in ancient times. (see eg post #3 above)</p>]]></description>
			<author><![CDATA[dummy@example.com (ralph.ronnquist)]]></author>
			<pubDate>Tue, 04 Aug 2026 04:04:04 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=65060#p65060</guid>
		</item>
	</channel>
</rss>
