mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 06:06:53 -05:00
doc: Add guide showing auto-login on a specific TTY to the cookbook.
This is a follow-up to the discussion in <https://bugs.gnu.org/48974>. * doc/guix-cookbook.texi (System Configuration): Add a brief guide that explains auto login a user to one TTY. * doc/guix.texi (System Services): Add an texinfo anchor, so that the cookbook entry "Auto Login a User to a Specific TTY" can refer back to the precise point that the GNU Guix Reference manual. Also add a reference to the cookbook that shows how to auto login a specific user to one TTY. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
This commit is contained in:
parent
eac82c0e0a
commit
c2ff06e5e4
2 changed files with 57 additions and 7 deletions
|
@ -17,6 +17,7 @@ Copyright @copyright{} 2020 Marcin Karpezo@*
|
|||
Copyright @copyright{} 2020 Brice Waegeneire@*
|
||||
Copyright @copyright{} 2020 André Batista@*
|
||||
Copyright @copyright{} 2020 Christopher Lemmer Webber
|
||||
Copyright @copyright{} 2021 Joshua Branson@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -85,8 +86,8 @@ Packaging
|
|||
|
||||
System Configuration
|
||||
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel
|
||||
|
||||
* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
@ -1353,6 +1354,7 @@ chapter is to demonstrate some advanced configuration concepts.
|
|||
reference.
|
||||
|
||||
@menu
|
||||
* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
|
||||
* Guix System Image API:: Customizing images to target specific platforms.
|
||||
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
||||
|
@ -1363,6 +1365,51 @@ reference.
|
|||
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
|
||||
@end menu
|
||||
|
||||
@node Auto-Login to a Specific TTY
|
||||
@section Auto-Login to a Specific TTY
|
||||
|
||||
While the Guix manual explains auto-login one user to @emph{all} TTYs (
|
||||
@pxref{auto-login to TTY,,, guix, GNU Guix Reference Manual}), some
|
||||
might prefer a situation, in which one user is logged into one TTY with
|
||||
the other TTYs either configured to login different users or no one at
|
||||
all. Note that one can auto-login one user to any TTY, but it is
|
||||
usually advisable to avoid @code{tty1}, which, by default, is used to
|
||||
log warnings and errors.
|
||||
|
||||
Here is how one might set up auto login for one user to one tty:
|
||||
|
||||
@lisp
|
||||
(define (auto-login-to-tty config tty user)
|
||||
(if (string=? tty (mingetty-configuration-tty config))
|
||||
(mingetty-configuration
|
||||
(inherit config)
|
||||
(auto-login user))
|
||||
config))
|
||||
|
||||
(define %my-services
|
||||
(modify-services %base-services
|
||||
;; @dots{}
|
||||
(mingetty-service-type config =>
|
||||
(auto-login-to-tty
|
||||
config "tty3" "alice"))))
|
||||
|
||||
(operating-system
|
||||
;; @dots{}
|
||||
(services %my-services))
|
||||
@end lisp
|
||||
|
||||
One could also @code{compose} (@pxref{Higher-Order Functions,,, guile,
|
||||
The Guile Reference Manual}) @code{auto-login-to-tty} to login multiple
|
||||
users to multiple ttys.
|
||||
|
||||
Finally, here is a note of caution. Setting up auto login to a TTY,
|
||||
means that anyone can turn on your computer and run commands as your
|
||||
regular user.
|
||||
However, if you have an encrypted root partition, and thus already need
|
||||
to enter a passphrase when the system boots, auto-login might be a
|
||||
convenient option.
|
||||
|
||||
|
||||
@node Customizing the Kernel
|
||||
@section Customizing the Kernel
|
||||
|
||||
|
|
|
@ -13542,10 +13542,11 @@ Occasionally, instead of using the base services as is, you will want to
|
|||
customize them. To do this, use @code{modify-services} (@pxref{Service
|
||||
Reference, @code{modify-services}}) to modify the list.
|
||||
|
||||
For example, suppose you want to modify @code{guix-daemon} and Mingetty
|
||||
(the console log-in) in the @code{%base-services} list (@pxref{Base
|
||||
Services, @code{%base-services}}). To do that, you can write the
|
||||
following in your operating system declaration:
|
||||
@anchor{auto-login to TTY} For example, suppose you want to modify
|
||||
@code{guix-daemon} and Mingetty (the console log-in) in the
|
||||
@code{%base-services} list (@pxref{Base Services,
|
||||
@code{%base-services}}). To do that, you can write the following in
|
||||
your operating system declaration:
|
||||
|
||||
@lisp
|
||||
(define %my-services
|
||||
|
@ -13571,7 +13572,9 @@ following in your operating system declaration:
|
|||
|
||||
This changes the configuration---i.e., the service parameters---of the
|
||||
@code{guix-service-type} instance, and that of all the
|
||||
@code{mingetty-service-type} instances in the @code{%base-services} list.
|
||||
@code{mingetty-service-type} instances in the @code{%base-services} list
|
||||
(@pxref{Auto Login a User to a Specific TTY, see the cookbook for how to
|
||||
auto-login one user to a specific TTY,, guix-cookbook, GNU Guix Cookbook})).
|
||||
Observe how this is accomplished: first, we arrange for the original
|
||||
configuration to be bound to the identifier @code{config} in the
|
||||
@var{body}, and then we write the @var{body} so that it evaluates to the
|
||||
|
|
Loading…
Reference in a new issue