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

This comment has been minimized.

Copy link

@senavis senavis commented Jun 2, 2015

Awesome & thanks!

@gegged

This comment has been minimized.

Copy link

@gegged gegged commented Jan 2, 2016

configure: error: "libevent not found"

Any ideas?

@jo32

This comment has been minimized.

Copy link

@jo32 jo32 commented Feb 7, 2016

Awsome works!

@clx123

This comment has been minimized.

Copy link

@clx123 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

This comment has been minimized.

Copy link

@Chinney 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

This comment has been minimized.

Copy link

@kettro 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
You can’t perform that action at this time.