From Alpine Linux
Revision as of 06:41, 23 October 2019 by Innsill (talk | contribs) (+ link Awesome)
Jump to: navigation, search

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 dependancies for the suckless tools and installing firefox
  • Installing from source dwm (dynamic windows 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 sudoers.

# adduser myname

Where myname is the name you want to use

Install sudo so we can add myname to sudoers

# apk add sudo

edit the sudores file by running:

# visudo

Note: Only edit the sudoers file using 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

# 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

#/media/cdrom/apks http://linorg.usp.br/AlpineLinux/v3.9/main http://linorg.usp.br/AlpineLinux/v3.9/community #http://linorg.usp.br/AlpineLinux/edge/main #http://linorg.usp.br/AlpineLinux/edge/community #http://linorg.usp.br/AlpineLinux/edge/testing

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

Installing suckless tools dwm, dmenu, and st from source

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

next 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 profile

# cd /home/myname

Where myname is the name of your profile

create .xinitrc

# vi .xinitrc

add this line

Contents of ~/.xinitrc

exec dwm

save the file and exit vi

next create .profile

# vi .profile

add this line

Contents of ~/.profile

Note: If you install additional programs that call your `$SHELL` with the POSIX `-l` login flag, you'll need to make launching `startx` conditional, otherwise X will attempt to launch every time your shell is called with the login flag.

Contents of ~/.profile

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then startx fi

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.