FIELD NOTES//HANDS-ON LEARNING//CYBERSECURITY//FIELD NOTES//HANDS-ON LEARNING//CYBERSECURITY//
HOME / FIELD NOTES / TUTORIAL

NULL0X FIELD NOTES // TUTORIAL

Building a Kali Linux i3wm Workstation: Practical Setup Notes

BY DAVIDE VESENTINI (NULL0X)   //   PUBLISHED 2026-10-12   //   PRACTICAL GUIDE

A useful security workstation is defined by how quickly you can move between tasks, how predictable the environment is, and how easily you can recover when a configuration change goes wrong.

1. Start with a known-good baseline

Before changing the desktop, record the current state. Keep a backup of the i3 configuration before editing it:
mkdir -p ~/.config/i3/backup
cp ~/.config/i3/config ~/.config/i3/backup/config.$(date +%F-%H%M%S)
Inspect custom installer scripts or dotfiles before running them. A configuration that works on one machine may assume different keycodes, display settings, or package versions.

2. Choose a modifier key that works in your VM

i3 commonly uses the Super/Windows key as its modifier. In a macOS-hosted virtual machine, key forwarding can differ: Option may arrive as Alt, while Command may be captured by the host. Test which key reaches the guest before adding more shortcuts. A common setting is:
set $mod Mod1
Mod1 is usually Alt; verify behavior in your hypervisor and keyboard layout.

3. Configure a reliable terminal workflow

Kitty can serve as a consistent terminal for shell work and lab sessions. Set a simple launch shortcut first:
bindsym $mod+Return exec kitty
Choose a font that supports your symbols, keep contrast high, and make sure transparency does not reduce readability. Test basic launch and focus behavior before building multi-pane shortcuts.

4. Build repeatable layouts

i3 can restore workspace layouts from JSON using i3-msg append_layout. A launcher can create placeholder containers and then start terminal windows that match the expected window criteria. Test this in a dedicated workspace, inspect the tree with i3-msg -t get_tree, and confirm that each terminal lands in the intended pane. Window classes and startup timing may vary.

5. Validate and maintain the configuration

After each edit, check the configuration before reloading:
i3 -C
i3-msg reload
Keep scripts in a dedicated directory such as ~/.config/i3/scripts/ and layouts in ~/.config/i3/layouts/. Group related keybindings, remove obsolete duplicates, and comment any workaround whose purpose might otherwise be forgotten.

6. Final checklist

A polished i3 environment should make the work easier, not become a project that never ends. Build the minimum useful workflow first, document your shortcuts, then add visual customization.

These are general workstation configuration notes. Test changes in your own environment and use security tools only on systems you own or are explicitly authorized to assess.

MORE FIELD NOTES ›GET IN TOUCH ›