River: Difference between revisions

From Alpine Linux
Line 28: Line 28:
apk add sudo && visudo}}
apk add sudo && visudo}}


Logout and log back in as the new user.
Logout and log back in as the new user.
Test ssh login from a remote computer.
Test ssh login from a remote computer.
Verify that you can run commands with sudo.
Verify that you can run commands with sudo.


The following links contain guides for setting up the video stack.
The following links contain guides for setting up the video stack.

Revision as of 13:52, 11 November 2021

River is a dynamic tiling Wayland compositor. An introduction to River can be found in this blog post by the author for the 0.1.0 release.

This wiki was written starting from a fresh install using the Alpine 3.14.2 x86_64 extended .iso. The steps begin from the first reboot after running setup-alpine and performing a sys install to disk.

First Boot

On the first boot after a new Alpine installation, there are some basic system configuration tasks typically done regardless of whether you plan to run a GUI desktop or not. These are the steps I run through:

Login as root, create a new user and update group membership:

adduser sodface addgroup sodface audio addgroup sodface input addgroup sodface video addgroup sodface wheel

Edit the repositories file and uncomment the community and testing repos:

Contents of /etc/apk/repositories

http://dl-cdn.alpinelinux.org/alpine/v3.14/main http://dl-cdn.alpinelinux.org/alpine/v3.14/community #http://dl-cdn.alpinelinux.org/alpine/edge/main #http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing

Install sudo and run visudo, uncommenting the desired permissions for the wheel group:

apk update apk add sudo && visudo

Logout and log back in as the new user. Test ssh login from a remote computer. Verify that you can run commands with sudo.

The following links contain guides for setting up the video stack.

Add yourself to the input and video groups:

# adduser $USER input
# adduser $USER video

You have to log out and back in for this to take effect.

Install some TTF fonts:

# apk add ttf-dejavu

Since sway 1.6.1 (more specifically, since wlroots 0.14), you need to set up libseat backend if you wish to run sway directly (without nesting it in another wayland compositor). To do that, choose one of the following methods:

seatd daemon
# apk add seatd
# rc-update add seatd
# rc-service seatd start
# adduser $USER seat

If you are already logged in as a $USER, you will need to relogin.

seatd-launch
# apk add seatd-launch

When starting sway, you will need to prefix invocation with seatd-launch. Note: seatd-launch is a suid binary, so it might be wise to use one of the other methods from a security perspective.

elogind daemon
TODO

Installation

We can now install sway:

# apk add sway sway-doc
# apk add                \ # Install optional dependencies:
    xwayland             \ # strongly reccommended for compatibility reasons
    alacritty            \ # default terminal emulator
    dmenu                \ # default application launcher
    swaylock             \ # lockscreen tool
    swayidle               # idle management (DPMS) daemon

Running Sway

To run sway, first set XDG_RUNTIME_DIR to a suitable location (e.g. /tmp). Install & configure elogind to skip this step. Then run sway from the Linux console:

$ XDG_RUNTIME_DIR=/tmp sway

(if you run sway with seatd-launch, you will need to use $ XDG_RUNTIME_DIR=/tmp seatd-launch sway)

See the Wayland page for a permanent configuration

Note:

swaylock needs to be able to read your /etc/shadow file to be able to validate your password

Configuration and Usage

An example config is provided at /etc/sway/config. Copy it to ~/.config/sway/config and read through it to learn the default keybindings.

For additional information, start at man 5 sway and read the upstream FAQ.