Is this thing on? It’s been awhile since I last turned this thing on, but better late than never, right?
Organization and efficiency is key for me when operating on a penetration testing assessment. When I first started opping, I felt disorganized and often lost my spot in several different terminals. A good friend, Adam Brown (https://coffeegist.com), turned me onto a tiling manager, i3 and i3-gaps.
For those of you who don’t know, i3 is a windows tiling manager. i3-gaps is an unofficial fork of i3 with additional features. For a list of all the features, I’d highly encourage you to take a look at the above links.
After a quick Google search, I didn’t find much information on how to install i3 and i3-gaps on Kali. When I first looked into it, I came across this article, but it didn’t talk about i3-gaps. Adam had already been working on installing i3-gaps on Kali, so he took care of much of the hard work. What I wanted to do was automate it.
https://github.com/Essex09/Kali-i3gaps-Install
# Install i3 and it's dependencies
echo -e "Installing i3"
apt-get install i3 -y
# i3-gaps Dependencies
echo -e "Installing i3-gaps dependencies"
[snip]
apt-get install -y libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev
# i3-gaps Installation
echo -e "Installing i3-gaps"
mkdir gui && cd gui
git clone https://www.github.com/Airblader/i3 i3-gaps && cd i3-gaps
## Source: https://github.com/Airblader/i3/wiki/Compiling-&-Installing
# Compile & Install
autoreconf --force --install
rm -rf build/
mkdir -p build && cd build/
[snip]
The script I created will download and install i3, i3-gaps, and all necessary dependencies on Kali. In addition, it will install a few packages to “rice” Kali:
- Lxappearance - Theme switcher for icons, fonts, etc
- Nitrogen - View and set wallpaper
- Arc-theme - Flat theme
- Moka-icon-theme - Icon theme
- Rofi - Window switcher and dmenu replacement
- Compton - Standalone compositor
- xfce4-terminal
- xfce4-panel
- Papirus-icon-theme - Icon Theme
- Neofetch - Command line system information tool
The script will not download any i3, rofi, or compton configs. You should build and customize those yourself to your liking. If you don’t know where to start, you can take a look at mine: https://github.com/Essex09/dotfiles. I also recommend checking out this site (https://terminal.sexy/) to help find which colorscheme you like and to quickly export the correct config format.
Once I figured out how to install and customize i3 to my liking, it really helped improve my organization and efficiency. i3 has a ton of shortcuts that will help you jump from workspace to workspace or quickly launch a program. One of the coolest features I like is the scratchpad feature. Scratchpad is a hotkey that you can assign to a window to quickly hide and show it. I often use this as my notepad when I’m operating. There are many more features that you can discover by reviewing the i3 config.
Screenshots
I hope this was helpful and informative. Feel free to try out the script and my configs and let me know what you think on Twitter @Essex09.