Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
bash script for installing tmux without root access.Updated to include latest Tmux version and some other minor changes
#!/bin/bash
# Source: https://gist.github.com/ryin/3106801
# Script for installing tmux on systems where you don't have root access.
# tmux will be installed in $HOME/local/bin.
# It's assumed that wget and a C/C++ compiler are installed.
# exit on error
set -e
TMUX_VERSION=1.9
# create our directories
mkdir -p $HOME/local $HOME/tmux_tmp
cd $HOME/tmux_tmp
# download source files for tmux, libevent, and ncurses
wget -O tmux-${TMUX_VERSION}.tar.gz http://sourceforge.net/projects/tmux/files/tmux/tmux-${TMUX_VERSION}/tmux-${TMUX_VERSION}.tar.gz/download
wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz
# extract files, configure, and compile
############
# libevent #
############
tar xvzf libevent-2.0.21-stable.tar.gz
cd libevent-*
./configure --prefix=$HOME/local --disable-shared
make
make install
cd ..
############
# ncurses #
############
tar xvzf ncurses-5.9.tar.gz
cd ncurses-*
./configure --prefix=$HOME/local
make
make install
cd ..
############
# tmux #
############
tar xvzf tmux-${TMUX_VERSION}.tar.gz
cd tmux-${TMUX_VERSION}
./configure CFLAGS="-I$HOME/local/include -I$HOME/local/include/ncurses" LDFLAGS="-L$HOME/local/lib -L$HOME/local/include/ncurses -L$HOME/local/include"
CPPFLAGS="-I$HOME/local/include -I$HOME/local/include/ncurses" LDFLAGS="-static -L$HOME/local/include -L$HOME/local/include/ncurses -L$HOME/local/lib" make
cp tmux $HOME/local/bin
cd ..
# cleanup
rm -rf $HOME/tmux_tmp
echo "$HOME/local/bin/tmux is now available. You can optionally add $HOME/local/bin to your PATH."
# e.g. to export path
# export PATH=$PATH:/path/to/dir1
@senavis
Copy link

senavis commented Jun 2, 2015

Awesome & thanks!

@gegged
Copy link

gegged commented Jan 2, 2016

configure: error: "libevent not found"

Any ideas?

@jo32
Copy link

jo32 commented Feb 7, 2016

Awsome works!

@clx123
Copy link

clx123 commented Feb 9, 2016

My installation was successful but colors not working.even status bar color not changing. Its always white.
terminal session misbehaves.
Help?

@Chinney
Copy link

Chinney commented Feb 16, 2016

I got the error
configure: error: "libevent not found"
aswell. Had a look around, exchanged lib with lib64 and it worked

Thank You!

@kettro
Copy link

kettro commented May 16, 2016

2 things:
1- the ncurses download is a 301 and a 404. Get it from their github.io page
2 -I had issues with finding gcc in ./conigure for tmux:

For installing in $HOME/usrbin/ I used:

./configure --prefix=$HOME/usrbin/ CFLAGS="-I$HOME/usrbin/local/include -I$HOME/usrbin/local/include/ncurses" LDFLAGS="-L$HOME/usrbin/local/lib -L$HOME/usrbin/local/include/ncurses -L$HOME/usrbin/local/include"

I also was using ncurses 6.0 and libevent 2.0.21

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment