Skip to content

Instantly share code, notes, and snippets.

@doubtingben
Created November 9, 2016 17:20
Show Gist options
  • Star 17 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save doubtingben/60a228c06a48a5b8601ea5e94e4ab22c to your computer and use it in GitHub Desktop.
Save doubtingben/60a228c06a48a5b8601ea5e94e4ab22c to your computer and use it in GitHub Desktop.
Install i3-gaps on Ubuntu 16
Install i3-gaps on Ubuntu 16
apt-get install libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev libxcb-icccm4-dev libyajl-dev libstartup-notification0-dev libxcb-randr0-dev libev-dev libxcb-cursor-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev autoconf xutils-dev dh-autoreconf
git clone --recursive https://github.com/Airblader/xcb-util-xrm.git
cd xcb-util-xrm/
./autogen.sh
make
sudo make install
$ cat > /etc/ld.so.conf.d/i3.conf
/usr/local/lib/
$ sudo ldconfig
$ sudo ldconfig -p
git clone https://www.github.com/Airblader/i3 i3-gaps
cd i3-gaps
autoreconf --force --install
rm -Rf build/
mkdir build
cd build/
../configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
which i3
ls -l /usr/bin/i3
@city41
Copy link

city41 commented Dec 30, 2016

Apparently 16.10 now has xcb-util-xrm as a package, so can just install it with apt.

For me, with 16.04, I got this error when trying to build xcb-util-xrm

/usr/bin/ld: src/.libs/libxcb_xrm_la-database.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
 src/.libs/libxcb_xrm_la-database.o: error adding symbols: Bad value
 collect2: error: ld returned 1 exit status

To get around this, I did "make clean", then went into the Makefile and added "-fPIC" to the CFLAGS variable.

@maestrogerardo
Copy link

Hi,

to install i3-gaps on Debian (>= jessie) or Ubuntu (>= yakkety), check out this tool:

i3-gaps-deb

Cheers!

@city41
Copy link

city41 commented Aug 5, 2017

Nice script, thanks. For anyone else who ends up here, yakkety is Ubuntu 16.10. i3-gaps-deb won't work on 16.04

@maxwellgisborne
Copy link

maxwellgisborne commented Aug 30, 2017

Hey, I was wondering what do the $'s mean at the beginning of some of the lines. If its in front of a string it means variable, when its at the end of a terminal it means nomal user, but I dont know what it means at the beginning of a command with a space after it?
When I try " $ cat > /etc/ld.so.conf.d/i3.conf " my terminal returns Permission denied, even when I put sudo in-front. This is strange because I thought sudo can do everything, thats why its super.
Im using Elementary OS (based on 16.04.1-Ubuntu) btw

@jqtrde
Copy link

jqtrde commented Aug 31, 2017

$ refers to the prompt @maxwellgisborne — you can effectively ignore those. In other words:

echo "hi"

# is the same as

$ echo "hi"

@Qwerty-Space
Copy link

@city41 how do I add that variable?

@jeremysouthard
Copy link

@maxwellgisborne - I was able to get that to run using the following command:

sudo sh -c "cat > /etc/ld.so.conf.d/i3.conf"

The sudo elevation is only for the first command so it's not used to access the directory, hence the permission denied message. Wrapping it in quotes runs it all with the elevation.

@tomterl
Copy link

tomterl commented May 2, 2018

Very helpful - thanks. I'd recommend using checkinstall instead of make install, to have libxcb_xrm and i3-gaps installed as packages

@MichaelBaumgarn
Copy link

cat > /etc/ld.so.conf.d/i3.conf
terminal gets stuck, only responds to ctrl C

same behavior with
sudo sh -c "cat > /etc/ld.so.conf.d/i3.conf"

screenshot from 2018-07-17 22-31-28

@andreyuhai
Copy link

I couldn't get it to work. I mean this just install i3 on my machine and when I add i3-gaps config to my config file I get an error. Any suggestions?
I am running Ubuntu 18.04.5 LTS

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