37 comments

[ 3.7 ms ] story [ 71.6 ms ] thread
I'm pretty sure nothing that runs solely in-terminal can ever truly be brought "to the masses", unfortunately.

New Linux users, even those who are competent within Windows, are just too intimidated by a CLI.

That said, the simplified config for Screen is pretty nice, especially for those of us who regard mouse use as a cache-miss.

""I'm hoping for Karmic that screen-profiles is used ubiquitously on the server [and] that it becomes as important to the Ubuntu server as Gnome/KDE are to Ubuntu/Kubuntu," he said during the presentation."

I believe this is targeted at system administrators, and not the average desktop user.

----------

Edit: as a regular user of Screen, I cannot pass up an opportunity to promote it. It is most definitely one of the most amazing pieces of software I've ever used, CLI or not. The ability to run multiple terminals inside a persistent session is enormously useful.

I not only use it for software development (where split-screening the Screen session gives me the best development environment I've ever used) but also for running all kind of other applications. I use rTorrent (http://libtorrent.rakshasa.no/), Irssi (http://irssi.org/), ncmpc++ (http://unkart.ovh.org/ncmpcpp/) with MPD, and CenterIM (http://www.centerim.org/), all in a Screen session on my always-on desktop, which lets me turn off my laptop whenever I want without closing any of those applications.

Well, the headline is a bit misleading then.

I doubt that sysadmins will ever be considered "the masses".

Yes, it is a bit misleading. I think that by "the masses", the author is referring to the masses of sysadmins who are not aware of Screen's capabilities.
Agreed and edited - the author's original headline was a little over the top.
I wish it had vertical splitting.

That said, I've probably had at least one screen running somewhere in the last fifteen years.

Actually, if you download the current SVN revision, you can get vertical splitting (use it with Ctrl-A, then "|"). I use the SVN revision solely for that reason. Stability is generally not an issue with the SVN builds either.
Yeah, I'm a huge screen fan. I think it's probably the most important single app I ever learned of. There's nothing quite like being able to do attach to a single screen session from multiple locations, or leaving a heavy duty screen session running for weeks on end on a remote server. In linux just being able to log out and back into X without losing the terminal session is very useful (though I think it fouls up $DISPLAY somehow so starting X apps stops working).

I actually don't think I've used the splitting feature, I'll have to give it a whirl.

"I actually don't think I've used the splitting feature, I'll have to give it a whirl."

Make sure you get an SVN build, so that you've got vertical splitting ;)

$DISPLAY should be the same, but $SESSION_MANAGER would change.
In response to your edit - agreed wholeheartedly.

To any Linux developer/admin who hasn't used it - if you want to push your terminal wizardry to the next level, make a concerted effort to learn Screen. Once you get the basic commands down (and these Ubuntu modifications should help the learning curve) it really does save a lot of time.

Anyone who has a 9.04 install handy: does this just write a modified .screenrc, or does it somehow refer to those configurations stored elsewhere and requires a customized screen build?
It stores the screen profiles in /usr/share/screen-profiles/profiles, and in your user directory theres a .screen-profiles directory which holds a symbolic link to the profile you have selected.
It's nothing that you can't get without a .screenrc. Most of the magic involves a few commands:

1. "hardstatus always lastline": displays a line of information on the bottom row of the terminal.

2. "caption always": similar to hardstatus, except it's displayed at the bottom of each split window.

3. "backtick": lets you interpolate the output of shell commands into hardstatus and caption.

this seems more like eye-candy / reading output from top / reading output from procfs ... rather than 'advanced features'
I dunno if I'd call that "advanced". More like "easier to use".

Don't get me wrong. It's nice (I personally disabled it because I want my apps to take the full terminal).

In my opinion, gnu screen is one of the best utilities for unix operating systems ever written. Not just because of what it lets you do explicitly, but the way it changes the way a unix system can be used. Using continuously-running apps in multiplexed windows did wonders for my communications and file management.

I even remember my screen windows from high school! (0-user,1-root,2-mutt,3-naim[aim client],4-irssi,5-7-misc) My friends who also used screen had their own window groups. I also remember my keyboard having the 'A' key significantly more worn than others.

I have since switched to GUI chat and email apps, but I instantly feel nostalgic whenever these articles pop up.

You see, this is one of the things that make it so awesome to use a Lisp Machine (or Emacs on modern hardware).
I don't know why I get downvoted for that. I mean this seriously. Emacs has a tiled window manager, a buffer menu etc and that leads to the nice workflow described by the parent poster. I wanted to point out with terminal+screens you re-build the sam environment. Ok, my post lacks "brilliance", but downvoting?
If you like the semantic nature of these workspace layouts, maybe tiling window management is for you. Pretty much the same thing as screen in terms of how windows get arranged. Try [xmonad](http://xmonad.org) or [dwm/wmii](http://suckless.org) I find myself using only very few screen sessions because my WM takes care of most of the work, and only use it for persistent applications when I need to shut down X or launch irssi on a remote server, etc.
For those who wish their window manager was more like screen I recommend strongly recommend the ratposion WM.
Tiling window managers in general are great if you like screen. Awesome and xmonad are two other prominent tiling WMs.
On reading the title, I expected this to be about persistent multiplexed sessions in the window server. Adding window-dressing to gnu screen is a strange idea - does the target audience for screen really want this?
The stated purpose is to expand the audience.

Then again, I'm not sure how many terminal junkies out there don't know about screen or whether a non-terminal junky would care...

This is great news, finally word is getting out about one of the most useful utils.

Totally unrelated, but to those who like both emacs and screen, here's a quick tip: make screen use Ctrl-Z instead of Ctrl-A (and use Ctrl-Z Z when you need to send a suspend). Put this in your .screenrc:

escape ^zz

(comment deleted)
"Ubuntu's screen-profiles also offer a simpler set of default keyboard shortcuts for screen management that are intended to be easier to use and less likely to conflict with other programs and the user's graphical terminal program. "

Interesting - this would be a downgrade for me. For a while I used "escape ``" but have for years used the default of Ctrl+A. This is a pain for most users because they use emacs mode for the console and find that it gets in the way of their return-to-start-of-line shortcut. Whereas I did some time on ksh88 a few years back and now prefer vi mode for the prompt.

Last week I went to a customer site and for the first time met someone

Any theories on why vi is such a popular editor yet so trivial for console? I've been fluent in -o vi and -o emacs and genuinely think that -o vi is a better option, but know about the significant learning curve from my own memories.

I'd like to see tighter application integration with screen - being able to spawn windows, etc. It would also be nice to have a single hotkey combination that exactly emulates alt+tab under Windows.

well, you can use 'ESC + v' with "vi" editing mode, and I've never found an equivalent way to use $EDITOR on your command line if you're using "emacs" editing mode.
I think you're responding to my request for screen integration features. (Understandable from the flow of my disconnected paragraphs). However, I didn't mean integration with vi specifically.

I mean more like you can do with links browser (I think) where you can get it to launch a link into a new screen 'tab'. Very cool. The reason I want the alt+tab is that 0-9 goes quickly and I want to be able to more quickly switch between windows.

Quite honestly the only thing I use screen for is detaching programs to run while I am logged out.

I would rather have 10 terminal windows up if I'm simply doing multi tasking on the command line. It totally makes me feel like the guy from swordfish.

Allowing a terminal or window manager to manage terminal sessions often feels more natural.

However, screen is awesome when combined with ssh. Being able to resume an ssh session exactly where you left it is very useful.

> terminal sessions

> ssh

These are basically the same thing.