Both terminal multiplexers (screen, tmux) and keyboard-driven tiling window managers (ratpoison, dwm, xmonad) provide similar functionality. Is there any benefit in using both at the same time? What about problems that may arise?
Does a terminal multiplexer have any benefit when used with a tiling window manager
gnu-screenterminal-multiplexertiling-wmtmuxxmonad
Related Solutions
Let me see if I have deciphered your screen configuration correctly:
- You use something like
logfile "%t-screen.log"
(probably in a.screenrc
file) to configure the name of the log file that will be started later. - You use the
title <hostname>
(C-a A) screen command to set the title of a new window, or
you doscreen -t <hostname> ssh0 <hostname>
to start a new screen session. - You use the C-a H (C-a :log) screen command to toggle logging to the configured file.
If so, then is nearly equivalent (requires tmux 1.3+ to support #W in the pipe-pane
shell command; pipe-pane
is available in tmux 1.0+):
In a configuration file (e.g.
.tmux.conf
):bind-key H pipe-pane -o "exec cat >>$HOME/'#W-tmux.log'"
- Use
tmux rename-window <hostname>
(C-b ,) to rename an existing window, or
usetmux new-window -n <hostname> 'ssh <hostname>'
to start a new tmux window, or
usetmux new-session -n <hostname> 'ssh <hostname>'
to start a new tmux session. - Use C-b H to toggle the logging.
There is no notification that the log has been toggled, but you could add one if you wanted:
bind-key H pipe-pane -o "exec cat >>$HOME/'#W-tmux.log'" \; display-message 'Toggled logging to $HOME/#W-tmux.log'
Note: The above line is shown as if it were in a configuration file (either .tmux.conf
or one you source
). tmux needs to see both the backslash and the semicolon; if you want to configure this from the a shell (e.g. tmux bind-key …
), then you will have to escape or quote both characters appropriately so that they are delivered to tmux intact. There does not seem to be a convenient way to show different messages for toggling on/off when using only a single binding (you might be able to rig something up with if-shell
, but it would probably be ugly). If two bindings are acceptable, then try this:
bind-key H pipe-pane "exec cat >>$HOME/'#W-tmux.log'" \; display-message 'Started logging to $HOME/#W-tmux.log'
bind-key h pipe-pane \; display-message 'Ended logging to $HOME/#W-tmux.log'
The answer to your first question is: No.
But, there are window managers that can be configured to look and behave almost exactly like you want.
The answer to your second question is: Yes.
There are several window managers that are easy to use, without needing to configure them. However, what is percieved as "ease of use", varies from user to user and also depends on which system(s) they are used to before. If you're used to Windows 95, IceWM might work for you. If you're used to Windows XP, Gnome 2 or KDE might do the trick. It's also usually possible to "theme" windowmanagers and make them look like other systems. Some windowmanagers doesn't look anything like Windows, but are relatively easy to use, like BlackBox, OpenBox and PekWM. Good luck finding one that suits you.
Best Answer
I use dwm and tmux. Before learning to use tmux, I would have multiple terminals open for different things, and have them in different tags. Now I can run everything inside of one tmux session, under a single tag, and can detach and reattach without losing state if I need to restart X.