[Toybox] Screen vs. tmux (was: optional fatter cat(1))
Rob Landley rob@... wrote: I plan to implement vi over the next year, but it's one of the four realy big commands required by posix (sed, awk, sh, vi) and I've been debugging sed against real-world data for _weeks_ now. [...] There are some others (the kernel build requires bc now, if I'm doing less and vi I should be able to do screen, and rsync is really useful...) but right now I'm focused on the list for 1.0, and there are a lot of smaller commands (and the giant backlog of pending cleanups) that could get knocked off the list faster... In this message, I will tell you why I think toybox should emulate tmux instead of GNU Screen. Let me begin. GNU Screen, a terminal multiplexer, is very useful. Still, I've since switched to tmux. It's a newer terminal multiplexer, and is BSD-licensed. It is true that GNU Screen has now started making releases again for the first time in half a decade. Still, I like tmux so much that I don't plan to switch back to Screen. tmux makes certain operations easier.[1] For example: It ships with preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let you jump to low-numbered windows in just a few keystrokes. Another example: To renumber a window, you need only hit five keys (C-b . 9 RET), instead of nine (C-a : n u TAB 9 RET). tmux is also easier to learn. For example: It shows a status line (tab bar) by default, instead of forcing users to mess with complex configuration options just to get a status line. See screenshot[2]. tmux is included in the software repositories of Ubuntu, Debian stable, and other distros. tmux's basic keybindings are fairly similar to Screen's. But, instead of Ctrl+A, tmux's default prefix is Ctrl+B. (This is reconfigurable.) You can find a tmux reference card[3] on the Web. Dear Rob: I know you mention Screen in your todo.txt file[4]. But please consider instead mentioning tmux. Those who are familiar only with good old Screen can either adapt to the nicer user interface that tmux provides, or can download and install Screen themselves. Cheers, --Jason P.S. I thank everyone on this list for maintaining Toybox. My next Android device will be a more pleasant to work with, thanks to you all. ^ [1]. http://www.techrepublic.com/blog/linux-and-open-source/is-tmux-the- gnu-screen-killer/ ^ [2]. http://tmux.sf.net/tmux3.png ^ [3]. http://www.mechanicalkeys.com/files/os/notes/tm.html ^ [4]. http://www.landley.net/code/toybox/todo.txt ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
Re: [Toybox] Screen vs. tmux (was: optional fatter cat(1))
On Mon, 29 Dec 2014 03:12:03 + (UTC) Jason Spiro jasonspi...@gmail.com wrote: Rob Landley rob@... wrote: I plan to implement vi over the next year, but it's one of the four realy big commands required by posix (sed, awk, sh, vi) and I've been debugging sed against real-world data for _weeks_ now. [...] There are some others (the kernel build requires bc now, if I'm doing less and vi I should be able to do screen, and rsync is really useful...) but right now I'm focused on the list for 1.0, and there are a lot of smaller commands (and the giant backlog of pending cleanups) that could get knocked off the list faster... In this message, I will tell you why I think toybox should emulate tmux instead of GNU Screen. Well, if I can go ahead with my plans for boxes for toybox, which will eventually include a screen / tmux type system, then no one has to convince me to make it more like tmux than screen. I fully agree with you, tmux is much better, it's what I use. I've configured tmux to be friendly to screen users in the past, and convinced one of my clients to switch to it. Actually, he convinced himself with the phrase h, you can resize the window panes with your mouse. Mind you, he was resizing MY window panes from another computer at the time, which annoyed me watching from the other side of the city. lol Let me begin. GNU Screen, a terminal multiplexer, is very useful. Still, I've since switched to tmux. It's a newer terminal multiplexer, and is BSD-licensed. It is true that GNU Screen has now started making releases again for the first time in half a decade. Still, I like tmux so much that I don't plan to switch back to Screen. From my point of view tmux seems to be better designed. tmux makes certain operations easier.[1] For example: It ships with preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let you jump to low-numbered windows in just a few keystrokes. Another example: To renumber a window, you need only hit five keys (C-b . 9 RET), instead of nine (C-a : n u TAB 9 RET). tmux is also easier to learn. For example: It shows a status line (tab bar) by default, instead of forcing users to mess with complex configuration options just to get a status line. See screenshot[2]. tmux is included in the software repositories of Ubuntu, Debian stable, and other distros. tmux's basic keybindings are fairly similar to Screen's. But, instead of Ctrl+A, tmux's default prefix is Ctrl+B. (This is reconfigurable.) I do generally configure the hot key and a few others for screen compatibility. So that if I ever have to use screen, then I know what to do, and others used to screen can still use my tmux installs. Tmux is also built for scripting, which is hard for screen. I have a script that, for instance, connects to a tmux session, switches through particular windows in that session, issuing commands to each window, to automate some backups, running from a cron job. The other sysadmin for that server had originally used screen, coz she didn't know about tmux, and completely failed to get screen to be able to do anything like that. You can find a tmux reference card[3] on the Web. Dear Rob: I know you mention Screen in your todo.txt file[4]. But please consider instead mentioning tmux. Those who are familiar only with good old Screen can either adapt to the nicer user interface that tmux provides, or can download and install Screen themselves. In the end, I'll likely do what I did for the boxes based editors, make it generic, and allow people to build their own variations easily. So screen and tmux users will both be happy. After all, the boxes based editors already support all the editors / pagers on the toybox roadmap (except sed), and a couple more. -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world. signature.asc Description: PGP signature ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
Re: [Toybox] Screen vs. tmux (was: optional fatter cat(1))
Once upon a time, the serial issue would have kept me using screen. But, these days I use picoterm as the minimal pty--serial connector, and that works as well with tmux as screen's own serial handling worked with screen. It also works well without any multiplexer, just letting your (virtual) terminal handle whatever escape codes are coming, so my smaller utility images only have to include the tiny picocom binary rather than the much bigger screen (or tmux+picocom) binary. Picoterm itself is unfortunately GPL, but it's also pretty simple; basically just abstracts the serial-pty and the console-pty stuff and plugs them together with a limited set of command keys for exit, baud-up/down, etc, and for launching rzsz-style file-transfer programs. For people who use serial devices on a regular basis, this is very useful. I am *very* carefully resisting the urge to ask that it be in toybox, at least until after everything already on the list is done :) If boxes has a picocom toy, I'll be very happy... if not, I'll eventually make the time to try to contribute one. Since terminal-side and serial-side are pretty much a matter of doing the same thing for different reasons, it might not even significantly change the size of the binary... On Mon, Dec 29, 2014 at 3:50 AM, David Seikel onef...@gmail.com wrote: On Mon, 29 Dec 2014 03:12:03 + (UTC) Jason Spiro jasonspi...@gmail.com wrote: Rob Landley rob@... wrote: I plan to implement vi over the next year, but it's one of the four realy big commands required by posix (sed, awk, sh, vi) and I've been debugging sed against real-world data for _weeks_ now. [...] There are some others (the kernel build requires bc now, if I'm doing less and vi I should be able to do screen, and rsync is really useful...) but right now I'm focused on the list for 1.0, and there are a lot of smaller commands (and the giant backlog of pending cleanups) that could get knocked off the list faster... In this message, I will tell you why I think toybox should emulate tmux instead of GNU Screen. Well, if I can go ahead with my plans for boxes for toybox, which will eventually include a screen / tmux type system, then no one has to convince me to make it more like tmux than screen. I fully agree with you, tmux is much better, it's what I use. I've configured tmux to be friendly to screen users in the past, and convinced one of my clients to switch to it. Actually, he convinced himself with the phrase h, you can resize the window panes with your mouse. Mind you, he was resizing MY window panes from another computer at the time, which annoyed me watching from the other side of the city. lol Let me begin. GNU Screen, a terminal multiplexer, is very useful. Still, I've since switched to tmux. It's a newer terminal multiplexer, and is BSD-licensed. It is true that GNU Screen has now started making releases again for the first time in half a decade. Still, I like tmux so much that I don't plan to switch back to Screen. From my point of view tmux seems to be better designed. tmux makes certain operations easier.[1] For example: It ships with preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let you jump to low-numbered windows in just a few keystrokes. Another example: To renumber a window, you need only hit five keys (C-b . 9 RET), instead of nine (C-a : n u TAB 9 RET). tmux is also easier to learn. For example: It shows a status line (tab bar) by default, instead of forcing users to mess with complex configuration options just to get a status line. See screenshot[2]. tmux is included in the software repositories of Ubuntu, Debian stable, and other distros. tmux's basic keybindings are fairly similar to Screen's. But, instead of Ctrl+A, tmux's default prefix is Ctrl+B. (This is reconfigurable.) I do generally configure the hot key and a few others for screen compatibility. So that if I ever have to use screen, then I know what to do, and others used to screen can still use my tmux installs. Tmux is also built for scripting, which is hard for screen. I have a script that, for instance, connects to a tmux session, switches through particular windows in that session, issuing commands to each window, to automate some backups, running from a cron job. The other sysadmin for that server had originally used screen, coz she didn't know about tmux, and completely failed to get screen to be able to do anything like that. You can find a tmux reference card[3] on the Web. Dear Rob: I know you mention Screen in your todo.txt file[4]. But please consider instead mentioning tmux. Those who are familiar only with good old Screen can either adapt to the nicer user interface that tmux provides, or can download and install Screen themselves. In the end, I'll likely do what I did for the boxes based editors, make it generic, and allow people to build