Next: Ejecución de tareas programadas, Up: Servicios [Contents][Index]
El módulo (gnu services base)
proporciona definiciones para los
servicios básicos que se esperan en el sistema. Los servicios exportados por
este módulo se enumeran a continuación.
Esta variable contiene una lista de servicios básicos (see Tipos de servicios y servicios, para más información sobre los objetos servicio) que se pueden esperar en el sistema: un servicio de ingreso al sistema (mingetty) en cada tty, syslogd, el daemon de la caché del servicio de nombres (nscd), el gestor de dispositivos udev, y más.
Este es el valor predeterminado del campo services
de las
declaraciones operating-system
. De manera habitual, cuando se
personaliza el sistema, es deseable agregar servicios a
%base-services
, de esta forma:
El servicio que establece “archivos especiales” como /bin/sh; una
instancia suya es parte de %base-services
.
The value associated with special-files-service-type
services must be
a list of two-element lists where the first element is the “special file”
and the second element is its target. By default it is:
`(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")))
If you want to add, say, /bin/bash
to your system, you can change it
to:
`(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")) ("/bin/bash" ,(file-append bash "/bin/bash")))
Ya que es parte de %base-services
, puede usar modify-services
para personalizar el conjunto de archivos especiales (see modify-services
). Pero una forma simple de añadir un
archivo especial es usar el procedimiento extra-special-file
(véase a
continuación).
Usa destino como el “archivo especial” archivo.
Por ejemplo, la adición de las siguientes líneas al campo services
de
su declaración de sistema operativo genera /usr/bin/env como un
enlace simbólico:
(extra-special-file "/usr/bin/env"
(file-append coreutils "/bin/env"))
This procedure is meant for /bin/sh
, /usr/bin/env
and similar
targets. In particular, use for targets under /etc
might not work as
expected if the target is managed by Guix in other ways.
Type of the service that sets the system host name, whose value is a
string. This service is included in operating-system
by default
(see essential-services
).
Instala las tipografías proporcionadas en las consolas virtuales (tty)
especificados (las tipografías se asocian a cada consola virtual con el
núcleo Linux). El valor de este servicio es una lista de pares
tty/tipografía. La tipografía puede ser el nombre de alguna de las
proporcionadas por el paquete kbd
o cualquier parámetro válido para
la orden setfont
, como en este ejemplo:
`(("tty1" . "LatGrkCyr-8x16") ("tty2" . ,(file-append font-tamzen "/share/kbd/consolefonts/TamzenForPowerline10x20.psf")) ("tty3" . ,(file-append font-terminus "/share/consolefonts/ter-132n"))) ; para HDPI
Type of the service that populates the entries for (/etc/hosts).
This service type can be extended by passing it a list of host
records.
The example below shows how to add two entries to /etc/hosts:
(simple-service 'add-extra-hosts
hosts-service-type
(list (host "192.0.2.1" "example.com"
'("example.net" "example.org"))
(host "2001:db8::1" "example.com"
'("example.net" "example.org"))))
Nota: By default /etc/hosts comes with the following entries:
127.0.0.1 localhost host-name ::1 localhost host-nameFor most setups this is what you want though if you find yourself in the situation where you want to change the default entries, you can do so in
operating-system
viamodify-services
(seemodify-services
).The following example shows how to unset host-name from being an alias of
localhost
.(operating-system ;; … (essential-services (modify-services (operating-system-default-essential-services this-operating-system) (hosts-service-type config => (list (host "127.0.0.1" "localhost") (host "::1" "localhost"))))))
Return a new record for the host at address with the given canonical-name and possibly aliases.
address must be a string denoting a valid IPv4 or IPv6 address, and canonical-name and the strings listed in aliases must be valid host names.
Type of the service that provides a console login service, whose value is a
<login-configuration>
object.
Data type representing the configuration of login, which specifies the MOTD (message of the day), among other things.
motd
¶Un objeto tipo-archivo que contiene el “mensaje del día”.
allow-empty-passwords?
(predeterminado: #t
)Permite contraseñas vacías por defecto para que las primeras usuarias puedan ingresar en el sistema cuando la cuenta de “root” está recién creada.
Type of the service that runs Mingetty, an implementation of the virtual
console log-in. The value for this service is a
<mingetty-configuration>
object.
Data type representing the configuration of Mingetty, which specifies the tty to run, among other things.
tty
El nombre de la consola en la que se ejecuta este Mingetty—por ejemplo,
"tty1"
.
auto-login
(predeterminado: #f
)Cuando sea verdadero, este campo debe ser una cadena que denote el nombre de
usuaria bajo el cual el sistema ingresa automáticamente. Cuando es
#f
, se deben proporcionar un nombre de usuaria y una contraseña para
ingresar en el sistema.
login-program
(predeterminado: #f
)Debe ser #f
, en cuyo caso se usa el programa predeterminado de
ingreso al sistema (login
de las herramientas Shadow), o una
expresión-G que determine el nombre del programa de ingreso al sistema.
login-pause?
(predeterminado: #f
)Cuando es #t
en conjunción con auto-login, la usuaria deberá
presionar una tecla para lanzar el shell de ingreso al sistema.
clear-on-logout?
(default: #t
)When set to #t
, the screen will be cleared after logout.
mingetty
(predeterminado: mingetty)El paquete Mingetty usado.
Type of the service that runs agetty, which implements virtual and serial
console log-in. The value for this service is a
<agetty-configuration>
object.
Data type representing the configuration of agetty, which specifies the tty to run, among other things37.
tty
El nombre de la consola en la que se ejecuta este agetty, como una
cadena—por ejemplo, "ttyS0"
. Este parámetro es opcional, su valor
predeterminado es un puerto serie razonable usado por el núcleo Linux.
Para ello, si hay un valor para una opción agetty.tty
en la línea de
órdenes del núcleo, agetty extraerá el nombre del dispositivo del puerto
serie de allí y usará dicho valor.
Si no y hay un valor para la opción console
con un tty en la línea de
órdenes de Linux, agetty extraerá el nombre del dispositivo del puerto serie
de allí y usará dicho valor.
En ambos casos, agetty dejará el resto de configuración de dispositivos serie (tasa de transmisión, etc.) sin modificar—con la esperanza de que Linux haya proporcionado ya los valores correctos.
baud-rate
(predeterminado: #f
)Una cadena que contenga una lista separada por comas de una o más tasas de transmisión, en orden descendiente.
term
(predeterminado: #f
)Una cadena que contiene el valor usado para la variable de entorno
TERM
.
eight-bits?
(predeterminado: #f
)En caso de ser #t
, se asume que el tty permite el paso de 8 bits, y
la detección de paridad está desactivada.
auto-login
(predeterminado: #f
)Cuando se proporciona un nombre de ingreso al sistema, como una cadena, la usuaria especificada ingresará automáticamente sin solicitar su nombre de ingreso ni su contraseña.
no-reset?
(predeterminado: #f
)En caso de ser #t
, no reinicia los modos de control del terminal
(cflags).
host
(predeterminado: #f
)Acepta una cadena que contenga el “nombre_de_máquina_de_ingreso”, que será escrito en el archivo /var/run/utmpx.
remote?
(predeterminado: #f
)Cuando se fija a #t
en conjunción con host, se añadirá una
opción -r
"fakehost" a la línea de órdenes del programa de ingreso al
sistema especificado en login-program.
flow-control?
(predeterminado: #f
)Cuando es #t
, activa el control de flujo hardware (RTS/CTS).
no-issue?
(predeterminado: #f
)Cuando es #t
, el contenido del archivo /etc/issue no se
mostrará antes de presentar el mensaje de ingreso al sistema.
init-string
(predeterminada: #f
)Esto acepta una cadena que se enviará al tty o módem antes de mandar nada más. Puede usarse para inicializar un modem.
no-clear?
(predeterminado: #f
)Cuando es #t
, agetty no limpiará la pantalla antes de mostrar el
mensaje de ingreso al sistema.
login-program
(predeterminado: (file-append shadow "/bin/login"))Esto debe ser o bien una expresión-g que denote el nombre del programa de
ingreso al sistema, o no debe proporcionarse, en cuyo caso el valor
predeterminado es login
del conjunto de herramientas Shadow.
local-line
(predeterminado: #f
)Control the CLOCAL line flag. This accepts one of three symbols as
arguments, 'auto
, 'always
, or 'never
. If #f
,
the default value chosen by agetty is 'auto
.
extract-baud?
(predeterminado: #f
)Cuando es #t
, instruye a agetty para extraer la tasa de transmisión
de los mensajes de estado producidos por ciertos tipos de módem.
skip-login?
(predeterminado: #f
)Cuando es #t
, no solicita el nombre de la usuaria para el ingreso al
sistema. Puede usarse con el campo login-program para usar sistemas de
ingreso no estándar.
no-newline?
(predeterminado: #f
)Cuando es #t
, no imprime una nueva línea antes de imprimir el archivo
/etc/issue.
login-options
(predeterminadas: #f
)Esta opción acepta una cadena que contenga opciones para proporcionar al programa de ingreso al sistema. Cuando se use con login-program, sea consciente de que una usuaria con malas intenciones podría intentar introducir un nombre que contuviese opciones embebidas que serían procesadas por el programa de ingreso.
login-pause
(predeterminada: #f
)Cuando es #t
, espera la pulsación de cualquier tecla antes de mostrar
el mensaje de ingreso al sistema. Esto puede usarse en conjunción con
auto-login para ahorrar memoria lanzando cada shell cuando sea
necesario.
chroot
(predeterminado: #f
)Cambia la raíz al directorio especificado. Esta opción acepta una ruta de directorio como una cadena.
hangup?
(predeterminado: #f
)Usa la llamada del sistema Linux vhangup
para colgar de forma virtual
el terminal especificado.
keep-baud?
(predeterminado: #f
)Cuando es #t
, prueba a mantener la tasa de transmisión existente. Las
tasas de transmisión de baud-rate se usan cuando agetty recibe un
carácter BREAK.
timeout
(predeterminado: #f
)Cuando sea un valor entero, termina si no se pudo leer ningún nombre de usuaria en timeout segundos.
detect-case?
(predeterminado: #f
)Cuando es #t
, activa la detección de terminales únicamente con
mayúsculas. ESta configuración detectará un nombre de ingreso que contenga
únicamente letras mayúsculas como un indicativo de un terminal con letras
únicamente mayúsculas y activará las conversiones de mayúscula a
minúscula. Tenga en cuenta que esto no permitirá caracteres Unicode.
wait-cr?
(predeterminado: #f
)Cuando es #t
, espera hasta que la usuaria o el modem envíen un
carácter de retorno de carro o de salto de línea antes de mostrar
/etc/issue o el mensaje de ingreso. Se usa de forma típica junto a la
opción init-string.
no-hints?
(predeterminado: #f
)Cuando es #t
, no imprime avisos sobre el bloqueo numérico, las
mayúsculas o el bloqueo del desplazamiento.
no-hostname?
(predeterminado: #f
)El nombre de la máquina se imprime de forma predeterminada. Cuando esta
opción es #t
, no se mostrará ningún nombre de máquina.
long-hostname?
(predeterminado: #f
)El nombre de máquina se imprime de forma predeterminada únicamente hasta el
primer punto. Cuando esta opción es #t
, se muestra el nombre
completamente cualificado de la máquina mostrado por gethostname
o
getaddrinfo
.
erase-characters
(predeterminado: #f
)Esta opción acepta una cadena de caracteres adicionales que deben interpretarse como borrado del carácter anterior cuando la usuaria introduce su nombre de ingreso.
kill-characters
(predeterminado: #f
)Esta opción acepta una cadena de que debe ser interpretada como “ignora todos los caracteres anteriores” (también llamado carácter “kill”) cuando la usuaria introduce su nombre de ingreso.
chdir
(predeterminado: #f
)Esta opción acepta, como una cadena, una ruta de directorio que a la que se cambiará antes del ingreso al sistema.
delay
(predeterminado: #f
)Esta opción acepta, como un entero, el número de segundos a esperar antes de abrir el tty y mostrar el mensaje de ingreso al sistema.
nice
(predeterminado: #f
)Esta opción acepta, como un entero, el valor “nice” con el que se
ejecutará el programa login
.
extra-options
(predeterminadas: '()
)Esta opción proporciona una “trampilla de escape” para que la usuaria
proporcione parámetros de línea de órdenes adicionales a agetty
como una lista de cadenas.
shepherd-requirement
(default: '()
)The option can be used to provides extra shepherd requirements (for example
'syslogd
) to the respective 'term-
* shepherd service.
Type of the service that runs
kmscon, which
implements virtual console log-in. The value for this service is a
<kmscon-configuration>
object.
Data type representing the configuration of Kmscon, which specifies the tty to run, among other things.
virtual-terminal
El nombre de la consola en la que se ejecuta este Kmscon—por ejemplo,
"tty1"
.
login-program
(predeterminado: #~(string-append #$shadow "/bin/login")
)A gexp denoting the name of the log-in program. The default log-in program
is login
from the Shadow tool suite.
login-arguments
(predeterminados: '("-p")
)Una lista de parámetros para proporcionar a login
.
auto-login
(predeterminado: #f
)Cuando se proporciona un nombre de ingreso al sistema, como una cadena, la usuaria especificada ingresará automáticamente sin solicitar su nombre de ingreso ni su contraseña.
hardware-acceleration?
(predeterminado: #f)Determina si se usará aceleración hardware.
font-engine
(default: "pango"
)Font engine used in Kmscon.
font-size
(default: 12
)Font size used in Kmscon.
keyboard-layout
(predeterminada: #f
)If this is #f
, Kmscon uses the default keyboard layout—usually US
English (“qwerty”) for a 105-key PC keyboard.
Otherwise this must be a keyboard-layout
object specifying the
keyboard layout. See Distribución de teclado, for more information on how to
specify the keyboard layout.
kmscon
(predeterminado: kmscon)El paquete Kmscon usado.
Type of the service that runs the libc nscd (name service cache
daemon), whose value is an <nscd-configuration>
object.
Por conveniencia, el servicio ncsd de Shepherd proporciona las siguientes acciones:
invalidate
¶Esto invalida la caché dada. Por ejemplo, ejecutar:
herd invalidate nscd hosts
invalida la caché de búsqueda de nombres de máquinas de nscd.
statistics
Ejecutar herd statistics nscd
muestra información del uso nscd y
la caché.
Data type representing the nscd (name service cache daemon) configuration.
name-services
(predeterminados: '()
)Lista de paquetes que indican los servicios de nombres que serán
visibles al nscd—por ejemplo, (list nss-mdns)
.
glibc
(predeterminada: glibc)Paquete que denota la biblioteca C de GNU que proporciona la orden
nscd
.
log-file
(predeterminado: #f
)Name of the nscd log file. Debugging output goes to that file when
debug-level
is strictly positive, or to standard error if it is
#f
. Regular messages are written to syslog when debug-level
is zero, regardless of the value of log-file
.
debug-level
(predeterminado: 0
)Entero que indica el nivel de depuración. Números mayores significan que se registra más salida de depuración.
caches
(predeterminado: %nscd-default-caches
)Lista de objetos <nscd-cache>
que indican cosas a mantener en caché;
véase a continuación.
Tipo de datos que representa una base de datos de caché de nscd y sus parámetros.
base de datos
Es un símbolo que representa el nombre de la base de datos de la que se
actúa como caché. Se aceptan los valores passwd
, group
,
hosts
y services
, que designan las bases de datos NSS
correspondientes (see NSS Basics in The GNU C Library Reference
Manual).
positive-time-to-live
negative-time-to-live
(predeterminado: 20
)Un número que representa el número de segundos durante los que una búsqueda positiva o negativa permanece en la caché.
check-files?
(predeterminado: #t
)Si se comprobará en busca de actualizaciones los archivos que correspondan con database.
Por ejemplo, cuando database es hosts
, la activación de esta
opción instruye a nscd para comprobar actualizaciones en /etc/hosts y
tenerlas en cuenta.
persistent?
(predeterminada: #t
)Determina si la caché debe almacenarse de manera persistente en disco.
shared?
(predeterminado: #t
)Determina si la caché debe compartirse entre las usuarias.
max-database-size
(predeterminado: 32 MiB)Tamaño máximo en bytes de la caché de la base de datos.
Lista de objetos <nscd-cache>
usados por omisión por
nscd-configuration
(véase en la sección previa)
Activa el almacenamiento en caché persistente y agresivo de búsquedas de servicios y nombres de máquina. La última proporciona un mejor rendimiento en la búsqueda de nombres de máquina, resilencia en caso de nombres de servidor no confiables y también mejor privacidad—a menudo el resultado de las búsquedas de nombres de máquina está en la caché local, por lo que incluso ni es necesario consultar servidores de nombres externos.
Type of the service that runs the syslog daemon, whose value is a
<syslog-configuration>
object.
To have a modified syslog-configuration
come into effect after
reconfiguring your system, the ‘reload’ action should be preferred to
restarting the service, as many services such as the login manager depend on
it and would be restarted as well:
# herd reload syslog
which will cause the running syslogd
process to reload its
configuration.
Data type representing the configuration of the syslog daemon.
syslogd
(predeterminado: #~(string-append #$inetutils "/libexec/syslogd")
)El daemon syslog usado.
config-file
(predeterminado: %default-syslog.conf
)The syslog configuration file to use. See syslogd invocation in GNU Inetutils, for more information on the configuration file syntax.
El tipo de servicio que ejecuta el daemon de construcción,
guix-daemon
(see Invocación de guix-daemon
). Su valor debe ser un
registro guix-configuration
como se describe a continuación.
Este tipo de datos representa la configuración del daemon de construcción de
Guix. See Invocación de guix-daemon
, para más información.
guix
(predeterminado: guix)The Guix package to use. See Customizing the System-Wide Guix to learn how to provide a package with a pre-configured set of channels.
build-group
(predeterminado: "guixbuild"
)El nombre del grupo de las cuentas de usuarias de construcción.
build-accounts
(predeterminadas: 10
)Número de cuentas de usuarias de construcción a crear.
authorize-key?
(predeterminado: #t
) ¶Whether to authorize the substitute keys listed in
authorized-keys
—by default that of
bordeaux.guix.gnu.org
and ci.guix.gnu.org
(see Sustituciones).
Cuando authorize-key?
es verdadero, /etc/guix/acl no se puede
cambiar a través de guix archive --authorize
. En vez de eso debe
ajustar guix-configuration
como desee y reconfigurar el sistema. Esto
asegura que la configuración de su sistema operativo es auto-contenida.
Nota: Cuando arranque o reconfigure a un sistema donde
authorize-key?
sea verdadero, se crea una copia de seguridad del archivo /etc/guix/acl existente como /etc/guix/acl.bak si se determina que el archivo se ha modificado de manera manual. Esto facilita la migración desde versiones anteriores, en las que se permitían las modificaciones directas del archivo /etc/guix/acl.
authorized-keys
(predeterminadas: %default-authorized-guix-keys
)The list of authorized key files for archive imports, as a list of
string-valued gexps (see Invocación de guix archive
). By default, it
contains that of bordeaux.guix.gnu.org
and
ci.guix.gnu.org
(see Sustituciones). See
substitute-urls
below for an example on how to change it.
use-substitutes?
(predeterminado: #t
)Determina si se usarán sustituciones.
substitute-urls
(predeterminado: %default-substitute-urls
)La lista de URLs donde se buscarán sustituciones por defecto.
Suppose you would like to fetch substitutes from guix.example.org
in
addition to bordeaux.guix.gnu.org
. You will need to do two
things: (1) add guix.example.org
to substitute-urls
, and (2)
authorize its signing key, having done appropriate checks (see Autorización de servidores de sustituciones). The configuration below does exactly that:
(guix-configuration
(substitute-urls
(append (list "https://guix.example.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./guix.example.org-clave.pub"))
%default-authorized-guix-keys)))
Este ejemplo asume que el archivo ./guix.example.org-clave.pub
contiene la clave pública que guix.example.org
usa para firmar las
sustituciones.
generate-substitute-key?
(default: #t
)Whether to generate a substitute key pair under /etc/guix/signing-key.pub and /etc/guix/signing-key.sec if there is not already one.
This key pair is used when exporting store items, for instance with
guix publish
(see Invocación de guix publish
) or guix
archive
(see Invocación de guix archive
). Generating a key pair takes a few
seconds when enough entropy is available and is only done once; you might
want to turn it off for instance in a virtual machine that does not need it
and where the extra boot time is a problem.
channels
(default: #f
)List of channels to be specified in /etc/guix/channels.scm, which is
what guix pull
uses by default (see Invocación de guix pull
).
Nota: When reconfiguring a system, the existing /etc/guix/channels.scm file is backed up as /etc/guix/channels.scm.bak if it was determined to be a manually modified file. This is to facilitate migration from earlier versions, which allowed for in-place modifications to /etc/guix/channels.scm.
max-silent-time
(default: 3600
)timeout
(default: (* 3600 24)
)El número de segundos de silencio y el número de segundos de actividad respectivamente, tras los cuales el proceso de construcción supera el plazo. Un valor de cero proporciona plazos ilimitados.
log-compression
(default: 'gzip
)El tipo de compresión usado en los log de construcción—o bien gzip
,
o bien bzip2
o none
.
discover?
(default: #f
)Whether to discover substitute servers on the local network using mDNS and DNS-SD.
build-machines
(default: #f
)This field must be either #f
or a list of gexps evaluating to a
build-machine
record or to a list of build-machine
records
(see Uso de la facilidad de delegación de trabajo).
When it is #f
, the /etc/guix/machines.scm file is left
untouched. Otherwise, the list of of gexps is written to
/etc/guix/machines.scm; if a previously-existing file is found, it is
backed up as /etc/guix/machines.scm.bak. This allows you to declare
build machines for offloading directly in the operating system declaration,
like so:
(guix-configuration
(build-machines
(list #~(build-machine (name "foo.example.org") …)
#~(build-machine (name "bar.example.org") …))))
Additional build machines may be added via the guix-extension
mechanism (see below).
extra-options
(predeterminadas: '()
)Lista de opciones de línea de órdenes adicionales para
guix-daemon
.
log-file
(predeterminado: "/var/log/guix-daemon.log"
)Archivo al que se escriben la salida estándar y la salida estándar de error
de guix-daemon
.
http-proxy
(predeterminado: #f
)La URL de los proxy HTTP y HTTPS que se usa para la descarga de derivaciones de salida fija y sustituciones.
También es posible cambiar la pasarela del daemon en tiempo te ejecución con
la acción set-http-proxy
, la cual lo reinicia:
herd set-http-proxy guix-daemon http://localhost:8118
Para desactivar el uso actual de una pasarela ejecute:
herd set-http-proxy guix-daemon
tmpdir
(predeterminado: #f
)Una ruta de directorio donde guix-daemon
realiza las
construcciones.
environment
(default: '()
)Environment variables to be set before starting the daemon, as a list of
key=value
strings.
socket-directory-permissions
(default: #o755
)Permissions to set for the directory /var/guix/daemon-socket. This,
together with socket-directory-group
and
socket-directory-user
, determines who can connect to the build daemon
via its Unix socket. TCP socket operation is unaffected by these.
socket-directory-user
(default: #f
)socket-directory-group
(default: #f
)User and group owning the /var/guix/daemon-socket directory or
#f
to keep the user or group as root.
This data type represents the parameters of the Guix build daemon that are extendable. This is the type of the object that must be used within a guix service extension. See Composición de servicios, for more information.
authorized-keys
(predeterminadas: '()
)A list of file-like objects where each element contains a public key.
substitute-urls
(default: '()
)A list of strings where each element is a substitute URL.
build-machines
(default: '()
)A list of gexps that evaluate to build-machine
records or to a list
of build-machine
records. (see Uso de la facilidad de delegación de trabajo).
Using this field, a service may add new build machines to receive builds
offloaded by the daemon. This is useful for a service such as
hurd-vm-service-type
, which can make a GNU/Hurd virtual machine
directly usable for offloading (see hurd-vm-service-type
).
chroot-directories
(default: '()
)A list of file-like objects or strings pointing to additional directories the build daemon can use.
Type of the service that runs udev, a service which populates the
/dev directory dynamically, whose value is a
<udev-configuration>
object.
Since the file names for udev rules and hardware description files matter, the configuration items for rules and hardware cannot simply be plain file-like objects with the rules content, because the name would be ignored. Instead, they are directory file-like objects that contain optional rules in lib/udev/rules.d and optional hardware files in lib/udev/hwdb.d. This way, the service can be configured with whole packages from which to take rules and hwdb files.
The udev-service-type
can be extended with file-like
directories that respect this hierarchy. For convenience, the
udev-rule
and file->udev-rule
can be used to construct udev
rules, while udev-hardware
and file->udev-hardware
can be used
to construct hardware description files.
In an operating-system
declaration, this service type can be
extended using procedures udev-rules-service
and
udev-hardware-service
.
Data type representing the configuration of udev.
udev
(default: eudev
) (type: file-like)Package object of the udev service. This package is used at run-time, when compiled for the target system. In order to generate the hwdb.bin hardware index, it is also used when generating the system definition, compiled for the current system.
rules
(default: ’()) (type: list-of-file-like)List of file-like objects denoting udev rule files under a sub-directory.
hardware
(default: ’()) (type: list-of-file-like)List of file-like objects denoting udev hardware description files under a sub-directory.
Devuelve un archivo de reglas de udev con nombre nombre-archivo que contiene las reglas definidas en el literal contenido.
En el ejemplo siguiente se define una regla para un dispositivo USB que será almacenada en el archivo 90-usb-cosa.rules. Esta regla ejecuta un script cuando se detecta un dispositivo USB con un identificador de producto dado.
(define %regla-ejemplo-udev
(udev-rule
"90-usb-cosa.rules"
(string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
"ATTR{product}==\"Ejemplo\", "
"RUN+=\"/ruta/al/ejecutable\"")))
Return a udev hardware description file named file-name containing the hardware information contents.
Return a service that extends udev-service-type
with rules and
account-service-type
with groups as system groups. This works
by creating a singleton service type name-udev-rules
, of which
the returned service is an instance.
A continuación se muestra cómo se puede usar para extender
udev-service-type
con la regla %regla-ejemplo-udev
definida
previamente.
(operating-system
;; …
(services
(cons (udev-rules-service 'usb-thing %regla-ejemplo-udev)
%desktop-services)))
Return a service that extends udev-service-type
with hardware.
The service name is name-udev-hardware
.
Return a udev-rule file named file-name containing the rules defined within file, a file-like object.
El ejemplo siguiente muestra cómo podemos usar un archivo de reglas existente.
(use-modules (guix download) ;para url-fetch (guix packages) ;para origin …) (define %reglas-android-udev (file->udev-rule "51-android-udev.rules" (let ((version "20170910")) (origin (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/M0Rf30/" "android-udev-rules/" version "/51-android.rules")) (sha256 (base32 "0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003"))))))
Since guix package definitions can be included in rules in order to
use all their rules under the lib/udev/rules.d sub-directory, then in
lieu of the previous file->udev-rule example, we could have used the
android-udev-rules package which exists in Guix in the (gnu
packages android)
module.
Return a udev hardware description file named file-name containing the rules defined within file, a file-like object.
El siguiente ejemplo muestra cómo usar el paquete android-udev-rules
para que la herramienta de Android adb
pueda detectar dispositivos
sin privilegios de “root”. También detalla como crear el grupo
adbusers
, el cual se requiere para el funcionamiento correcto de las
reglas definidas dentro del paquete android-udev-rules
. Para crear
tal grupo, debemos definirlo tanto como parte de supplementary-groups
de la declaración de nuestra cuenta de usuaria en user-account, así
como en el parámetro groups del procedimiento
udev-rules-service
.
(use-modules (gnu packages android) ;para android-udev-rules (gnu system shadow) ;para user-group …) (operating-system ;; … (users (cons (user-account ;; … (supplementary-groups '("adbusers" ;for adb "wheel" "netdev" "audio" "video"))))) ;; … (services (cons (udev-rules-service 'android android-udev-rules #:groups '("adbusers")) %desktop-services)))
Almacena alguna entropía en %random-seed-file
para alimentar
/dev/urandom cuando se reinicia. También intenta alimentar
/dev/urandom con /dev/hwrng durante el arranque, si
/dev/hwrng existe y se tienen permisos de lectura.
Es el nombre del archivo donde algunos bytes aleatorios son almacenados por el servicio urandom-seed-service para alimentar /dev/urandom durante el reinicio. Su valor predeterminado es /var/lib/random-seed.
Este es el tipo de servicio que ejecuta GPM, el daemon de ratón de propósito general, que permite el uso del ratón en la consola Linux. GPM permite a las usuarias el uso del ratón en la consola, notablemente la selección, copia y pegado de texto.
El valor para servicios de este tipo debe ser un objeto
gpm-configuration
(véase a continuación). Este servicio no es parte
de %base-services
.
Tipo de datos que representa la configuración de GPM.
opciones
(predeterminadas: %default-gpm-options
)Opciones de línea de órdenes proporcionadas a gpm
. El conjunto
predeterminado de opciones instruye a gpm
para esperar eventos de
ratón en /dev/input/mice. See Command Line in gpm manual,
para más información.
gpm
(predeterminado: gpm
)El paquete GPM usado.
Este es el tipo de servicio para guix publish
(see Invocación de guix publish
). Su valor debe ser un objeto
guix-publish-configuration
, como se describe a continuación.
Se asume que /etc/guix ya contiene el par de claves de firma como
guix archive --generate-key
lo crea (see Invocación de guix archive
). Si no es el caso, el servicio fallará al arrancar.
Tipo de datos que representa la configuración del servicio guix
publish
.
guix
(predeterminado: guix
)El paquete Guix usado.
port
(predeterminado: 80
)El puerto TCP en el que se esperan conexiones.
host
(predeterminado: "localhost"
)La dirección de red (y, por tanto, la interfaz de red) en la que se
esperarán conexiones. Use "0.0.0.0"
para aceptar conexiones por todas
las interfaces de red.
advertise?
(default: #f
)When true, advertise the service on the local network via the DNS-SD protocol, using Avahi.
This allows neighboring Guix devices with discovery on (see
guix-configuration
above) to discover this guix publish
instance and to automatically download substitutes from it.
compression
(default: '(("gzip" 3) ("zstd" 3))
)Es una lista de tuplas método de compresión/nivel usadas para la compresión de sustituciones. Por ejemplo, para comprimir todas las sustituciones tanto con lzip a nivel 8 como con gzip a nivel 9, escriba:
'(("lzip" 7) ("gzip" 9))
Level 9 achieves the best compression ratio at the expense of increased CPU
usage, whereas level 1 achieves fast compression. See Invocación de guix publish
, for more information on the available compression methods and the
tradeoffs involved.
Una lista vacía desactiva completamente la compresión.
nar-path
(predeterminado: "nar"
)La ruta URL de la que se pueden obtener “nars”. See --nar-path, para más detalles.
cache
(predeterminado: #f
)Cuando es #f
, desactiva la caché y genera los archivos bajo
demanda. De otro modo, debería ser el nombre de un directorio—por ejemplo,
"/var/cache/guix/publish"
—donde guix pubish
almacena los
archivos y metadatos en caché listos para ser enviados. See --cache, para más información sobre sus ventajas e
inconvenientes.
workers
(predeterminado: #f
)Cuando es un entero, es el número de hilos de trabajo usados para la caché;
cuando es #f
, se usa el número de procesadores. See --workers, para más información.
cache-bypass-threshold
(predeterminado: 10 MiB)Cuando cache
es verdadero, su valor indica el tamaño máximo en bytes
de un elemento del almacén hasta el cual guix publish
puede
ignorar un fallo de caché y realizar la petición directamente.
See --cache-bypass-threshold para obtener
más información.
ttl
(predeterminado: #f
)Cuando es un entero, denota el tiempo de vida en segundos de los archivos publicados. See --ttl, para más información.
negative-ttl
(default: #f
)When it is an integer, this denotes the time-to-live in seconds for the negative lookups. See --negative-ttl, for more information.
Type of the service that runs rng-tools rngd, whose value is an
<rngd-configuration>
object.
Data type representing the configuration of rngd.
rng-tools
(default: rng-tools
) (type: file-like)Package object of the rng-tools rngd.
device
(default: "/dev/hwrng") (type: string)Path of the device to add to the kernel’s entropy pool. The service will fail if device does not exist.
Type of the service that installs a configuration file for the
pam_limits
module. The value for this service type is a list of
pam-limits-entry
values, which can be used to specify ulimit
limits and nice
priority limits to user sessions. By default, the
value is the empty list.
Las siguientes definiciones de límites establecen dos límites “hard” y
“soft” para todas las sesiones de ingreso al sistema de usuarias
pertenecientes al grupo realtime
:
(service pam-limits-service-type
(list
(pam-limits-entry "@realtime" 'both 'rtprio 99)
(pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))
La primera entrada incrementa la prioridad máxima de tiempo real para procesos sin privilegios; la segunda entrada elimina cualquier restricción sobre el espacio de direcciones que puede bloquearse en memoria. Estas configuraciones se usan habitualmente para sistemas de sonido en tiempo real.
Another useful example is raising the maximum number of open file descriptors that can be used:
(service pam-limits-service-type
(list
(pam-limits-entry "*" 'both 'nofile 100000)))
In the above example, the asterisk means the limit should apply to any
user. It is important to ensure the chosen value doesn’t exceed the maximum
system value visible in the /proc/sys/fs/file-max file, else the
users would be prevented from login in. For more information about the
Pluggable Authentication Module (PAM) limits, refer to the ‘pam_limits’
man page from the linux-pam
package.
greetd
is a minimal
and flexible login manager daemon, that makes no assumptions about what you
want to launch.
If you can run it from your shell in a TTY, greetd can start it. If it can be taught to speak a simple JSON-based IPC protocol, then it can be a geeter.
greetd-service-type
provides necessary infrastructure for logging in
users, including:
greetd
PAM service
pam-mount
to mount XDG_RUNTIME_DIR
Here is an example of switching from mingetty-service-type
to
greetd-service-type
, and how different terminals could be:
(append
(modify-services %base-services
;; greetd-service-type provides "greetd" PAM service
(delete login-service-type)
;; and can be used in place of mingetty-service-type
(delete mingetty-service-type))
(list
(service greetd-service-type
(greetd-configuration
(terminals
(list
;; we can make any terminal active by default
(greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t))
;; we can make environment without XDG_RUNTIME_DIR set
;; even provide our own environment variables
(greetd-terminal-configuration
(terminal-vt "2")
(default-session-command
(greetd-agreety-session
(extra-env '(("MY_VAR" . "1")))
(xdg-env? #f))))
;; we can use different shell instead of default bash
(greetd-terminal-configuration
(terminal-vt "3")
(default-session-command
(greetd-agreety-session (command (file-append zsh "/bin/zsh")))))
;; we can use any other executable command as greeter
(greetd-terminal-configuration
(terminal-vt "4")
(default-session-command (program-file "my-noop-greeter" #~(exit))))
(greetd-terminal-configuration (terminal-vt "5"))
(greetd-terminal-configuration (terminal-vt "6"))))))
;; mingetty-service-type can be used in parallel
;; if needed to do so, do not (delete login-service-type)
;; as illustrated above
#| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#))
Configuration record for the greetd-service-type
.
motd
Un objeto tipo-archivo que contiene el “mensaje del día”.
allow-empty-passwords?
(predeterminado: #t
)Permite contraseñas vacías por defecto para que las primeras usuarias puedan ingresar en el sistema cuando la cuenta de “root” está recién creada.
terminals
(default: '()
)List of greetd-terminal-configuration
per terminal for which
greetd
should be started.
greeter-supplementary-groups
(default: '()
)List of groups which should be added to greeter
user. For instance:
(greeter-supplementary-groups '("seat" "video"))
Note that this example will fail if seat
group does not exist.
Configuration record for per terminal greetd daemon service.
greetd
(default: greetd
)The greetd package to use.
config-file-name
Configuration file name to use for greetd daemon. Generally, autogenerated
derivation based on terminal-vt
value.
log-file-name
Log file name to use for greetd daemon. Generally, autogenerated name based
on terminal-vt
value.
terminal-vt
(default: ‘"7"’)The VT to run on. Use of a specific VT with appropriate conflict avoidance is recommended.
terminal-switch
(default: #f
)Make this terminal active on start of greetd
.
source-profile?
(default: #t
)Whether to source /etc/profile and ~/.profile, when they exist.
default-session-user
(default: ‘"greeter"’)The user to use for running the greeter.
default-session-command
(default: (greetd-agreety-session)
)Can be either instance of greetd-agreety-session
configuration or
gexp->script
like object to use as greeter.
Configuration record for the agreety greetd greeter.
agreety
(default: greetd
)The package with /bin/agreety
command.
command
(default: (file-append bash "/bin/bash")
)Command to be started by /bin/agreety
on successful login.
command-args
(default: '("-l")
)Command arguments to pass to command.
extra-env
(default: '()
)Extra environment variables to set on login.
xdg-env?
(default: #t
)If true XDG_RUNTIME_DIR
and XDG_SESSION_TYPE
will be set
before starting command. One should note that, extra-env
variables
are set right after mentioned variables, so that they can be overridden.
Generic configuration record for the wlgreet greetd greeter.
wlgreet
(default: wlgreet
)The package with the /bin/wlgreet
command.
command
(default: (file-append sway "/bin/sway")
)Command to be started by /bin/wlgreet
on successful login.
command-args
(default: '()
)Command arguments to pass to command.
output-mode
(default: "all"
)Option to use for outputMode
in the TOML configuration file.
scale
(default: 1
)Option to use for scale
in the TOML configuration file.
background
(default: '(0 0 0 0.9)
)RGBA list to use as the background colour of the login prompt.
headline
(default: '(1 1 1 1)
)RGBA list to use as the headline colour of the UI popup.
prompt
(default: '(1 1 1 1)
)RGBA list to use as the prompt colour of the UI popup.
prompt-error
(default: '(1 1 1 1)
)RGBA list to use as the error colour of the UI popup.
border
(default: '(1 1 1 1)
)RGBA list to use as the border colour of the UI popup.
extra-env
(default: '()
)Extra environment variables to set on login.
Sway-specific configuration record for the wlgreet greetd greeter.
wlgreet-session
(default: (greetd-wlgreet-session)
)A greetd-wlgreet-session
record for generic wlgreet configuration, on
top of the Sway-specific greetd-wlgreet-sway-session
.
sway
(default: sway
)The package providing the /bin/sway
command.
sway-configuration
(default: #f)File-like object providing an additional Sway configuration file to be prepended to the mandatory part of the configuration.
Here is an example of a greetd configuration that uses wlgreet and Sway:
(greetd-configuration
;; We need to give the greeter user these permissions, otherwise
;; Sway will crash on launch.
(greeter-supplementary-groups (list "video" "input" "seat"))
(terminals
(list (greetd-terminal-configuration
(terminal-vt "1")
(terminal-switch #t)
(default-session-command
(greetd-wlgreet-sway-session
(sway-configuration
(local-file "sway-greetd.conf"))))))))
Next: Ejecución de tareas programadas, Up: Servicios [Contents][Index]