Dwm
dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts.
This guide covers:
- Creating a user account that can run as sudo
- Installing dependencies for the suckless tools and installing firefox
- Installing from source dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal)
- Configuring the new profile to run dwm at login.
Creating a new user account
After the install of alpine you get the root account. We want to use a new user account that is not root but will have sudo permissions.
# adduser myname
Where myname is the username you want to use.
Install sudo so we can add myname to sudoers.
# apk add sudo
Edit the sudoers file by running:
# visudo
Add your user account so you can have sudoers. Make your change below root. The relevant section should look like this:
Contents of /etc/sudoers.tmp
## ## User privilege specification ## root ALL=(ALL) ALL myname ALL=(ALL) ALL
Switch to the new account
# su myname
Installing Xorg
Run the following command to install X.org.
# sudo setup-xorg-base
Configuring the community repositories
We need to do this so we can install Firefox. Edit the file with this command:
# sudo vi /etc/apk/repositories
Uncomment the community line by removing the # then save the file and exit. It should look something like this:
Contents of /etc/apk/repositories
Next let the package manager know we made this change:
# sudo apk update
Installing dependencies
git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses are needed to install suckless tools from source.
dbus-x11 is needed for the dbus system (when we run firefox in dwm we want it to open in a tile)
The last three adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu are optional but I recommend them so you can have a nicer looking firefox.The command to install the dependencies:
# sudo apk add git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses dbus-x11 firefox-esr adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu
Go to this directory
# cd /tmp
this is where we will download the source code.
# git clone https://git.suckless.org/dwm
Once downloaded go to the dwm directory
# cd dwm
To install, run:
# sudo make clean install
Next, leave this directory
# cd ..
so we can install dmenu:
# git clone https://git.suckless.org/dmenu
# cd dmenu
# sudo make clean install
Finally, leave this directory
# cd ..
so we can install st:
# git clone https://git.suckless.org/st
# cd st
# sudo make clean install
Setting up your profile
Go to your home directory:
# cd /home/myname
Where myname is your username.
Create .xinitrc:
# vi .xinitrc
Add this line:
Contents of ~/.xinitrc
Save the file and exit vi.
Next, create .profile.:
# vi .profile
Add this line:
Contents of ~/.profile
Contents of ~/.profile
Exit to log out of the system or reboot and when you log in dwm will run. Press alt+p to launch dmenu and start typing firefox. Press enter to run firefox, it will load in tile 9.
- https://pkgs.alpinelinux.org/contents?file=dwm
- "dwm is only a single binary, and its source code is intended to never exceed 2000 SLOC. dwm is customized through editing its source code"
- Awesome
- Raspberry Pi 3 - Browser Client - A guide which omits dwm, but uses similar steps to install firefox in a diskless install on ARM. dwm is not used on the RPI3, due to tmpfs limitations.