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 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 installing Alpine you get the root account. We want to create an account that is not root, but can run sudo.
# adduser myname
Where myname is the user name you want to use.
Install sudo so we can add myname to sudoers.
# apk add sudo
Edit the sudoers file by running:
# visudo
Add the newly create account to sudoers. Insert the line after the root definition. 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
Where myname is your username.
Installing Xorg
Run the following command to install X.org:
# doas setup-xorg-base
Configure the community repositories
This is needed so you 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, tell the package manager about the change:
# sudo apk update
Installing dependencies
git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses is needed to install suckless tools from source.
dbus-x11 is needed for the dbus system (enables firefox running in dwm to open in a tile)
The last three adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu are optional, but recommended for 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
Change to the /tmp directory.
# cd /tmp
then execute:
# git clone https://git.suckless.org/dwm
Once downloaded, go to the dwm directory
# cd dwm
To install, run:
# sudo make clean install
Next, go up one directory level
# cd ..
to install dmenu:
# git clone https://git.suckless.org/dmenu
# cd dmenu
# sudo make clean install
Finally, go up one more directory level
# cd ..
to install st:
# git clone https://git.suckless.org/st
# cd st
# sudo make clean install
Setting up your profile
Change 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
Log out or reboot. dwm will run the next time you log in. Press alt+p to launch dmenu. Type firefox then press enter. Firefox will load and run 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.