From fa524eec601b13e2e2d5ffadf27d9603f5679aae Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sat, 24 Apr 2021 10:27:24 +0200 Subject: [PATCH] contrib: debian: add elogind.conf and update recommendations Signed-off-by: Joachim Wiberg --- contrib/debian/README.md | 17 ++++++++++++++--- contrib/debian/finit.d/Makefile.am | 5 +++-- contrib/debian/finit.d/available/Makefile.am | 6 +++--- contrib/debian/finit.d/available/elogind.conf | 4 ++++ 4 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 contrib/debian/finit.d/available/elogind.conf diff --git a/contrib/debian/README.md b/contrib/debian/README.md index e3d76cd0..6b529399 100644 --- a/contrib/debian/README.md +++ b/contrib/debian/README.md @@ -20,6 +20,9 @@ tools pre-systemd work as intended. root@debian:~# apt install initscripts console-setup +> **Note:** as of Debian 11 (Bullseye), libuev and libite are part of +> the main section of Debian. So just install the -dev packages :) + The following script can then be used to configure, build, install and set up your system to run Finit: @@ -32,17 +35,25 @@ also possible to change the default init to Finit, if you do you can remove the custom Grub entry: user@debian:~/finit# cd /sbin - user@debian:/sbin# sudo rm init + user@debian:/sbin# sudo mv init oldinit user@debian:/sbin# sudo ln -s finit init Before rebooting, check the default [/etc/finit.conf](finit.conf) and `/etc/finit.d/*.conf` files. The build + install script above provides -a few sample `.conf` files. See `initctl list` after boot for a list of -enabled and available services. +a few sample `.conf` files. See `initctl ls` after boot for a list of +enabled and available services, you can then use `enable` and `disable` +comands to `initctl`, followed by `reload` to activate your changes. You can also use a standard [/etc/rc.local](rc.local) for one-shot tasks and initialization like keyboard language etc. +If you want to use the X Window system, `sudo apt install elogind` +(Bullseye and later). Followed by `initctl reload` (enabled by default) +and logout/login again. The elogind daemon ensures a regular non-root +user can start and interact with an X session, otherwise keyboard and +mouse won't work. + + Have fun! /Joachim ツ diff --git a/contrib/debian/finit.d/Makefile.am b/contrib/debian/finit.d/Makefile.am index e15f10d1..3ae43507 100644 --- a/contrib/debian/finit.d/Makefile.am +++ b/contrib/debian/finit.d/Makefile.am @@ -1,7 +1,8 @@ SUBDIRS = available docsdir := @docdir@/contrib/debian/finit.d -d_LINKS = console-setup.conf getty.conf keyboard-setup.conf \ - modules.conf rsyslogd.conf sshd.conf +d_LINKS = console-setup.conf elogind.conf getty.conf \ + keyboard-setup.conf modules.conf rsyslogd.conf \ + sshd.conf install-exec-hook: @$(MKDIR_P) $(DESTDIR)$(docsdir)/available diff --git a/contrib/debian/finit.d/available/Makefile.am b/contrib/debian/finit.d/available/Makefile.am index bb8e5299..b63c292e 100644 --- a/contrib/debian/finit.d/available/Makefile.am +++ b/contrib/debian/finit.d/available/Makefile.am @@ -1,5 +1,5 @@ docsdir := @docdir@/contrib/debian/finit.d/available -docs_DATA = acpid.conf console-setup.conf getty.conf keyboard-setup.conf \ - lightdm.conf modules.conf rsyslogd.conf sntpd.conf \ - sshd.conf syslogd.conf xdm.conf +docs_DATA = acpid.conf console-setup.conf elogind.conf getty.conf \ + keyboard-setup.conf lightdm.conf modules.conf sntpd.conf \ + rsyslogd.conf sshd.conf syslogd.conf xdm.conf EXTRA_DIST = $(docs_DATA) diff --git a/contrib/debian/finit.d/available/elogind.conf b/contrib/debian/finit.d/available/elogind.conf new file mode 100644 index 00000000..9a5f3a42 --- /dev/null +++ b/contrib/debian/finit.d/available/elogind.conf @@ -0,0 +1,4 @@ +# On some systems, bootstrap can be really quick and cause elogind +# to not start before a user has managed to log in. To prevent +# this, add as condition to your TTYs in getty.conf +service [2345] /lib/elogind/elogind -- Login manager