Dwm: Difference between revisions

From Alpine Linux
No edit summary
Line 5: Line 5:
This guide covers:
This guide covers:


* Creating  a user account that can run sudo
* Installing dependencies for the [https://suckless.org suckless] tools and installing firefox  
* Installing dependencies for the [https://suckless.org suckless] tools and installing firefox  
* Installing from source dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal)
* Installing from source dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal)
Line 11: Line 10:




== Creating a new user account ==
== Configure the community repositories ==
After installing Alpine you get the root account. We want to create an account that is not root, but can run sudo.
This is needed so you can install Firefox. See: [https://wiki.alpinelinux.org/wiki/Post_installation#Repositories Post installation] for information on how to enable the community repository.
{{cmd|# adduser myname}}
Where '''myname''' is the user name you want to use.
 
Install sudo so we can add '''myname''' to sudoers.
{{cmd|# apk add sudo}}
 
Edit the sudoers file by running:
{{cmd|# visudo}}
{{Note|Edit the sudoers file using only '''visudo'''}}
Add the newly create account to sudoers. Insert the line '''after''' the root definition. The relevant section should look like this:
{{cat|/etc/sudoers.tmp|
<pre>
##
## User privilege specification
##
root ALL=(ALL) ALL
myname ALL=(ALL) ALL</pre>}}
 
Switch to the new account
{{cmd|# su myname}} Where '''myname''' is your username.


== Installing Xorg ==
Run the following command to install X.org:
{{cmd|# doas setup-xorg-base}}
== Configure the community repositories ==
This is needed so you can install Firefox. Edit the file with this command:
{{cmd|# doas vi /etc/apk/repositories}}
Uncomment the community line by removing the '''#''' then save the file and exit.
It should look something like this:
{{cat|/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, tell the package manager about the change:
{{cmd|# doas apk update}}


== Installing dependencies ==
== Installing dependencies ==

Revision as of 21:50, 6 December 2021

dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts.

This guide covers:

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


Configure the community repositories

This is needed so you can install Firefox. See: Post installation for information on how to enable the community repository.


Installing dependencies

Note:

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:

# doas 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

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:

# doas make clean install

Next, go up one directory level

# cd ..

to install dmenu:

# git clone https://git.suckless.org/dmenu

# cd dmenu

# doas make clean install

Finally, go up one more directory level

# cd ..

to install st:

# git clone https://git.suckless.org/st

# cd st

# doas 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

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

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.