August 29th, 2024

GNU Screen 5.0 Released

GNU Screen version 5.0.0 has been released, featuring a rewritten authentication mechanism, new escape commands, movable status window, removed commands, and bug fixes. Users are encouraged to report issues.

Read original articleLink Icon
NostalgiaAppreciationCuriosity
GNU Screen 5.0 Released

GNU Screen has released version 5.0.0, which introduces several significant updates from the previous version 4.9.1. Key changes include a rewritten authentication mechanism, new escape commands to display the current terminal and the number of open windows, and the ability to provide password protection. The status window can now be repositioned to any corner of the screen, and new commands such as "truecolor" and "multiinput" have been added. Some commands have been removed, including "time," "debug," and "password." The release also addresses various bugs, including issues with screen buffers and crashes during zmodem transfers. Users are encouraged to download the new version and report any bugs or regressions.

- GNU Screen version 5.0.0 has been released with major updates.

- New features include a rewritten authentication mechanism and additional escape commands.

- The status window can now be moved to any corner of the screen.

- Several commands have been removed in this version.

- Users are invited to report any bugs or issues encountered.

AI: What people are saying
The comments reflect a mix of nostalgia, technical insights, and user experiences related to GNU Screen and its comparison with tmux.
  • Many users have a long history with Screen, appreciating its reliability and functionality over the years.
  • There are discussions about the recent updates, including new features and improvements, with users expressing satisfaction.
  • Some users highlight the differences between Screen and tmux, debating their respective advantages and use cases.
  • Concerns about usability, particularly regarding mouse interactions and clipboard functionality, are raised by several commenters.
  • Users express a desire for better security audits and improvements in the software to address potential vulnerabilities.
Link Icon 15 comments
By @neilv - 8 months
My `~/.screenrc` has a comment at the top, which says I created it on "05-May-1994" (before I switched to ISO 8601 dates).

I'm no longer using `screen` on an HP 2392A dumb terminal and PP 14.4kbps modem. But `screen` is still coming in very handy, when working on servers, and for some kinds of developing&running long-running programs on the workstation laptop.

It's also fun, on the occasion that you introduce `screen` or `tmux` to programmers who've been using lesser tools, and they become an instant convert.

Incidentally, given how old the code is, and how there's the potential for various kinds of remote exploits via text (e.g., in SSH session, or in display of user-crafted strings in a console program), I wonder how recently someone has done a rigorous security audit of `screen`.

By @senko - 8 months
Every other day there's an article about FOSS crisis, bubbles and unsustainability.

Meanwhile there's rock solid free software, just chugging along for longer than the people writing those articles have been alive.

I first started using Screen around '95, it was the nicest way to stay logged in to my ircII session while yielding the vt220 terminal to someone else for a while and going for a drink/smoke/walk.

Used it ever since, from terminal multiplexing to daemonizing services at a shoestring startup. I've used just a tiny subset the features I know it has, and probably don't know of many more, but it has served me well over the years.

Congrats on the release!

By @teroshan - 8 months
> Removed commands: - nethack

https://www.gnu.org/software/screen/manual/html_node/Nethack...

> Changes the kind of error messages used by screen. When you are familiar with the game nethack, you may enjoy the nethack-style messages which will often blur the facts a little, but are much funnier to read. Anyway, standard messages often tend to be unclear as well.

By @freedomben - 8 months
Looks like a few QoL improvements and bug fixes. Nothing disruptive that would normally come with a major release version.

Looks like you can set a password on it now, which is cool (though I personally like having linux perms govern access to my screen/tmux). Multiinput sounds interesting as well, though in the past that was a feature I thought I'd love to have, but once I had I never use.

I'm glad to see Screen is still getting some love :-)

I ran screen for years before finally switching to tmux around 2011, and it's impact is still heavy as my tmux config is still rocking my "make tmux controls like screen while transitioning" setup which I intended to be temporary. Ctrl+a from my cold dead fingers

By @ho_schi - 8 months
Finally :)

I’m waiting for a year that we don’t have to push Escape twice in Vim/Neovim. Some mouse emulation was catching it.

https://savannah.gnu.org/bugs/?57748 https://superuser.com/questions/1675761/why-does-gnu-screen-...

I should write the developers a note with thanks :)

By @panki27 - 8 months
I used to be an avid user of screen, then later on tmux. My terminal directly launched a session upon opening.

But something that was always bugging me was the "ssh unawareness" - I've always wanted to be able to do splits on the remote end, but that was simply not possible without nesting sessions.

Now, I've switched my terminal to wezterm, which fills all my multiplexing needs, as it supports this exact "remote-or-local-splits" usecase (with some setup, of course).

By @throw0101d - 8 months
To anyone to perhaps who has used both a lot:

* Are there particular pros and cons to using screen or tmux?

(I'm generally on macOS for work, but never really go into using iTerm2, so that integration isn't a big thing for me personally.)

Edit: I mean why use one over the other. I generally use something on the destination host I'm SSHing to in case the network goes sideways.

By @elashri - 8 months
I started using tmux because 12 years ago all people said it is better than screen. I didn't use screen much myself. Sometime I read a comparison and it seems screen is good for my usage. But I didn't want to leave tmux because I wrote a wrapper around it to have more human readable syntax and it just works. And I don't want to work on modifying it for screen.

I don't use most of tmux or screen functionalities anyway. Mostly it is a way of avoiding multiple ssh connections and to run things when I close the laptop.

By @tzs - 8 months
I was just taking a look at screen's source to try to figure out how hard it would be add a feature I want. I want an option when using screen to talk to a serial port to reverse the order of the bits in each character.

Does anyone know of any readily available serial port reader/writer for Unix and Unix-like systems that already has that?

I realize it seems like a really weird thing to want. I'm going some things with a small microcontroller (ATTiny 85). It does not have a UART, so right now when when I want to use serial for debugging I just bit bang it. The MCU does have a thing they call Universal Serial Interface (USI), which provides hardware support for shifting a byte in or out over a GPIO pin timed by a clock. USI is basically building blocks in hardware for the lowest level parts of serial communication. It does the things that can be hard in software because of timing, leaving the software to deal with the higher level aspects of the protocol.

I want to switch from bit banging to USI. Unfortunately when USI shifts a byte out of its send register to a pin, it shifts from the most significant bit side of the registers. UART protocol, which is what computers expect, wants the least significant bit first, so you've got to reverse the bytes before loading them into the USI's output register.

(They probably made USI MSB first because the serial protocols most likely for it to be used for are I2C and SPI. I2C is MSB first. SPI can go either way but MSB first is more common).

It's only a few instructions to do that swap, but MCUs can be quite constrained on space so it would be nice to not have to bother and instead do the swap on the receiving side.

By @p1mrx - 8 months
I wish they'd do something about https://savannah.gnu.org/bugs/?63341, where switching to "copy mode" blocks the process without warning.
By @chasil - 8 months
I notice that Screen has moved into EPEL, while tmux is in baseos for the RHEL family.

Is there anything compelling in the latest release?

By @jmclnx - 8 months
Very nice, will need to give it a try. For my use there is no difference wuth screen vs tmux except for attaching.

In rare cases I need to do odd things with screen, but that was on AIX and I think Linux. NetBSD no issues. Maybe that works better now.

One thing I do like, screen is a lighter in resource usage these days.

By @mickeyp - 8 months
Screen, tmux, et al. are great.

But here's another way of approaching the same problem:

Emacs can serve as a superlative terminal multiplexer if you're willing to give it a shot or if you're already an Emacs user, but do not want to use Emacs's TRAMP (remote editing) functionality:

1. Emacs can run as a server, so you can run it on your remote servers and connect to it with `emacsclient' via SSH. This has the added advantage that $EDITOR stuff will open in your active Emacs session if you want it to.

2. You can use Emacs's builtin shells or terminal emulators (and/or install vterm for a more faithful terminal emulation experience).

3. It is obviously a capable editor also, it goes without saying.

4. Windowing is better in Emacs than the other muxers, and more advanced. In terminal Emacs frames ("windows" everywhere else) serve as decent facsimiles for workspaces.

5. You can use tools like Magit for git management.

... plus all the other benefits of Emacs.

I still prefer TRAMP and GUI emacs, but terminal Emacs does have its own advantages.

By @helmsb - 8 months
But the AI generated article from the front page yesterday said I shouldn’t use Screens anymore… /s
By @qwertox - 8 months
I use mintty on Windows (Cygwin) and like the standard "select with mouse does automatically copy to clipboard and rmb pastes into the terminal".

My issue with screen and tmux is that they break mouse selection. All I know is that it is possible to select text and it gets copied into a buffer, but my terminal can't interact with this buffer.

tmux at least does allow multiline selection with the mouse in a pane, not copying the entire line across multiple vertically split panes, but limiting itself to the active pane. Yet I then have no way to get that copied text into the OS's clipboard.

And with screen, if there are multiple vertically split panes, it will select the entire text in that line, not caring about the fact that these panes have an entirely different content.

It makes me feel bad about myself when I see people showing their tmux skills, because I can't use it due to my demand of easily copying into and from the native clipboard.

For me screen has turned into what I use to run long-running processes, and tmux what I use to create multipane layouts which mostly serve as dashboards, showing the output of `docker log --follow` or screens of long-running processes.

Both tools are really great, but I know that I'll not be able to use them properly. Multiple mintty terminals are what I have to settle with.

Could it be possible to write some kind of tool which watches such a buffer and then sends it via HTTP to my machine, which then moves it into the clipboard (and the other way around)?