tmux

Rating: 
5
Your rating: None Average: 5 (3 votes)

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

# Usage

tmux

After executing tmux in your terminal, use Ctrl+b by default to enable the prefix mode and then issue any keybinding or option. For instance, to create a new window inside your terminal, press Ctrl+b then c, and Ctrl+b then [0-9] to switch between windows, turning your terminal into a window manager. To split a terminal window horizontally, press Ctrl+b followed by %. Ctrl+b followed by " for vertical splitting. Ctrl+b then hold b and press arrow keys to resize tiles (works in Fingerterm, Havoc and Literm; works only after refreshing with Ctrl+b then Space in Toeterm). If you closed your terminal application without interrupting tmux, you can reattach the running tmux server into a new terminal or from ssh using "tmux attach -t SERVER-NAME" where SERVER-NAME is "0" by default for the first server (but you can create additional servers and rename them).

This package provides tmux 3.1b, a newer version than the package uploaded in 2016 by akssri. For convenience, tpm (tmux plugin manager), tmux-sensisble and tmux-resurrect are also bundled in. To save your tmux layout and windows with tmux-resurrect, use Ctrl+b then Ctrl+s. You can then use Ctrl+b then Ctrl+r to restore, even after reboot. By default, only a small number of programs are allowed for restoration, but you can uncomment the option to allow all programs in /etc/tmux.conf or, preferably, add the same option in ~/.tmux.conf.

You can directly issue commands in new tmux sessions using tmux new [command]. Complex tmux layouts and commands can be set up in advance with aliases in ~/.bashrc, commands in qCommands, or custom Exec lines in .desktop files.

See an example cheatsheet at https://gist.github.com/MohamenAlaa/2961058/.

Custom options can be set in a ~/.tmux.conf file. See guidelines at https://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/.

tmux depends on libevent, which should be automatically resolved when installing this tmux package.

# Disclaimer
I am not the developer of tmux, I just packaged it for SFOS. tmux is being actively developed by Jason Long and contributors, but that does not include the SFOS package, which may or may not be updated in the future.
 

 

Screenshots: 
Application versions: 
AttachmentSizeDate
File tmux-3.1b-1.armv7hl.rpm1.95 MB04/06/2020 - 18:50
File tmux-3.1b-2.armv7hl.rpm1.96 MB14/06/2020 - 01:28
Changelog: 

* Sat Jun 13 2020 Kabouik <matf[redactedforbots]disr.it> 3.1b Rel. 2
- Update with latest libevent dependency, move to /usr/bin instead of /usr/local/bin.
* Thu Jun 5 2020 Kabouik <matf[redactedforbots]disr.it> 3.1b
- Include tpm, tmux-sensible, tmux-resurrect, and reflect in /etc/tmux.conf,.
* Sun May 31 2020 Kabouik <matf[redactedforbots]disr.it> 3.1b
- Repackaged to include default conf in /etc/tmux.conf.
* Sun May 24 2020 Kabouik <matf[redactedforbots]disr.it> 3.1b
- First SFOS package based on the 3.1b release.
 

Comments

ekari's picture

devel-su zypper if libevent says this:

Repository     : openrepos-NielDK
Name           : libevent
Version        : 2.1.8-10.2.2.jolla
Arch           : armv7hl
Vendor         : meego
Installed Size : 2.1 MiB
Installed      : Yes
Status         : up-to-date
Source package : libevent-2.1.8-10.2.2.jolla.src

And devel-su pkcon install tmux ends up with:

Fatal error: tmux-3.1b-1.armv7hl requires libevent-2.0.so.5, but this requirement cannot be provided
Kabouik's picture

Now that is weird, I use the same openrepos-NielDK repository but I do not have the same version despite a zypper ref:

[nemo@Sailfish ~]$ devel-su zypper if libevent
Password:
Loading repository data...
Reading installed packages...


Information for package libevent:
---------------------------------
Repository     : openrepos-NielDK                               
Name           : libevent                                       
Version        : 2.0.21-0                                       
Arch           : armv7hl                                        
Vendor         :                                                
Installed Size : 1.9 MiB                                        
Installed      : Yes (automatically)                            
Status         : up-to-date                                     
Source package : libevent-2.0.21-0.src                          
Summary        : Abstract asynchronous event notification library

Can you try the following? Don't confirm the uninstallation if it asks you to uninstall anything else than libevent and tmux:

devel-su zypper lr # Here make sure that you can see NielDK's repo
devel-su zypper remove libevent
devel-su zypper ref
devel-su zypper install tmux

I just tried on my device and it successfully reinstalled libevent and tmux on the fourth line.

ekari's picture

Thanks, that did the trick! Now that I think about it, I might have tried some other libevent-package before the NielDK one...

But all in all, I now have working tmux on my pocket. Thanks again! (...now I'll just sit and wait while *someone* packages neovim for me ;))

Kabouik's picture

Excellent. I might edit the description to specifically recommend NielDK's version. Please let me know if you have issues with utf-8 characters inside tmux but not outside.

I'm just learning packaging so I can't promise anything, but I will check if neovim would be hard to build on SFOS (i.e., if it needs too many dependencies). If doable, I'll try to do it. I have other packages in mind I would like to do first though (all cli-tools too).

Just out of curiosity, do you use tmux on a phone with a hardware keyboard, or with virtual keyboard only? Or for SSH?

ekari's picture

There is a Neovim package by lourens https://openrepos.net/content/lourens/neovim , maybe that could be of use to get things going.

I use most terminal apps via ssh, and now tmux too :)

ekari's picture

Hi, thanks for the package. However, trying to install tmux, I get an error for not having libevent (libevent-2.0.so.5). What package provides the correct version?

Kabouik's picture

Hi ekari. I have NielDK's version, which you can get from Openrepos.net here. If that does not work, please install zypper with:

devel-su pkcon install zypper

and post the output of:

devel-su zypper if libevent