Seatd: Difference between revisions
(link to seat manager article) |
Prabuanand (talk | contribs) (added reference wrapper script, rephrased headings and sentence) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Seatd is a | Seatd is a seat management daemon, that does everything it needs to do. Nothing more, nothing less. Depends only on libc. Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root. | ||
When using [[elogind]], seatd is not required and viceversa. Don't add both to auto-start. | |||
== Installation == | |||
= Installation = | |||
{{Cmd|apk add {{Pkg|seatd}} # install seatd | {{Cmd|apk add {{Pkg|seatd}} # install seatd | ||
Line 14: | Line 12: | ||
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. | ||
== Configuration == | |||
Seatd is the light weight solution for [[sway]] and other [[Wayland]] compositors compared to [[elogind]]. When using seatd, few mandatory steps are to be performed. | |||
=== Configure XDG_RUNTIME_DIR === | |||
Set the variable [[XDG_RUNTIME_DIR]]. This step is required for all [[Wayland]] compositors. | |||
=== Environment variables === | |||
Additional environment variables needs to be set for all [[Wayland]] compositors to work properly with seatd: | |||
* <code>XDG_SESSION_TYPE=wayland</code> | |||
* <code>LIBSEAT_BACKEND=seatd</code> | |||
* <code>XDG_CURRENT_DESKTOP=sway</code> | |||
The variable <code>XDG_CURRENT_DESKTOP</code> must be suitably adjusted for other [[:Category:Compositor|Compositors]]. | |||
=== Seatd and Sway === | |||
When using seatd, [[sway]] must be started with above [[#Environment variables|Environment variables]] and [[D-Bus]] as shown below: | |||
{{Cat|~/.profile|<nowiki> | |||
# Environment variables required for seatd | |||
export XDG_SESSION_TYPE=wayland | |||
export LIBSEAT_BACKEND=seatd | |||
export XDG_CURRENT_DESKTOP=sway | |||
export XDG_VTNR=$(basename "$(tty)" | sed 's/tty//') | |||
#Start sway with DBUS (only in TTY1) | |||
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then | |||
exec dbus-run-session sway | |||
fi | |||
</nowiki>}} | |||
Ensure that your shell reads and executes the '''if''' condition in {{Path|.profile}}. Sway can also be launched with a [[Sway#Starting_sway|wrapper script]] with seatd. If using [[elogind]], then none of the above code snippets are required. | |||
== See Also == | |||
* [https://man.sr.ht/~kennylevinsen/seatd/ seatd documentation] | |||
* [https://github.com/swaywm/sway/wiki/Setting-environmental-variables sway wiki] | |||
[[Category:Desktop]] | [[Category:Desktop]] | ||
[[Category:Seat_manager]] | [[Category:Seat_manager]] | ||
[[Category:Wayland]] |
Latest revision as of 09:30, 11 December 2024
Seatd is a seat management daemon, that does everything it needs to do. Nothing more, nothing less. Depends only on libc. Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root.
When using elogind, seatd is not required and viceversa. Don't add both to auto-start.
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.
Configuration
Seatd is the light weight solution for sway and other Wayland compositors compared to elogind. When using seatd, few mandatory steps are to be performed.
Configure XDG_RUNTIME_DIR
Set the variable XDG_RUNTIME_DIR. This step is required for all Wayland compositors.
Environment variables
Additional environment variables needs to be set for all Wayland compositors to work properly with seatd:
XDG_SESSION_TYPE=wayland
LIBSEAT_BACKEND=seatd
XDG_CURRENT_DESKTOP=sway
The variable XDG_CURRENT_DESKTOP
must be suitably adjusted for other Compositors.
Seatd and Sway
When using seatd, sway must be started with above Environment variables and D-Bus as shown below:
Contents of ~/.profile
Ensure that your shell reads and executes the if condition in .profile. Sway can also be launched with a wrapper script with seatd. If using elogind, then none of the above code snippets are required.