Back

Multiple security issues in GNU Screen

416 points19 daysopenwall.com
RMPR19 days ago

Nice write-up.

> Screen offers a multi-user mode which allows to attach to Screen sessions owned by other users in the system (given the proper credentials). These multi-user features are only available when Screen is installed with the setuid-root bit set. This configuration of Screen results in highly increased attack surface, because of the complex Screen code that runs with root privileges in this case

I wasn't aware of such a feature but I guess it's what makes stuff like tmate possible. Speaking of which, I wonder if tmux is affected by the same kind of vulnerability.

dooglius19 days ago

No, tmux uses unix domain sockets. I have no idea why screen chose to take the setuid approach instead here; it seems totally unnecessary to have root privileges.

EDIT: Further down, TFA gives a plausible explanation: the current screen devs are not fully familiar with the code base. If so, the setuid-root approach was probably the easiest way to make the feature work in lieu of such familiarity.

JdeBP19 days ago

screen has a lot of architectural baggage that can be traced back to its initial 1987 comp.sources.unix/mod.sources versions in some cases. Being set-UID to the superuser is one of them. See the doco for screen as it was posted in volume 10:

https://sources.vsta.org/comp.sources.unix/volume10/screen/

Henchman2118 days ago

I guessed something similar. Screen is from an era where setuid was pretty common!

ngangaga19 days ago

[flagged]

+1
JdeBP18 days ago
+4
entropie18 days ago
+2
guappa18 days ago
90s_dev19 days ago

Nostalgia and novelty are powerful narcotics.

1vuio0pswjnm718 days ago

Engineers are rational people. Software developers calling themselves "engineers" are not.

esseph18 days ago

IDK Man the hammer I use today looks a hell of a lot like the hammer used by engineers throughout human history.

+2
mardifoufs18 days ago
wkat424218 days ago

True, it's not really as if it's a massive codebase

+1
UI_at_80x2418 days ago
chasil18 days ago

In the EPEL versions of screen, I am seeing the setgid bit set only. I am guessing that later versions setuid to root?

  $ ll /usr/bin/screen
  -rwxr-sr-x. 1 root screen 495816 Feb  3  2022 /usr/bin/screen

  $ rpm -q screen
  screen-4.8.0-6.el9.x86_64
Edit: Yes, Screen 5.0.0.

CVE-2025-46802 can impact earlier releases, but all the other vulnerabilities are for the latest.

gertrunde18 days ago

The original writeup by the OpenSUSE security team laid this out better:

https://security.opensuse.org/2025/05/12/screen-security-iss...

Different distros built it in different ways, affecting level of vulnerability to the different issues.

account429 days ago

This "explanation" only makes it sound worse - why would you even consider setuid if you do not completely understand ever detail of the code base.

fzzzy18 days ago

screen has used setuid root for multiuser for at least 20 years. Used to use it in multiuser for remote pair programming.

icedchai18 days ago

I remember installing screen on a SunOS box back in the early 90's. It's been around a longggg time.

fullstop18 days ago

I guess I'm glad that I switched to tmux ages ago.

thanatos51918 days ago

It's a great feature! I have used it in training sessions by giving each student their own login on my laptop, with the ssh shell restricted to 'screen -x <specific user's window>' - the only window that user could use based on screen's ACLs. Then during exercises I (as the owner of the screen) could switch to each student's screen on the projector so the class could see what they had done.

Not surprised to hear it's full of security holes. :)

cess1118 days ago

You can get close to the same experience with tmux.

https://superuser.com/questions/188501/is-there-a-way-to-hav...

Use groups instead of chmod 777.

trollied19 days ago

Yup, screen -x

qwertox19 days ago

The problem isn't with the use of `screen -x ...` itself, but rather if `ls -l "$(which screen)"` returns something like `-rwsr-xr-x 1 root root ... /usr/bin/screen`, where the `s` in the fourth position indicates the setuid bit is set. That means the screen binary runs with root privileges.

trollied18 days ago

I am well aware of setuid. I was informing the parent comment of which arg to use for the actual functionality.

+2
johnmaguire18 days ago
teddyh19 days ago

Note: In Debian, GNU screen is not installed with setuid-root privileges.

perlgeek18 days ago

And the package in Debian Stable (aka bookworm) is too old to be affected by the vulnerabilities in 5.0.0.

I used to hate that Debian always was behind on software versions, but now I use different package sources for the few applications where I really don't want to rely on old software (like browsers), and otherwise doing great with the old stuff :-)

bandrami18 days ago

Debian stable users missed heartbleed entirely. I think the glacial pace is underrated.

rs_rs_rs_rs_rs18 days ago

> Debian stable users missed heartbleed entirely

Missed it? Not at all, Debian pioneered that style of bugs years before!

https://github.com/g0tmi1k/debian-ssh

bandrami17 days ago

And the default SELinux config was broken for like 15 years IIRC. It's always pick your poison.

krferriter18 days ago

Glacial page bedrock of an OS with optional sandboxed more-up-to-date userspace packages and runtimes that can be layered on top of the host system was the dream of flatpak/snap/appimage, right?

+1
bandrami18 days ago
mjevans18 days ago

Related... https://bugzilla.mozilla.org/show_bug.cgi?id=1966096

If you're running Firefox on Debian please make sure you manually update it since the package repo's been down for a while. I filed a 'support' ticket first ( https://support.mozilla.org/en-US/questions/1510388 ) since it seemed to be the proper place, but no one seems to look at those.

sillystuff18 days ago

The repo appears to be working for installing/updating packages. Mozilla should allow file listing which should fix the 404s, and make this repo behave as expected when manually browsed (Apparently hosted on a Google webserver; maybe Google forbids this?).

  apt-get changelog firefox
  Get:1 store: firefox 138.0.3~build1 Changelog
  Fetched 129 B in 0s (0 B/s)
  firefox (138.0.3~build1) UNRELEASED; urgency=medium
 
    * N/A
 
   -- Mozilla <release@mozilla.com>  Mon, 12 May 2025 12:40:33 -0000

  date
  Tue May 13 08:56:09 AM PDT 2025


Or, to really prove it to yourself, you can re-download the package:

  apt-get install --download-only --reinstall firefox
mjevans18 days ago

I will have to look into that more tomorrow. My only Debian desktop is a laptop at family's house and currently asleep. It mentioned an error with the repository but my first troubleshooting step was to try to manually verify I could _get_ to the repo in a browser.

foresto18 days ago

This is about Mozilla's builds of Firefox for Debian, not Debian's builds, right? So regular Debian users who run the default Firefox (firefox-esr) would be unaffected.

+1
mjevans18 days ago
jmclnx18 days ago

Slackware 15:

lrwxrwxrwx 1 root root 12 Feb 11 2022 /usr/bin/screen -> screen-4.9.0

-rwxr-xr-x 1 root root 455016 Feb 1 2022 /usr/bin/screen-4.9.0

no suid

jmclnx18 days ago

FWIW, Slackware 15 was updated to screen to screen-4.9.1.

This update fixes security issues:

* attacher.c - prevent temporary 0666 mode on PTYs.

* avoid file existence test information leaks.

* socket.c - don't send signals with root privileges.

lazide18 days ago

Damn, Slackware. That’s a name I haven’t heard in a very long time.

jesprenj19 days ago

Likewise in Gentoo. But in Gentoo it has SETGID for utmp group. Though I'm not sure what the implications are.

JdeBP18 days ago

If one is in group utmp, one can mess with the login accounting database: the table of currently active logins, the log of log-ons/log-offs, and the table of per-user last logins.

https://jdebp.uk/FGA/unix-login-database.html

The login accounting system that Linux-based operating systems have inherited from Unix really has never reconciled its initial real-terminal-login-only superuser-managed design with the fact that non-superuser programs that allocate pseudo-terminals (e.g. any local terminal emulator, NeoVIM, tmux, screen) want to (over)write entries for those pseudo-terminals in the login accounting database to make the output of the "who" command (and its ilk) more complete.

The best approach I've seen was to re-think the idea; have the pseudo-terminal-using programs run entirely unprivileged and use a client-server model where only the server actually has access to the database files.

Laurent Bercot did this. It fixes many holes, including that the log of log-ons/log-offs is made truly append-only (modulo superuser access to the underlying files). But it has the same architectural problem that any client in the group can overwrite any currently active login record if it knows the record ID, which by design (and the Single Unix Specification) there's an API for enumerating.

* https://skarnet.org/software/utmps/

Both the BSDs and M. Bercot have improved the situation with pututxline(), but it's still not out of the woods yet.

anthk18 days ago

I set TMPDIR to $HOME/tmp because of that.

+1
blueflow18 days ago
ktm5j18 days ago

Looks like it is in Fedora.

mlichvar18 days ago

On Fedora it is setgid screen, not root.

znpy18 days ago

I wonder if there is some selinux policy to reduce the attack surface

JCattheATM18 days ago

There almost certainly is, pretty sure Fedora has an SELinux policy for all software in base.

tmtvl18 days ago

Likewise in Arch.

jedimastert18 days ago
zoobab18 days ago

I emailed the author of GNU Screen about the lack of proper documentation about the logging to a file feature:

http://www.zoobab.com/screenrc

GNU need a better issue tracking system :-)

CelestialMystic18 days ago

There was a Q&A with the author of Tmux. He was complaining about the lack of documentation ~16 years ago.

https://undeadly.org/cgi?action=article&sid=20090712190402

anthk18 days ago

Tmux has been in OBSD base side several releases and documented since the first one.

CelestialMystic18 days ago

I know. I suggest you read the Q&A I posted.

amszmidt18 days ago

It is documented in detail in the GNU screen manual, https://www.gnu.org/software/screen/manual/screen.html#Log

Avamander18 days ago

> GNU need a better issue tracking system :-)

This is a problem with quite a few older projects, that issues get buried in the endless depths of unindexed mailing lists, if at all. People bemoan Discord (rightfully) for making info like this unaccessible, but IRC (that some projects still use) is basically twice as bad.

I really wish these projects would migrate to Gitea/Forgejo/Codeberg, GitLab or GitHub or anything like that, just to bring these things together and provide vital discoverability.

sundarurfriend18 days ago

Zellij is a really nice, modern alternative to screen and tmux, and they've done a great job at having good defaults as well as making the UI easily discoverable. I'd highly recommend it to anyone else who felt dubious about the benefit-to-effort ratio of terminal multiplexers.

https://zellij.dev https://github.com/zellij-org/zellij

collinvandyck7618 days ago

I gave it a shot a couple years ago -- pretty slick. But the latency was noticeable compared to tmux, which I remain using today. I admit that I'm kind of sensitive to it, as at the time I was already on a latent connection.

kstrauser18 days ago

I personally haven't noticed that, but we all have different sensitivity levels to such things. Have you tried it more recently? A couple years ago is ancient in its lifespan. I'd be curious to see if it still feels sluggish to you.

(Not a dev, just another end user.)

collinvandyck7618 days ago

No, haven't tried recently, but will make a note to do so. Agree that a couple of years is an eternity :)

kstrauser18 days ago

Right on. I'd love to hear back about that.

It could also be in my case that I use it so little that some latency is tolerable. I don't develop interactively in zellij or tmux. I mainly keep some logs tailing, and DB consoles open, etc, and I don't check them super often.

afmrak18 days ago

Last time I looked at Zellij it looked like a great new project in the multiplexer ecosystem, but didn't support a purely keyboard-driven copy/paste mechanism. I use that extensively and couldn't do without. So tmux it is until that gets added.

gitaarik17 days ago

Yeah, I also use that all the time. I use the terminal because I want to use my keyboard, not the mouse. And copy / pasting is something I do very very often. So I don't understand why people make a terminal multiplexer and don't add this feature.

In screen & tmux you can also use vim shortcuts to navigate the scrollback buffer. That is so convenient and makes me work so fast. I can search for a snippet close to where I want to copy some text, and then navigate more precisely with the vim shortcuts.

So that's the first thing I look for in a terminal multiplexer, because if you're gonna expect that I'm gonna put my right hand off the keyboard and use the MOUSE to awkwardly select some text in a TERMINAL, then you expected wrong.

fergie18 days ago

Thats nice and all, but I really, really like screen and its commands are burned into my muscle memory. I've been using it for more than 20 years.

gitaarik17 days ago

I had the same when I was trying out tmux first time. But eventually I configured tmux to very closely match screen's shortcuts. Just a few things are different, but I got back some extra features and plugins from tmux with it.

If you're interested I can share my config.

mmsc19 days ago

It's surprising that upstream was involved in this. Around 5 years ago, I came to the (sad) conclusion that GNU screen development had completely halted. Is that still not the case?

Does screen have the functionality to add a new window to an existing screen without attaching to the screen yet?

jzb18 days ago

Upstream requested that the SUSE team take a look at it. It seems that development is understaffed and the upstream may not have the expertise to maintain it properly. Which, if true, is sad -- I know that tmux and others exist, but a lot of people have used Screen for many many years. It sucks when a tool bitrots.

marcosdumay18 days ago

Looks like a tech-debt ridden large piece of software that new developers just can't understand.

If that's the case, it's not really about it being "understaffed". Instead, it's doomed to rot until it's replaced of rewritten. There's no scenario where more maintainers will help, except for marginally delaying it.

The good news is that there are almost perfect replacements out there, and most of them are leaner.

narag18 days ago

Instead, it's doomed to rot until it's replaced of rewritten.

I've seen how that mindset has ruined several companies. Not saying that you're wrong about that particular program that is, after all, free software replaced by other free software parts. But for business, it's lethal.

Joel Spolsky had a nice piece about it:

https://www.joelonsoftware.com/2000/04/06/things-you-should-...

That and Fire and Motion seem to be forgotten wisdom already:

https://www.joelonsoftware.com/2002/01/06/fire-and-motion/

I feel old :-)

megous18 days ago

It's not large:

https://git.savannah.gnu.org/cgit/screen.git/tree/src

A few 2kLOC files and the rest is rather small.

doctoboggan18 days ago

What are the replacement tools I should be looking at as a casual user of screen?

+1
kstrauser18 days ago
+1
nosrepa18 days ago
Trasmatta19 days ago

> Due to difficulties in the communication with upstream we do not currently have detailed information about bugfixes and releases published on their end.

It sounds like they requested the security review, but have been difficult to keep in touch with? I'm not sure what the whole story is there.

mmsc18 days ago

Seems like a prime target for Jia Tan.

tecleandor19 days ago

Yep, from the timeline it looks like lack of communication (and maybe also capabilities/resources/time/will, not sure) [0]

  0: https://security.opensuse.org/2025/05/12/screen-security-issues.html#8-timeline
croemer19 days ago

Involved only insofar as shipping it as setuid-root counts. Distros that configure it like this are vulnerable, others aren't. Very thin involvement I'd say. Distros patch if upstream is too slow.

mmsc19 days ago

TFA says upstream asked for the review.

croemer18 days ago

Right, I got the direction wrong.

Eduard18 days ago

"TFA"?

shawn_w18 days ago

The Fine Article

criddell18 days ago

It’s not necessarily sad for GNU tool development to stop (other than bug fixes, of course). I would take that as a sign that they are basically complete.

kstrauser18 days ago

Not quite in this case. Tmux was started by someone who wanted to update screen with new features but wasn’t able to bend the code that far. I say this not out of spite or meanness, as I used screen for many happy years, but I’d say it’s less complete and more abandoned. It still has maintainers but it seems to me that they’re more “keep the lights on” than actively developing it.

Kwpolska18 days ago

It's not sad if a good Stallman-free alternative exists. Like tmux.

lxgr18 days ago

Whether constant development is necessary or not largely depends on the surface area of your tool, both in terms of formal APIs it uses and external data formats and services.

dundarious18 days ago

screen didn't even have vertical splits until maybe 5 or 10 years ago. After tmux was already a solidly reliable replacement with vertical splits for years.

wkat424218 days ago

True, this is why I switched to tmux.

immibis18 days ago

Open source does have a problem with inertia whenever one piece of software ends and another piece is created to replace it, but there's no immediate incentive to switch, because it is a switch, not an update.

Though conversely, when someone buys the trademark for an existing piece of software, and replaces it with something entirely different, like what happened with Audacity, that's also bad. So there's no good solution.

unixplumber18 days ago

> Though conversely, when someone buys the trademark for an existing piece of software, and replaces it with something entirely different, like what happened with Audacity, that's also bad. So there's no good solution.

I've followed the Audacity situation over the last few years. Before the Muse Group bought the rights to the trademarks and took over development, Audacity development had pretty much stagnated.

The new developers did not replace it with something entirely different. What they did was fix longstanding bugs and add new features/enhancements (and changing the way some things work, for better or worse). Sure, they introduced new bugs here and there with the new features/enhancements, but last I checked they fixed those. And yes, they could have done a better job at marking new versions as "beta" rather than pushing them out as stable releases (old hands know to avoid a new version until a couple minor versions later). That's really my biggest gripe with their development/release process.

immibis18 days ago

They are completely redesigning the UI to such an extent that it may as well be a completely new project.

Also, how come open source names can even be bought? They should be open, of course, so I think it'd be fair enough if they wanted to call theirs "MuseScore Audacity" or something like that.

3036e418 days ago

The good solution is rock-solid, backwards compatible APIs on all levels. That way the work to maintain software would be much lower, making it possible to focus on doing some rare bug-fixing only. In open source in particular this should be a no-brainier, instead of all projects ruining things for each other by ignoring backwards compatibility.

immibis18 days ago

The rock-solid backwards-compatible API would include, for example, being invoked with the command "screen -x", and being installed with "apt install screen" - at which point it's the same screen project under different management, not a new project.

3036e418 days ago

I was referring to the APIs required by screen itself to run. If screen is anything like any software I know anything about a fair amount of limited developer time has to be wasted on keeping up with random third-party stuff changing/breaking. Even if that is not the case, if we get more stable software in general that would mean maintainers of free software could take on more projects each, meaning there would be a higher probability that someone could be around to fix bugs in screen.

Wowfunhappy18 days ago

Isn't this what distros are for? So e.g. Debian could decide to replace screen with tmux, possibly with some sort of compatibility package that takes all the same command line arguments as screen but uses tmux under the hood. (I've used screen very little and have never used tmux so I'm not sure if that would make sense in this context).

layer818 days ago

You generally can’t transparently replace a tool by a different one like that, siblings are giving examples of where there would be incompatibilities. There would also be much upheaval among users if a distribution would try to underhandedly perform such a replacement. If anything, a package “tmux-as-screen” could be provided for those who want that.

+1
Wowfunhappy18 days ago
kevin_thibedeau18 days ago

Tmux doesn't support serial ports.

+2
PhilipRoman18 days ago
+3
im3w1l18 days ago
immibis18 days ago

Just use minicom

nottorp18 days ago

I'm sure a rewrite of screen in Rust will be 105% secure. And won't support serial ports either.

rzr18 days ago

A smooth transition from GNU screen to tmux, will be appreciated for potentially 60K users.

https://qa.debian.org/popcon.php?package=screen

I note that tmux has only 40K users (of debian popcon users)

https://qa.debian.org/popcon.php?package=tmux

I am considering to try the link shared previously:

https://github.com/grml/grml-etc-core/blob/master/etc/tmux.c...

Now I miss a way to translate CLI options and batch files

marcosdumay18 days ago

You can reconfigure the key-bindings, that I guess would be the largest annoyance for a new user. But there are many fundamental differences between them that you just can't hide.

worldsavior19 days ago
seethishat18 days ago

tmux is in OpenBSD base since 4.6 IIRC and is/has been audited. It's a good alternative for those who want something a bit more secure.

j4518 days ago

Seeing screen popup reminded me of that one time I switched to tmux and forgot to use screen.

dminvs18 days ago

> The observed behaviour has been present in Screen versions since at least the year 2005.

and it's been an anti-pattern and covered by tools like rkhunter for around least that long, as well

but pretty sure screen was setuid root in the 90s too

lemonwaterlime18 days ago

1. How many developers run all the most popular open source tools?

2. How much money is in the industries that use those tools?

charcircuit18 days ago

Setuid binaries existing in 2025 is not acceptable. There needs to a movement to remove all of them as time and time again it's shown that it leads to severe vulnerabilities.

db48x18 days ago

You can run screen as setgid instead. Fedora sets up a system group called screen and installs screen as setgid so that the multiuser functionality works but cannot be accidentally used to do things as root.

Scene_Cast218 days ago

I use byobu (for the keybinds) on top of tmux. But Zellij (modern Rust-based alternative to tmux) has been looking quite interesting for a while.

mistrial918 days ago

so it appears that packaged Debian `screen` is not installed with root execution, therefore this entire situation is not a problem on Debian?

TacticalCoder18 days ago

[dead]

kazinator18 days ago

Funny you should mention screen and setuid. In one installation, I had to give screen chmod u+s perms to solve some weird issue, thinking what a gross thing to do.

Turns out, it has features dependent on setuid, and some systems ship it that way? Yikes!

(But, after I gave u+s to screen, it reads root's ~/.screenrc instead of mine (which I accepted as part of the workaround). Maybe that particular build of screen I'm using doesn't react properly to setuid; maybe it has to be built a certain way also to enable that support.)

sweeter18 days ago

Nope, that's exactly how setuid works. You're setting the [s]pecial bit on a binary to tell the system to always run it as the provided [u]ser

kazinator18 days ago

Nope, setuid programs have an effective UID as the owner (often root), but also have the real user ID of the original user. Programs intended for setuid operation pay attention to this; it is very important. They can use to to perform certain operations under privilege and then permanently drop to the original user.

Pxtl18 days ago

Can screen just get completely tossed and converted into a compatibility-layer wrapper around tmux?

warpeggio19 days ago

So ... my tmux lifestyle is objectively superior in this one respect. Excellent.

exploderate18 days ago

Yes, that's why all the cool kids switched to tmux 17 years ago. The only argument the screen camp had was "no serial port support in tmux". To which we answered something about a smaller more modern code base...

pengaru18 days ago

> The only argument the screen camp had was "no serial port support in tmux".

No, the screen camp has the valid argument that licenses matter and tmux is not GPL software.

int_19h18 days ago

From the end user perspective, it makes zero sense to avoid software just because it has an open source license that is more liberal than GPL.

+1
pengaru18 days ago
unixplumber17 days ago

tmux is MIT-licensed, right? The MIT license is very similar to the (3-clause) BSD license which makes it upward-compatible with the GPL (you can incorporate MIT- or BSD-licensed code with GPL-licensed code).

Edit: and to your point of a distributor withholding the source: yeah, so? If there ever came a point where the current maintainer closed its source (unlikely), somebody with a copy of it can step in with a fork. Or the project can die a deserved death for closing its source. At this point the benefits of open source are pretty much obvious to anyone with a brain, and closing the source of an open-source project is practically suicide.

remram18 days ago

I switched to tmux and I switched back due to the weird server/session/window/pane model that makes no sense and prevents me from showing different windows or layouts on different clients. 4 levels of objects is ridiculous and when you end up with less capabilities than screen, what are we doing?

I would love to switch to a modern, maintained terminal multiplexer, but it would need to, well, be good at multiplexing.

gitaarik17 days ago

Server? I never encouter that while using tmux.

You can just use one session if you like, and if you do, it's the default, so you don't have to do anything special.

Tabs and Windows work similar as in screen as far as I can see.

remram17 days ago

No, you can't. Using one session, every client have to show exactly the same panels with the same layout in the same terminal size.

magarnicle18 days ago

I found it incredibly slow, especially running Neovim. Zellij was missing super basic functionality, so I went back to screen.

gitaarik17 days ago

A long time ago tmux was a little bit slower. But if you say that it's super slow for you now, then probably it's something to do with your config / setup.

kstrauser18 days ago

I haven’t done serial port stuff in many years, so I ask this in ignorance and I give you permission to laugh at my naïveté. Can’t you just run tip or something in a tmux or zellij window and have basically the same thing?

ho_schi18 days ago

I love GNU Screen, daily usage.

A good sign, that they called for help. Hope they can attract some more new developers, carefully maintaining it.

lowbloodsugar18 days ago

In 1990 we got told to stop using screen because other people could get into your sessions. Never used it again after that.

indigodaddy18 days ago

Are there any official RedHat CVE pages for any of these screen vulns yet? Haven't found anything so far

fistikcisahap18 days ago

RedHat removed screen from the distro repos starting from RHEL8 and recommended tmux as the replacement.

https://access.redhat.com/solutions/4136481

indigodaddy18 days ago

It's still in EPEL I think but I guess that releases RH from having to address it?

fistikcisahap18 days ago

That's right. EPEL is not an officially supported repo.

udev409618 days ago

Everyone I know has switched to tmux a long time ago. Screen is obsolete and shouldn't be used

0xDEAFBEAD18 days ago

What advantages does screen offer compared with multiple tabs in your terminal emulator?

magarnicle18 days ago

The terminal sessions will persist even if your emulator crashes. Or, if you ssh into a machine you can use multiple terminal sessions from a single connection, and you can disconnect and reconnect to those sessions later.

There's a few other features like a common clipboard of sorts, monitoring a session for silence/activity, but those could all be provided by your emulator.

gitaarik17 days ago

Keyboard shortcuts for searching and copying text from the scrollback buffer.

Saving your sessions and tabs and restoring them after a reboot.

A consistent experience regardless of which terminal emulator you use.

krferriter18 days ago

I use it for running some multiple-hour jobs on a remote VM.

fergie18 days ago

One big one is the multi-user mode

nmz18 days ago

If you're worried about security, A less than 10k lines of SOC is your aim. mtm, abduco, dvtm achieve this. screen? Impossible for it to ever be secure. You'll be playing an endless game of whack-a-mole.

lionkor18 days ago

lines of code is a measure of complexity in your argument; its better to call it that. Increased complexity, depending on the language, isn't necessarily lines of code, but can have the same effect

themk17 days ago

I do use abduco and dvtm, however, there is one major flaw in splitting the persistence and the emulator/multiplexer: if you detach, then reattach with a different terminal, with different capabilities, the emulator (which is running in abduco, say) doesn't know that it has to render differently.

Compared to tmux, which knows this, and can adjust the rendering to suite the new terminal.

nmz17 days ago

Isn't this a bug of the software and not of the technology?

refetching terminfo capabilities seems an easy fix, you also get sigwinched which I imagine happens on a new terminal.

Mind you, I don't use abduco but do use dtach sometimes, I've accepted that I need screen and tmux with all its warts, like instead of using a scripting language like TCL/Lua for configuration it built its own frankenstein language that is severely limited.

themk17 days ago

Most terminal emulators have no way of reporting their capabilities at run time. And having dtach or abduco modify the TERM environment variable of the already spawned child is not possible, and even if it did, there is no standard way to get the child to reread it.

So, no, the tech is kinda broken. The only correct thing to do is to have the attaching program also do terminal emulation (or, assume that you always attach with a compatible terminal).

You could make it a simpler form of emulation, and then have the more complex muxing ability as a separate program, at the cost of having to go through multiple emulation layers.

curtisszmania18 days ago

[dead]

anthk18 days ago

Then:

Unix: Small, light, mediocre OS for underpowered microcomputers. Either crash silently, or cut down the bloat.

MIT/GNU: Correct systems first. Plenty or resources. Lisp. Detect the errors, fix and step over them, continue the process.

Now:

GNU=Ugly bloated umUnix like, mega light Elisp editor but s l o w and prone to lock. Good FS' on Linux. FDo it's mainly Red Hat bloatware. Screen does too much.

OpenBSD=Correctness, ISC licensed mainly. Unix bound, small tools, but so-so FFSv2. Sndio works. Audio, video and so on perms work, no DBUS needed. CWM it's really fast and much easier than I3. Dumb config, fvwm looks like rocket science. Tmux, no screen(1) except for ports. Snappy, easy to config and script. Use damn cu(1) for serial, thanks.

phyzix576118 days ago

I brought up some security issues similar to these years ago to the Screen community and they laughed at me saying I was being paranoid. Nice to see they're finally doing something about it.

Trasmatta19 days ago

Only tangentially related, but I'm always fascinated that mailing lists are still a thing in 2025.

immibis18 days ago

A mailing list is just a kind of public group chat. You're probably in many public group chats, including this one right now. Mailing lists, IRC, traditional web forums, Discord, WhatsApp are all implementations of the same basic concept.

Like any implementation, it comes with certain affordances which differ from other implementations.

Messages feel "heavy" for several reasons: sending one involves a lot of clicks (or keypresses); if you send a very high number you may be banned from your email provider, and unable to communicate with anyone.

Messages often arrive instantly, but can be delayed up to hours or days, so conversation round-trips are kept to a minimum.

Messages are all the same - there are no "lite messages" such as emoji reactions - so any message must contain enough content to justify being a full-fledged message, or it won't be sent at all. (Sometimes an "emoji reaction" is felt to be enough content to justify a full-fledged message, which is sent.)

Being off the web increases the barrier to entry, reducing the eternal september effect (ironically, Usenet is one of the least eternal-september-ish of the public discussion boards currently in existence).

Overall, the feel of the system tends to somewhat discourage quantity and encourage per-message quality.

WesolyKubeczek18 days ago

> Messages are all the same - there are no "lite messages" such as emoji reactions - so any message must contain enough content to justify being a full-fledged message, or it won't be sent at all. (Sometimes an "emoji reaction" is felt to be enough content to justify a full-fledged message, which is sent.)

Haven't you heard about the abomination which is Office365? They recently bolted emoji reactions onto email!

teddyh19 days ago

Please, inform us of an alternative which is:

• Non-proprietary

• Federated

• Archivable

• Accessible

• Not dependent on a specific company

Trasmatta19 days ago

I wasn't criticizing the use of them, I just find it fascinating that we still use them. They'll probably still be around in some form in another 3 decades.

walterbell19 days ago

Email is a root-of-trust for authentication in most non-email systems.

zoobab18 days ago

GIT promised to be "Non-proprietary, Decentralized" but still does not have a built-in issue tracker :-)

HappMacDonald18 days ago

GIT is non-proprietary and decentralized so it keeps that promise.

And having a built-in issue tracker

1. isn't related to those properties, and

2. isn't truly within the scope of a source code version control management solution.

That's the domain of project management.

graemep18 days ago

Fossil has one. If its something you want use Fossil - which I think is a great alternative for small teams, on the other hand, this is probably not something large teams (which are a high priority for git) want.

delfinom18 days ago

For large projects like the Linux kernel as an example out of many, I would assume the built-in issue tracker would end up 100x the size of the code base in storage space. lol

jbaber18 days ago

If I ever get around to writing my git issue tracker, everything will be stored in a completely separate reponame-issues.git

somat18 days ago

Shouldn't the git native issue tracker be as simple as adding file pr/the_problem_i_am_having

badmintonbaseba18 days ago

Issues shouldn't really live in the same source tree, IMO. But AFAIK there are forges that keep the issues in the same repository, just not in the same tree of commits that the source tree has, git notes style.

rixed18 days ago

Any user without commit permission should be able to create tickets and comment on them.

What's wrong with debbugs? :)

Eduard18 days ago

- horrible usability

- can only participate in conversations via e-mails

- unclear how to participate in / reply to an older thread that wasn't delivered to your mailbox

- NOT accessible, especially in the disabilities sense

- doesn't have a search feature; depends on external search engines to crawl the mailing list for discoverability

- no responsive design, tiny text and horizontal scrolling on mobile phone screens

- sends you your password in cleartext via e-mail

- actually complicated to unsubscribe from a list / manage your membership

teddyh18 days ago

> - horrible usability

The web has horrible usability if you use a text-based browser. I.e. if you use a mail reader with good usability, a mailing list has good usability. This is a client-side issue, not a technology issue.

> - can only participate in conversations via e-mails

Um, yes, a mailing list uses e-mail. I don’t know what you expected.

> - unclear how to participate in / reply to an older thread that wasn't delivered to your mailbox

If you are a new user, and want to reply to a mail you read in the list archive, just write a new mail; there is no strict rule that any discussions must be restricted to one thread.

Indeed, if you want to start a new discussion after some time has elapsed, a new thread may be preferred.

> - NOT accessible, especially in the disabilities sense

Again, this is a client issue. I believe that e-mail is actually the preferred form for those with accessibility needs.

> - doesn't have a search feature; depends on external search engines to crawl the mailing list for discoverability

Somewhat true, but this depends on the list – some list archives do feature search – and is very rarely a problem in practice, since external search engines are very efficient.

> - no responsive design, tiny text and horizontal scrolling on mobile phone screens

Again, a client issue. Get a better e-mail client.

> - sends you your password in cleartext via e-mail

Yes, many lists do this, but this is not a requirement of the technology. Some lists could require all your mails to be signed with PGP or S/MIME; it is entirely up to the list.

> - actually complicated to unsubscribe from a list / manage your membership

Not really. The ”List-Unsubscribe” header is commonly sent in every mail to the list.

KolmogorovComp19 days ago

My qualm against them is rather different. Why, after so much time, are they still so user-hostile, both in their web appearance and more generally usage?

It's rhetorical of course, it's because their users are completely blind to their pitfalls after decades of use, and it seems that generation-renewal is not a priority.

Discord servers and other contemporary solutions are much worse on the long run, but it does not matter. Software is like startups, long term is not a goal when you are not sure to survive (or in that case, being used and having contributors) next week.

skydhash18 days ago

I don’t think GitHub adds that much over using and contributing to software. I generally prefer when the project have its own website and a proper about and documentation section.

As far as contributing go, coding a bug fix or a new features takes way longer than figuring how sending patch over mail works (for the extreme case) and you only need to do it once.

And opensource is not a popularity contest.

jzb18 days ago

"Discord servers and other contemporary solutions are much worse on the long run, but it does not matter. Software is like startups, long term is not a goal when you are not sure to survive (or in that case, being used and having contributors) next week."

I don't think I've read anything that I disagree with so strongly in a while. "Software is like startups" is about as user and contributor-hostile a concept as they come.

The long term absolutely matters and projects choosing convenience today over long-term thinking are screwing over their future. It's damn near impossible to find information about these projects outside the proprietary silos they've dug themselves into and they will regret the choice one of these days when Discord or whatever proprietary service starts tightening the screws to make money.

I'm not sure what you find hostile about their web appearance. It's a light, clean page with text that doesn't throw tons of JS at you, pop-ups, or a cookie accept/reject/ponder bullshit dialog. It could use a bit of a copy edit / redo and a screenshot (I always complain when a project doesn't have screenshots...), but I don't find it hostile in the least.

int_19h18 days ago

Try opening that link on a phone. You get tiny, hard-to-read text because of course it's monospace with hardcoded line breaks.

GP's point is that convenience and long-term thinking don't have to be an either-or. We should have convenient tools that don't require proprietary silos but work well on today's devices and with today's use cases.

+1
SoftTalker18 days ago
mistrial918 days ago

> The long term absolutely matters and projects choosing convenience today

I would be happy to engage on that thought, but here on this thread there is a lynchmob gathering to declare an emergency to remove all GPL-connected code everywhere, again.. because `screen`

SoftTalker18 days ago

I’ve never used a discord server and would not know how. If that’s the communication channel you choose, I’m out.

kstrauser18 days ago

I have and can, but I strongly prefer not to, and will generally just avoid it altogether.

If I wanted to use IRC, I’d use IRC.