Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Tmuxp – Manage tmux workspaces through Python objects (readthedocs.org)
46 points by rachbelaid on Nov 1, 2013 | hide | past | favorite | 10 comments


Related is Tmuxinator[0] of which I've been a big fan.

Looks like tmuxp gives pythonistas a more robust interface [1], although I'm not sure I'll ever need to unit test tmux configs.

[0]: https://github.com/aziz/tmuxinator

[1]: http://tmuxp.readthedocs.org/en/latest/about.html#difference...


Could anybody comment on the practical difference between tmux and using a tiling wm?


1) Your work will survive the need to restart your WM, or X itself. Pretend for a moment that you run NVidia drivers, which kill X hard, and you're dumped to GDM or similar with no warning. Your state is preserved.

2) Your work/state can be remotely accessed, assuming e.g. you work primarily on a desktop, and you wish to go home, and pick up where you left off, via VPN.


You can also use it to run things like a daemon. For instance rtorrent does not have a daemon mode because you can use screen or tmux to "hide" it by running it in tmux and then detaching. You can then re-attach to the processes to interact with them later. You could probably do this with tags in a tiling WM. I like to do this with rtorrent and pianobar (command line www.pandora.com client).


I use it all the time when doing stuff on the server(s). Log in with ssh, start tmux, and then do whatever. If the ssh session dies, when I reconnect I can keep going. You can leave tasks going (say a long find command, or sorting out log files, or du or whatever, so that you can come back later and keep going.

In terms of use, it's pretty similar to a tiling wm, just in the terminal, that works over ssh as a session, that you can share between people, or screens. So you can open the same set of windows on multiple computers simultaniously.

Say have a raspberry pi with an el cheapo monitor up above your desk, monitoring something, then log in with your workstation, do stuff, and leave it going, still being monitored on the pi the whole time.

Session sharing with colleagues works well as well.


tmux and i3 seem largely equivalent (working on the basis of arbitrarily nested horizontal splits, vertical splits, and tabs); tmux works on the server side with detach and reattach; i3 supports things other than terminal apps; neither supports using the mouse to drag & drop tiles for rearranging (that being the only thing that makes me not bother using i3 regularly)


The biggest one for me is SSH access. You can keep your workspace in a tmux session that you can always get to remotely via ssh.


Why should I use tmux over screen?


𝗩𝗶𝗱𝗲𝗼:

• http://www.youtube.com/watch?v=QxTse5Elq8s ❝Screen vs. tmux faceoff❞ (Jon Jensen, 2012 UTOSC)

𝗥𝗲𝗮𝗱𝗶𝗻𝗴𝘀:

• http://tmux.cvs.sourceforge.net/viewvc/tmux/tmux/FAQ (Notably, the section entitled ❝How is tmux different from GNU screen?❞ at the top.)

• http://unix.stackexchange.com/questions/549/tmux-vs-gnu-scre...

• http://www.wikivs.com/wiki/Screen_vs_tmux (Incomplete and lacking, but leaving this link here anyway.)


I switched because it has vertical and horizontal splitting (although I think screen has this too now) and because my vim colorscheme looked different in a normal vte than it did in screen. Screen seemed to have problems handling transparency. The status line in tmux is slightly easier to deal with. adding:

unbind C-b

set -g prefix C-a

to your .tmux.conf makes most keybindings the same.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: