Dwm: Difference between revisions

From Alpine Linux
No edit summary
Line 88: Line 88:
startx}}
startx}}


{{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.
{{cat|~/.profile|
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
    startx
fi
}}
|gotchas}}
exit to log out of the system or reboot and when you log in dwm will run.  
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.
Press alt+p to launch dmenu and start typing firefox. Press enter to run firefox, it will load in tile 9.

Revision as of 20:00, 7 July 2019

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

Note:

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

startx
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.