Seatd: Difference between revisions

From Alpine Linux
(link to seat manager article)
No edit summary
Line 14: Line 14:


If you are already logged in as a <code>$USER</code>, you will need to relogin.
If you are already logged in as a <code>$USER</code>, you will need to relogin.
= Seatd and Sway =
seatd is the light weight solution for [[sway]] compared to [[elogind]]. To start [[sway]] manually with seatd following three things are necessary:
== Configuring XDG_RUNTIME_DIR ==
Set the variable [[XDG_RUNTIME_DIR]].
== Environement variables ==
Additional environement variables needs to be set properly for [[sway]] to work properly, if started manually.
{{Cat|~/.profile|<nowiki>
#Environment variables required for sway to work with seatd
export XDG_SESSION_TYPE=wayland
export XDG_CURRENT_DESKTOP=sway
export LIBSEAT_BACKEND=seatd
</nowiki>}}
If you are planning to use [[Greetd]], a light weight login manager instead of {{Pkg|gdm}} or [[SDDM]] the below section does not apply. However the above two sections are still needed.
== start sway+seatd manually with D-Bus ==
When using seatd, [[sway]] must be started with [[D-Bus]] so that [[PipeWire]] and other such [[D-Bus]] dependenant services can work without issues.
{{Cat|~/.profile|<nowiki>
#Start sway with DBUS (Manual method)
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
    exec dbus-run-session sway -d 2> ~/sway_error.log
fi
</nowiki>}}
Ensure that your shell reads and executes the above if condition in .profile. {{Pkg|bash}} works with the above code. For other shells, make necessary changes.
If you are using [[elogind]] then the above code snippets are not required.


[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Seat_manager]]
[[Category:Seat_manager]]
[[Category:Sway]]
[[Category:Wayland]]

Revision as of 17:46, 1 August 2024

Seatd is a seat manager and provides user sessions (mostly compositors) with access to input and output devices.

See the seatd documentation for further details.

When using elogind, seatd is not required and viceversa.

Installation

apk add seatd # install seatd rc-update add seatd # configure it to auto-start service seatd start # start it now adduser $USER seat # allow current user to access seatd

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

Seatd and Sway

seatd is the light weight solution for sway compared to elogind. To start sway manually with seatd following three things are necessary:

Configuring XDG_RUNTIME_DIR

Set the variable XDG_RUNTIME_DIR.

Environement variables

Additional environement variables needs to be set properly for sway to work properly, if started manually.

Contents of ~/.profile

#Environment variables required for sway to work with seatd export XDG_SESSION_TYPE=wayland export XDG_CURRENT_DESKTOP=sway export LIBSEAT_BACKEND=seatd

If you are planning to use Greetd, a light weight login manager instead of gdm or SDDM the below section does not apply. However the above two sections are still needed.

start sway+seatd manually with D-Bus

When using seatd, sway must be started with D-Bus so that PipeWire and other such D-Bus dependenant services can work without issues.

Contents of ~/.profile

#Start sway with DBUS (Manual method) if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then exec dbus-run-session sway -d 2> ~/sway_error.log fi

Ensure that your shell reads and executes the above if condition in .profile. bash works with the above code. For other shells, make necessary changes.


If you are using elogind then the above code snippets are not required.