Slashdot Mirror


After a Long wait, GNU Screen Gets Refreshed

New submitter jostber (304257) writes "It's been a long wait, but now GNU Screen, the most useful CLI windows manager around, is available. Version 4.2.1 was released a couple of days ago and the maintainer's release news is here." There are fewer commits than you might expect for software that's had six years since its last major update, but that could be because the developers have had 23 years to knock out the major bugs.

77 comments

  1. One question by n1ywb · · Score: 4, Interesting

    Does it finally have vsplit?

    --
    -73, de n1ywb
    www.n1ywb.com
    1. Re:One question by doti · · Score: 1

      Does it finally support 256 colors while running a screen inside a screen?

      I usually use two levels of screen, the top level has a screen for each project I'm working on, and the second level has some shells for each project (basically the first one is the editor, the second one is for building/testing, etc).

      --
      factor 966971: 966971
    2. Re:One question by aardvarkjoe · · Score: 5, Informative

      The submitter used a link to the announcement of a 4.2.1 minor bugfix release, which isn't very informative if you want to know about new features in 4.2.x. They really should have linked to this announcement instead, which says:

      Hello everyone,
       
      it is my pleasure to announce release of GNU Screen v.4.2.0
       
      available at http://download.savannah.gnu.org/releases/screen/
      (I will also upload to ftp.gnu.org as soon as my access is authorized)
       
      Many are probably using it due to their distributions packaging
      development versions, so they know at least some of changes.
      Short list of them:
        * layouts
        * window groups
        * better mouse support
        * vertical split
        * new and expanded commands
       
      For full list of changes please check Changelog.
       
      Please note that due to some changes it may be not possible to attach
      to sessions created with older binaries.
       
      With this I also plan to put v.4 into maintenance mode and start
      developing v.5 with cleaned up source code, new features (some already
      in development tree, currently outside of official repository):
        * 256 color hardstatus
        * truecolor
        * firstline hardstatus
        * top line caption
        and more
       
      Amadeusz Sławiński

      And the Changelog is here: http://git.savannah.gnu.org/cgit/screen.git/tree/src/ChangeLog?h=screen-v4.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    3. Re:One question by Anonymous Coward · · Score: 0

      Literally the first thing I thought: did they apply the vsplit patch?

      Can anyone confirm?

    4. Re:One question by Anonymous Coward · · Score: 1

      > Amadeusz SÅawiÅski

      Jesus. Slashcode sucks. Why didn't Slashdot Beta add UTF8 support?

    5. Re:One question by DocHoncho · · Score: 2, Insightful

      Because they're apparently too god damned stupid to just disallow the text direction character(s). The oft cited excuse for lack of unicode support is essentially, "Cuz the trolls would do nasty things," which is, as excuses go, pretty weak.

      --
      Celebrity worship is a poor substitute for Deity worship and costs more to boot.
    6. Re:One question by PrimaryConsult · · Score: 1

      Couldn't they just have disabled unicode for ACs? Presumably the moderation system would handle the rest.

    7. Re:One question by DocHoncho · · Score: 1

      I do believe there are many, many ways to solve this problem. They just won't.

      --
      Celebrity worship is a poor substitute for Deity worship and costs more to boot.
    8. Re:One question by epyT-R · · Score: 1

      Why do you need 256 colors for a character display?

    9. Re:One question by Windwraith · · Score: 1

      Why not?

    10. Re:One question by styrotech · · Score: 1

      You weren't asking me, but syntax highlighting in vim is way nicer on the eyes with 256 colours.

      That is the only thing I want to have it for though.

    11. Re:One question by doti · · Score: 1

      For richer syntax highliting, and more options for Vim colorschemes.

      --
      factor 966971: 966971
  2. most useful? by Arathon · · Score: 4, Informative

    I've been using tmux for years now, so my experiential data say no.

    1. Re:most useful? by TheRaven64 · · Score: 0

      Seconded. I always think of screen as 'that thing people used before tmux that too many bugs to actually be useable'. What's it got now that tmux lacks, other than an obnoxious license?

      --
      I am TheRaven on Soylent News
    2. Re:most useful? by Anonymous Coward · · Score: 0

      real tty support ... because there are a few places where we're using 5khz radio channels. Haven't used the zmodem support for a few years though; it's faster to fly out to the site.

    3. Re:most useful? by doti · · Score: 3, Interesting

      I hear tmux is more "modern", but I still use screen because, well, I'm used to it, and it works.

      What tmux does that screen doesn't?

      --
      factor 966971: 966971
    4. Re:most useful? by Anonymous Coward · · Score: 1

      try byobu, you will thank me
      http://en.wikipedia.org/wiki/Byobu_(software)

    5. Re:most useful? by Junta · · Score: 3, Informative

      To my knowledge for screen:
      -screen can target ptys/realserial ports. Useful alternative to minicom or similar. Nowadays it's the most likely application to be installed 'by chance' with that capability (once upon a time, I would generally find cu, but that's almost never around by chance anymor)
      -a split screen can have different people typing concurrently in different panes.

      tmux more gracefully handles multiple terminal sizes connecting and tends to keep you from leaving a shared attach behind when you start trying to do split and such. tmux naturally understands terminal title set sequence and has more handy access to a lot of the best tricks. So 95% of the time tmux hits what is more important to me, but I do get a bit put out when I have a desire to take care of one of the above cases.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    6. Re:most useful? by Heikkkki · · Score: 1

      This bug (“broken support for unicode plane 1”), reported almost five years ago, made me switch from screen to tmux.

      And the bug is still there.

    7. Re:most useful? by davek · · Score: 1

      try byobu, you will thank me

      You can use screen as the backend of byobu too. But, in my experience, byobu doesn't really give you anything, especially if you don't like having status bars at the bottom of my terminal. ALL menus, status bars, menus, etc. go on the top. Always.

      --
      6th Street Radio @ddombrowsky
    8. Re:most useful? by x_t0ken_407 · · Score: 1

      Agreed 100%. Learned of tmux and how much more bad ass it was than screen back around 2010, never looked back. For a few years now I've used a highly-customized .tmux.conf file that mimics screen's "ctrl-a" behavior, among other things, so that I don't lose a step when I absolutely MUST use screen (e.g., at work where more people are familiar with it than tmux). Pretty much all my work (and leisure) activity is done via tmux these days, saves me lot's of time when trying to remember something I did or setting up an environment in a more productive way. Always pains me when I finally have to close out a session for a reboot or something.

    9. Re:most useful? by twistedcubic · · Score: 1

      Is there a tmux equivalent to "screen -DR" ? If so, I might try it out.

    10. Re:most useful? by ottothecow · · Score: 1
      Probably explains why I never heard of it then...I last used screen in probably 2008 or 2009 when I would leave the console of a counterstrike or TF2 server in a screen session.

      Was always a handy tool...I just haven't had reason to use it since about the last time it was updated.

      --
      Bottles.
    11. Re:most useful? by tuffy · · Score: 1

      tmux runs on a client-server type architecture and every command can be sent to a running instance via the tmux command itself.

      --

      Ita erat quando hic adveni.

    12. Re:most useful? by Mousit · · Score: 1

      Is there a tmux equivalent to "screen -DR" ? If so, I might try it out.

      Not exactly, no. I REALLY liked this particular flag combo in screen, and it's the one thing that tmux doesn't do natively that I miss (but I still use tmux because of all the other happiness it brings me). I even opened a ticket on the lack of this functionality but the answer I got back was basically "I'm not looking to just emulate screen so exact functionality may not be added."

      tmux has an option to detach other sessions when you attach yours, but it ONLY detaches. There is not a "detach AND log out" option when attaching a session. However, it does have a detach-and-logout function if you ONLY want to do that (not attach a new session at the same time). Basically "tmux detach-client -P" will detach and log out an attached session, but you'll notice there's nothing to attach your session at the same time. That's the crux of the issue.

      Naturally, I'm not the only one that wants this functionality (and clearly so do you), so there is some kludgy ways to do it. The simplest is to create a bash alias (or alias in your shell of choice) to first do the detach-and-logout and then perform the attach-session. Something like this:

      tmu() {
      if tmux -q has-session -t tmux; then
      tmux detach-client -P -s tmux
      tmux -2 -u attach-session -t tmux
      else
      tmux -2 -u new-session -s tmux
      fi
      }

      Basically, I just type "tmu" to run the alias. If the session named "tmux" exists, detach-client and log them out, then attach my current pty to the session. Otherwise, if the session does not exist at all (i.e., tmux server isn't running), create a brand new tmux instance with the session name of "tmux".

      Not ideal, but it's the closest way to achieve screen's -DR option at current, at least with the version I'm using. Newer versions of tmux may be better; Debian by its nature doesn't use the very latest, of course, which is the distro (Wheezy) I use. I seem to recall that newer versions of tmux will create a brand new session via attach-session if it doesn't exist; my version requires an explicit new-session in order to start up a tmux server from a totally non-running state. So that could certainly simplify my alias a fair bit.

    13. Re:most useful? by mcrbids · · Score: 2

      Two words: Synchronized Panes. For nothing else, this is enough.

      Need to do a semi-repetitive task that's not quite annoying enough to script on a bunch of servers? TMUX to the rescue! You can open 10 windows to 10 different servers, and synchronize what you type so it shows up on all screens, or click on an individual screen to run just that command there.

      For boring admin chores, it's a god-send.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    14. Re:most useful? by Marillion · · Score: 1

      This is what I use.
      alias tm='tmux att || tmux'

      --
      This is a boring sig
    15. Re:most useful? by epyT-R · · Score: 1

      You mean the license that keeps the project free for everyone and does not allow someone to close it and then compete against the authors or anyone else who chooses to develop it? Unless you're planning to sell a modified version, why do you care? Use it if it suits your needs. If not, don't.

    16. Re:most useful? by subreality · · Score: 1

      More compact: tmux at -d || tmux

    17. Re:most useful? by Anonymous Coward · · Score: 0

      your example there is from plane 14 (U+Exxxx) and uses the deprecated language tags, so your example doesn't match the bug title :-)

      Also: who needs more than BMP? ;-)

    18. Re:most useful? by Mousit · · Score: 1

      More compact: tmux at -d || tmux

      That merely detaches other sessions. It does not detach AND log them out, which is what screen -DR does. The only way I know to do a detach-and-logout is with the "detach-session -P" option.

    19. Re:most useful? by Anonymous Coward · · Score: 0

      One of my favorite features is that, when you create a new window, its working directory is the same as the working directory of the window you were just in. That's just one of many little niceties that tmux has. Another one is that it lets you start indexing from 1, which is nice because the 0 key is so far away...

  3. Ooh by jandrese · · Score: 1

    Does it finally handle curses applications properly? Or does the screen management still get mangled?

    --

    I read the internet for the articles.
  4. No screenshots by Anonymous Coward · · Score: 2, Funny

    What's it look like?

    1. Re:No screenshots by harrkev · · Score: 5, Informative

      Screen is actually surprisingly useful.

      You can throw jobs off to a "screen" instance that can run happily. Then, if you have to VPN in from home, you can grab the screen and pick up where you left off. Combine this with "nohup" and you can have jobs that run even when you log off, and you can regain console control from them at any time.

      In short, it is the "vnc" of the terminal world.

      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    2. Re:No screenshots by Anonymous Coward · · Score: 0

      Screenshot.jpg

      [/var/log:]-> ls

    3. Re:No screenshots by PrimaryConsult · · Score: 3, Interesting

      Also similar to VNC, you can allow other users read only access to your screen session. Useful for a classroom instruction scenario, or collaboration among remote employees.

      A more niche but still useful feature is the ability to connect to the same screen session from multiple locations simultaneously. Generally I prefer to work from a Linux box, but whenever I need to copy/paste with outlook, having the same session open on a Windows box is quite helpful...

    4. Re:No screenshots by erice · · Score: 1

      Screen is actually surprisingly useful.

      You can throw jobs off to a "screen" instance that can run happily. Then, if you have to VPN in from home, you can grab the screen and pick up where you left off. Combine this with "nohup" and you can have jobs that run even when you log off, and you can regain console control from them at any time.

      Why do you need nohup? Just detach and log off. Whatever jobs you have running on that screen will keep running and you can re-attach the next time you login from wherever that may be.

      Really, the only time I use nohup is when I need to run a job detached on a system were screen is not installed. Usually this is preceded by a brief weighing of the pros and cons of fetching and installing screen for what seems like a one-time need.

    5. Re:No screenshots by devman · · Score: 1

      Agree with everything you said. My first encounter with screen I first installed Linux to run a headless Counter-Strike server. It is a great solution to being able to ssh in to a box, start the server and log off. It also allowed other admins to log in and assume the screen if they needed to.

    6. Re:No screenshots by John+Marter · · Score: 1

      I actually use screen for its screenshotting ability. I have a series of unit tests which are an expect script that runs a reference program in screen, takes a snapshot and then runs the target program takes another screenshot and then compares the two to make sure they match.

    7. Re:No screenshots by VortexCortex · · Score: 1

      Generally I prefer to work from a Linux box, but whenever I need to copy/paste with outlook, having the same session open on a Windows box is quite helpful...

      Yep. It's great for that. But if the machines have screens on the same desk or around the room, then for copy/paste and input sharing I'll also have Synergy.

  5. a bit late by Anonymous Coward · · Score: 1, Informative

    uh what http://tmux.sourceforge.net/

  6. Screen has aged, and it shows by Anonymous Coward · · Score: 4, Informative

    I use screen every single day. But it has aged, and not that well. Also, the quality of the job it does is directly dependent on how good the $TERM and ncurses stack is, and that varies wildly. It used to be much worse, but it can still be rather bad if you have to shell to old crap. Or the bells-and-whistles piece of crap that passes as a terminal emulator in the frisky desktop-environment is buggy (easy to work around: open an xterm).

    The usual alternative to screen is tmux (http://tmux.sf.net), which is much newer and has a better feature set. Google for "tmux versus screen". It also had the advantage of a non-dead upstream, but I hope GNU screen upstream is back into highly active mode for good...

    1. Re:Screen has aged, and it shows by flyingfsck · · Score: 3, Informative

      Still no serial support in tmux, so embedded developers need to use screen.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    2. Re:Screen has aged, and it shows by Anonymous Coward · · Score: 0

      I recently tried to switch to tmux in Putty, but found that the putty scrollback got corrupted. The usual tmux xterm hacks to fix scrollback didn't seem to help. Copy/pasting text that usually takes at least 2 screens worth of space is a frequent enough part of my work that it was a dealbreaker.

      Screen works for me, so I'm excited to see it's still active.

    3. Re:Screen has aged, and it shows by Blaskowicz · · Score: 1

      I only use mate-terminal and lxterminal, they never seem to fail me. But I once had a screen years ago that refused to resize (not fun on the 80x25 text mode console), I don't remember if I found a way to scroll it or if just coughed it up. Hasn't happened since.

      xterm has been a fallback for me in Unity.. I can't find the terminal emulator in Unity and don't know its name, so I launch xterm instead. (yeah I think Unity's terminal emulator showed up in the "lens" eventually, but why bother)

    4. Re:Screen has aged, and it shows by Anonymous Coward · · Score: 0

      And if embedded developers want to use it on the device they can...

      configure: error: in `/tmp/screen-4.2.1':
      configure: error: cannot run test program while cross compiling
      See `config.log' for more details

      ... never mind.

    5. Re:Screen has aged, and it shows by anarcat · · Score: 1

      so maybe it's just google profiling me, but "tmux versus screen" doesn't yield any interesting results.

      in fact, it lead me back here.

      what *are* the so great things about tmux that should make me give up a ~20 year old habit?

      --
      Semantics is the gravity of abstraction
  7. Headline should have read... by big_e_1977 · · Score: 4, Funny

    After a Long wait, GNU Screen Gets ^L

  8. Screen was around before 1987! by Anonymous Coward · · Score: 0

    Though perhaps not as GNU Screen.

    I was at UCSD from 1981 to 1986 and did lots of BSD hacking on 4.1 and 4.3 (we skipped 4.2 and used a patched 4.1 until 4.3 arrived), From about 1984 on I recall using the screen command many times a day as I hopped between terminals and systems.

  9. Totally newsworthy! by Kludge · · Score: 2

    Look at who posts on this article and you will see who the real nerds are.
    Screen was the first piece of software that I ever downloaded and compiled. That was almost 23 years ago. It was awesome. It gave me lots of virtual terminals on my shiny VT100. I still use it when I have to get stuff done on a slow remote connection. Long live screen!

    1. Re:Totally newsworthy! by VortexCortex · · Score: 1

      Screen was one of the reasons our shop converted to *nix back in the day. Just so much more useful than expensive KVM switches. I honestly can't imagine remote administration without it.

    2. Re:Totally newsworthy! by Anonymous Coward · · Score: 0

      Look at who posts on this article and you will see who the real nerds are. Screen was the first piece of software that I ever downloaded and compiled.

      Hear, hear. At about the same time I was a newbie whose job was to write Informix 4GL business apps on SCO UNIX (yes, I still twitch sometimes.) The regular edit/compile/execute cycle was extremely awkward, and screen was a godsend when I managed to build a working executable -- I had to disable all optimization in the crappy SCO compiler, otherwise I'd get a program which aborted with weird errors. I still remember how quick and painless the new setup seemed after firing up screen for the first time.

  10. Re:This is newsworthy??? by synaptik · · Score: 2

    Terminal multiplexers such as screen and tmux still have their place. Not only do they allow you to organize your terminals by task, but they are also detachable from your console. This allows you to (example) start a build at the office, where your machine physically resides, then later from home SSH into your work machine and reattach to the tmux / screen session.

    --
    HSJ$$*&#^!#+++ATH0
    NO CARRIER
  11. I loathe screen by dfsmith · · Score: 1

    I know I shouldn't. But every time I use it, I get trapped and have to pull up another xterm/console to kill it. It wouldn't be so bad if the "quit" commands were the first thing in the man page. And why ^A? I use ^A for 'start-of-line' all the time, and get annoyed when I realize it didn't work after I finished my paragraph. Now, ^X^C (no), F10 (no), ~. (no), M:q! (no), ^Q (no), M-F4 (no) argh!

    1. Re:I loathe screen by PhotoJim · · Score: 1

      You can change ^A to something you prefer.

    2. Re:I loathe screen by dfsmith · · Score: 1

      But I have to kill it externally by the time I remember that I needed to use '-e' (which, to their credit, is on page 2 of the manual). B-P

    3. Re:I loathe screen by kthreadd · · Score: 1

      I suggest that you put that in your screenrc file.

    4. Re:I loathe screen by Rufty · · Score: 1

      I suggest you use tmux ^BD

      --
      Red to red, black to black. Switch it on, but stand well back.
  12. Most useful? by chriscappuccio · · Score: 1, Informative

    The most useful? You mean tmux? Not this old antiquated, bug ridden piece of code, right?

  13. Not what screen is primarily for. Mobile SSH. by raymorris · · Score: 1

    > If you want multiple consoles, it's not like every Linux/BSD/OS X/Solaris distro doesn't have a button right there for you to open a freaking bazillion of them!!!

    While you can use screen for that, that's not the most common/useful use case these days. One very handy use case is a session from a mobile device. A 4G connection is often briefly interrupted. With screen, an interruption in your connection doesn't reset your session. So you can continue to edit a file as your devices is handed off to different towers, and not lose anything when you're between towers. Automatic reconnect in your SSH client is handy in this case too.

    Other variants of this include persistent sessions between devices - you can start working on your desktop, then pick right up where you left off on your laptop.

    You can also have multiple task-based sessions going remotely. So you might have a "handle email" screen set up and a "program web site" screen set up. You can SSH in and choose either environment.

  14. Re:Pretty idiot-proof by jandrese · · Score: 1

    Tell that to the original developers of screen...

    --

    I read the internet for the articles.
  15. That would be the only thing I would use it for by Marrow · · Score: 1

    Multiple terminals w/o networking available. Though, I might be tempted to get second usb/serial connector going instead.

  16. Re:This is newsworthy??? by Anonymous Coward · · Score: 0

    I used screen a lot a few years ago for running long-term tasks in my server which I needed to access from different places (home, university, friends pc, etc), and it was wonderful.

    In fact, just a few weeks ago I used it again (can't remember what for though) and it was great to see that it had aged really well.
    Granted, I only use screen for the most basic of functions, so maybe people who want more will find it lacking but for a simple tool, it does what it does very well.

    For a tool that's probably old enough to be a grandfather, that's quite interesting. If you don't think that's compelling you're probably in the wrong site.

  17. Re:This is newsworthy??? by ignavusinfo · · Score: 1

    WTF is this "button" you speak of?

    Seriously though, in addition to the use cases others have mentioned I get a lot of mileage out of starting a REPL in a screen (or now, tmux) session and just letting it run -- it's easy then to re-attach and occasionally debug issues or upgrade code. I've had some Erlang jobs running for years like that.

  18. I can't hear this announcement ... by e.+boaz · · Score: 0

    I can't hear this announcement via my tmux session. The GNU projects expects us to switch back after being abandonware for this long?

  19. Re:This is newsworthy??? by mattack2 · · Score: 1

    Though I actually often use screen sharing for things like this. Heck, I use screen sharing (built into OS X and probably every other modern GUI) to another machine in my office, to use my preferred keyboard/trackball!

  20. Re:This is newsworthy??? by Anonymous Coward · · Score: 0

    Actually, this is a good story. I mean, nobody gives a shit about some patch release of screen, but maybe someone reading these comments will learn about tmux and use that instead. It's like Republicans that are happy Barack Obama was elected because George W Bush is no longer the worst President ever.

  21. Still using 2.3pre7... by Anonymous Coward · · Score: 0

    Sure there have been lots of bells and whistles added in the last 20 years, but none of them have been "must have".

  22. Re:This is newsworthy??? by synaptik · · Score: 1

    If by 'screen sharing' you mean VNC or RDP: that is often acceptable within a single LAN. But when VPN'ing in from home, the latency can be tiresome. With a character-based interface, there is of course still latency, but it is much less tiresome because the stream is a tiny trickle compared to the graphical modes.

    --
    HSJ$$*&#^!#+++ATH0
    NO CARRIER
  23. Usability by jones_supa · · Score: 1

    Screen is just another kind of these programs like Vim and Emacs, by which I mean obscure UNIX programs which just hamper your workflow with their clunkiness and extremely awkward keyboard shortcuts. These programs actually have blazing features, but they just throw usability out of window and have a terrible learning curve. Sure, these are command line tools and they are not even expected to be the clicky-click fun multimedia experience, but for example the shortcut to deattach a screen, a very common feature, is Ctrl-A, and after that separately press D. That just shows...no taste at all.

  24. Those who ignore the past (that goes for software by Anonymous Coward · · Score: 0

    Your parents are antiquated like screen, you are new and fancy (and only alive because your parents came before you) like tmux. Somemtimes I want to talk with a responsible adult instead of a whiny kid like you.

    tmux is a single solution tool that fit a very common use-case
    screen is a multi solution tool that works well for a lot of corner cases _and_ in the common use-case

    obviously you only use it for the one common use-case, so to you tmux is most usefull. to a lot of other people tmux wont even work (lacking features). screen however will always chuck along like that old rusty tractor - but at least it will chuck along and not be parked away indefinetely because its a fancy useless tmux sports car.