GNU Screen v.4.2.1
savannah.gnu.org
savannah.gnu.org
* layouts
* window groups
* better mouse support
* vertical split
* new and expanded commands
Though I doubt this will entice me back from tmux, even though my primary motivator at the time (ages ago) was lack of vsplit in screen.Also notable is if you upgrade you can't re-attach to sessions started by an older version of screen.
Last time tmux was updated someone pointed out this surprisingly obvious way to reconnect to and old server after an update: /proc/${pid_of_tmux_server}/exe attach
I would imagine you could to the same for screen.
I'm not so sure. According to the Arch Linux announcement from 4.2.0, the switch screen made was from named pipes to sockets [1]. Presumably this implies they stripped out support for the former in the latest version, which would mean the announcements are valid and it's therefore impossible to reattach an old session.
Although, it didn't matter to me. I usually read release announcements regularly before updating my distribution. It doesn't guarantee that I catch everything (or that I even remember to check), but it does limit the number of surprises I encounter. Completely closing off a few screen instances and restarting them wasn't a huge issue, but it was a mild annoyance.
[1] https://www.archlinux.org/news/screen-420-cannot-reattach-ol...
Keeping the old binary would make sense, though. Evidently that possibility was lost on me. My mistake.
you might find some interesting patches to your use cases in here:
http://git.savannah.gnu.org/cgit/screen.git/log/?h=screen-v4
given that it takes most distros a fairly long time to adopt new software I would say in a sense the screen devs kind of shot themselves in the legs in a way by not making any intermediary releases.
I guess in a way that's a lesson to us all on how you shouldn't act if you want to keep your customer base.
Basically, if I'm going to be rolling out a new (patched) version of screen manually to all my servers/clients, might as well install tmux instead.
I recently started trying out tmux for that purpose as someone told me its memory usage wasn't as creeping. Can't really detect a big difference, though, after a while both of them take up a few hundred megs.
Not close to the vim vs. emacs holy war level. More like emacs vs. xemacs.
Or did I miss some hidden gems of either of them?
> did I miss some hidden gems of either of them?
They're pretty similar. I think I moved to tmux because it was easier to get going in openbsd.An odd advantage I've found for it - there's a great book - Pragmatic Guide to Tmux. It's very thin, yet contained all of the features I thought I wanted, and a couple of more that I didn't know about (including the z thing from above). I like books that are both thin and yet contain everything I want.
My three favorite features of Screen are ones the Tmux devs are strongly against adding.
* Digraphs
* Serial terminal
* Nethack mode
Digraphs are mostly for portability - when ssh-ing from OSX or Windows, I don't need to learn their compose combos. Do "^a ^V | c" and there is a ¢ symbol. It would be nice if the digraph support came from a config file, so new ones could be added.
On the other hand, it makes it a lot easier for multiple people to connect to the same tmux session. In GNU screen (at least prior versions), there was an explicit check for 'uid == 0' before allowing some of the screen-sharing features (iirc). This meant that even if you chmod'd all of the sockets/ttys that needed it, screen would still refuse to operate in that mode unless the process was setuid root.
tmux also supports vi keybinds, big selling point over screen IMO.
I guess this solidifies me good and well in the screen/emacs camp :)
For example, if you had vim, tail -f logfile, and a man page visible, but you'd opened python earlier, you could:
1. Swap out the man page with python
2. Run what you needed in python, update vim, go back to the python pane and
3. Swap the python for the man page
all without losing the splits you'd set up.Once we're happy with it we can dispatch it to the depths of init.
However this isn't allowed in tmux without some hackery / wrapper scripts.
songseed.org/exhibit/20140430/tmux.launcher.sh
If you want to use the default, just do 'tmx'. If you want to have multiple windows, themselves shared between multiple terminals, use a label when you use it. e.g. 'tmx second'.
One thing you might find frustrating is that it resizes all the terminals for the screen size of the smallest. If anyone knows a fix for this, please supply.
You use Ctrl-Alt-F1 through Ctrl-Alt-F6 to fire up multiple terminals, right? You're saying you have screen running on one of those terminals, and then from other terminals you're somehow attaching to different windows of that one screen instance? How's that done?
It sounds pretty clever. What are the advantages of doing it that way?
-x Attach to a not detached screen session. (Multi display mode).I was hoping to hear about their workflow, though. What are the advantages of using that? How does multi display mode fit into their workflow in practice? I could try to think of use cases myself, but I prefer to learn from the experience of others whenever possible.
You are going to need to explain this as it sounds exactly to me what tmux does
I seem to recall that to make it work in Tmux, you need two sessions with the windows attached to both.
Thankfully though, I can have both screen and tmux on my machine, so may day-to-day tool is tmux and screen gets used whenever I need a time machine (which still happens at times)
A quick
screen /dev/ttyS0 115200
beats writing a configuration file, learning another text based stateful UI and working around various instances of your tool trying to be helpful and helping you dialling a modem.Keep in mind that this could be related to the default minicom config my distro shipped back when I was "evaluating" my options, but because screen works totally well for my cases, I've had since zero motivation to go back and give minicom another try.
picocom -b 115200 /dev/ttyS0
It's also got a lot of serial-specific features closer to hand, like changing the baud rate, sending a break, toggling RTS/CTS, etc.Here's to another 10 years of Screen!
The stuff in this link doesn't appear to work... http://unix.stackexchange.com/questions/14142/gnu-screen-mov...
To tab backwards, you call "focus up". It's not bound by default, but you can bind to, say, C-a U:
bind U focus up
and from then on "C-a U" cycles upwards.
and codebase and dependencies, probably. i like that st is < 1000 lines of C.
> It seems a little embarrassing that the linux world is outdone by the OS X world when it comes to terminals.
yeah, there's something to this. i don't think it's just terminals, but they're a good example:
* xterm is the old standard. it's accumulated a lot of cruft because it hearkens back to the days when terminals were separate pieces of hardware.
* urxvt is a new standard: C++ and still a largish codebase, but handles mutt and mc and so on without hiccuping. also, it's scriptable in perl. does iterm2 have an embedded scripting language?
* gnome-terminal (and probably similar from KDE) aren't as large but have a bunch of dependencies and are part of larger projects
so i think it's in part due to fragmented development effort together with the fact that the unix terminal ecosystem carries a lot of dead weight back in the day of there being dozens of hardware terminal vendors that the software had to take into account ... and still does, despite the fact that emulating VT100 is all a software terminal has to take into account these days.
I'd love to expand this concept and do full window manager integration with tmux/screen, actually.
I can't see any problems with having a bottom-tabbed UI with nice tmux keybindings - "C-a 0" to go over to Chrome, quick split of current X view with "C-a %', etc would be phenomenal.
Does anyone know if this exists in some form already?
Anyone know an easily extensible terminal emulator (in Python, preferably) so I could do a proof of concept?
https://github.com/re5et/emux/issues/1 - I can't view the protocol docs from here as Google Drive is blocked today.
Where does it stand in multi-user scheme of work? Suppose I need to give several users access to a certain application running on a remote server. Do I create separate user accounts for each user on that remote server? Do they start a separate display for each user? Where should I ask my noobish questions?
x2go might be an alternative, where you connect to get a complete desktop.
caption always "%?%F%{w}%:%{K}%? %{R}%H%{-} %{B}>>%{-} %L=%{k}%-Lw%45>%{G}%n%f %t%{-}%+Lw%=%{-}%-22<%{B}<<%{-} %{R}%Y-%m-%d %0c:%s%{-}"
Nope, it's still terrible. :)Am I the only one who extensively uses the copy mode?
Will the new version land in any of CentOS repositories? http://wiki.centos.org/AdditionalResources/Repositories
CUI is either "Character User Interface", "Console User Interface", or "Captive User Interface". The first two are mostly orthogonal to "Command Line Interface" (CLI), which can be character based or graphical. The last asserts that the interface fails to play well with the shell, which is nearly always true of GUIs and is frequently true of console programs that make heavy use of ncurses (though not always, and can be true without that).