This is guix.es.info, produced by makeinfo version 6.7 from
guix.es.texi.

Copyright © 2012-2022 Ludovic Courtès
Copyright © 2013, 2014, 2016 Andreas Enge
Copyright © 2013 Nikita Karetnikov
Copyright © 2014, 2015, 2016 Alex Kost
Copyright © 2015, 2016 Mathieu Lirzin
Copyright © 2014 Pierre-Antoine Rault
Copyright © 2015 Taylan Ulrich Bayırlı/Kammer
Copyright © 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari
Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo
Wurmus
Copyright © 2016 Ben Woodcroft
Copyright © 2016, 2017, 2018, 2021 Chris Marusich
Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner
Copyright © 2016 John Darrington
Copyright © 2016, 2017 Nikita Gillmann
Copyright © 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen
Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller
Copyright © 2016 Alex ter Weele
Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines
Copyright © 2017, 2018, 2019 Clément Lassieur
Copyright © 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe
Copyright © 2017 Federico Beffa
Copyright © 2017, 2018 Carlo Zancanaro
Copyright © 2017 Thomas Danckaert
Copyright © 2017 humanitiesNerd
Copyright © 2017, 2021 Christine Lemmer-Webber
Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke
Copyright © 2017, 2019, 2020, 2022 Hartmut Goebel
Copyright © 2017, 2019, 2020, 2021, 2022 Maxim Cournoyer
Copyright © 2017–2022 Tobias Geerinckx-Rice
Copyright © 2017 George Clemmer
Copyright © 2017 Andy Wingo
Copyright © 2017, 2018, 2019, 2020 Arun Isaac
Copyright © 2017 nee
Copyright © 2018 Rutger Helling
Copyright © 2018, 2021 Oleg Pykhalov
Copyright © 2018 Mike Gerwitz
Copyright © 2018 Pierre-Antoine Rouby
Copyright © 2018, 2019 Gábor Boskovits
Copyright © 2018, 2019, 2020, 2022 Florian Pelz
Copyright © 2018 Laura Lazzati
Copyright © 2018 Alex Vong
Copyright © 2019 Josh Holland
Copyright © 2019, 2020 Diego Nicola Barbato
Copyright © 2019 Ivan Petkov
Copyright © 2019 Jakob L. Kreuze
Copyright © 2019 Kyle Andrews
Copyright © 2019 Alex Griffin
Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant
Copyright © 2020 Liliana Marie Prikler
Copyright © 2019, 2020, 2021, 2022 Simon Tournier
Copyright © 2020 Wiktor Żelazny
Copyright © 2020 Damien Cassou
Copyright © 2020 Jakub Kądziołka
Copyright © 2020 Jack Hill
Copyright © 2020 Naga Malleswari
Copyright © 2020, 2021 Brice Waegeneire
Copyright © 2020 R Veera Kumar
Copyright © 2020, 2021 Pierre Langlois
Copyright © 2020 pinoaffe
Copyright © 2020 André Batista
Copyright © 2020, 2021 Alexandru-Sergiu Marton
Copyright © 2020 raingloom
Copyright © 2020 Daniel Brooks
Copyright © 2020 John Soo
Copyright © 2020 Jonathan Brielmaier
Copyright © 2020 Edgar Vincent
Copyright © 2021, 2022 Maxime Devos
Copyright © 2021 B. Wilson
Copyright © 2021 Xinglu Chen
Copyright © 2021 Raghav Gururajan
Copyright © 2021 Domagoj Stolfa
Copyright © 2021 Hui Lu
Copyright © 2021 pukkamustard
Copyright © 2021 Alice Brenon
Copyright © 2021, 2022 Josselin Poiret
Copyright © 2021 muradm
Copyright © 2021, 2022 Andrew Tropin
Copyright © 2021 Sarah Morgensen
Copyright © 2022 Remco van ’t Veer
Copyright © 2022 Aleksandr Vityazev
Copyright © 2022 Philip M^{c}Grath
Copyright © 2022 Karl Hallsby
Copyright © 2022 Justin Veilleux
Copyright © 2022 Reily Siegel
Copyright © 2022 Simon Streit
Copyright © 2022 (
Copyright © 2022 John Kehayias

   Se garantiza el permiso de copia, distribución y/o modificación de
este documento bajo los términos de la licencia de documentación libre
de GNU (GNU Free Documentation License), versión 1.3 o cualquier versión
posterior publicada por la Free Software Foundation; sin secciones
invariantes, sin textos de cubierta delantera ni trasera.  Una copia de
la licencia está incluida en la sección titulada “GNU Free Documentation
License”.
INFO-DIR-SECTION Administración del sistema
START-INFO-DIR-ENTRY
* Guix: (guix.es).           Gestión del software instalado y la
                               configuración del sistema.
* guix package: (guix.es)Invocación de guix package.  Instalación, borrado
                                                         y actualización de
                                                         paquetes.
* guix gc: (guix.es)Invocación de guix gc.  Recuperar espacio de disco sin
                                               usar.
* guix pull: (guix.es)Invocación de guix pull.  Actualización de la lista
                                                   disponible de paquetes.
* guix system: (guix.es)Invocación de guix system.  Gestión de la
                                                       configuración del
                                                       sistema operativo.
* guix deploy: (guix.es)Invocación de guix deploy.  Gestión de
                                                       configuraciones de
                                                       sistemas operativos en
                                                       máquinas remotas.
END-INFO-DIR-ENTRY

INFO-DIR-SECTION Desarrollo de software
START-INFO-DIR-ENTRY
* guix shell: (guix)Invoking guix shell.  Creating software environments.
* guix environment: (guix.es)Invocación de guix environment.  Construcción
                                                                 de entornos
                                                                 de desarrollo
                                                                 con Guix.
* guix build: (guix.es)Invocación de guix build.  Construcción de
                                                     paquetes.
* guix pack: (guix.es)Invocación de guix pack.  Creación de empaquetados
                                                   binarios.
END-INFO-DIR-ENTRY


File: guix.es.info,  Node: Actualizaciones no-atendidas,  Next: Sistema X Window,  Prev: Servicios de red,  Up: Servicios

12.9.6 Actualizaciones no-atendidas
-----------------------------------

Guix proporciona un servicio para realizar _actualizaciones
desatendidas_: periodicamente el sistema se reconfigura automáticamente
con la última revisión de Guix.  El sistema Guix tiene varias
propiedades que hacen que las actualizaciones desatendidas sean seguras:

   • las actualizaciones son transaccionales (o bien la actualización se
     lleva a cabo con éxito o bien falla, pero no puede acabar en un
     estado “intermedio” del sistema);
   • el registro de actualizaciones se mantiene—puede acceder a dicho
     registro con ‘guix system list-generations’—y puede volver a una
     generación previa, en caso de que alguna generación no funcione
     como desee;
   • el código del canal se verifica de modo que únicamente pueda
     ejecutar código que ha sido firmado (*note Canales::);
   • ‘guix system reconfigure’ evita la instalación de versiones
     previas, que lo hace inmune a “ataques de versión anterior”.

   Para configurar las actualizaciones desatendidas, añada una instancia
de ‘unattended-upgrade-service-type’ como la que se muestra a
continuación a la lista de servicios de su sistema operativo:

     (service unattended-upgrade-service-type)

   El valor predeterminado configura actualizaciones semanales: cada
domingo a medianoche.  No es necesario que proporcione el archivo de
configuración de su sistema operativo: el servicio usa
‘/run/current-system/configuration.scm’, lo que asegura el uso de su
última configuración—*note provenance-service-type::, para obtener más
información sobre este archivo.

   Hay varios aspectos que se pueden configurar, en particular la
periodicidad y los servicios (daemon) que se reiniciarán tras completar
la actualización.  Cuando la actualización se lleva a cabo
satisfactoriamente el servicio se encarga de borrar las generaciones del
sistema cuya antigüedad es superior a determinado valor, usando ‘guix
system delete-generations’.  Véase la referencia a continuación para
obtener más detalles.

   Para asegurar que las actualizaciones se están levando a cabo
realmente, puede ejecutar ‘guix system describe’.  Para investigar
fallos en las actualizaciones, visite el archivo de registro de las
actualizaciones desatendidas (véase a continuación).

 -- Variable Scheme: unattended-upgrade-service-type
     Es el tipo de servicio para las actualizaciones desatendidas.
     Configura un trabajo de mcron (*note Ejecución de tareas
     programadas::) que ejecuta ‘guix system reconfigure’ a partir de la
     última versión de los canales especificados.

     Su valor debe ser un registro ‘unattended-upgrade-configuration’
     (véase a continuación).

 -- Tipo de datos: unattended-upgrade-configuration
     Este tipo de datos representa la configuración del servicio de
     actualizaciones desatendidas.  Los siguientes campos están
     disponibles:

     ‘schedule’ (predeterminada: ‘"30 01 * * 0"’)
          La planificación de las actualizaciones, expresada en una
          expresión-G que contiene una planificación de trabajo de mcron
          (*note mcron job specifications: (mcron)Syntax.).

     ‘channels’ (predeterminada: ‘#~%default-channels’)
          Esta expresión-G especifica los canales usados para la
          actualización (*note Canales::).  De manera predeterminada, se
          usa la última revisión del canal oficial ‘guix’.

     ‘operating-system-file’ (predeterminado: ‘"/run/current-system/configuration.scm"’)
          Este campo especifica el archivo de configuración del sistema
          operativo usado.  El valor predeterminado reutiliza el archivo
          de configuración de la configuración actual.

          No obstante hay casos en los que no es suficiente hacer
          referencia a ‘/run/current-system/configuration.scm’, por
          ejemplo porque dicho archivo hace referencia a archivos
          adicionales (claves públicas de SSH, archivos de configuración
          adicionales, etcétera) a través de ‘local-file’ y
          construcciones similares.  Para estos casos recomendamos una
          configuración parecida a esta:

               (unattended-upgrade-configuration
                 (operating-system-file
                   (file-append (local-file "." "config-dir" #:recursive? #t)
                                "/config.scm")))

          El efecto que esto tiene es la importación del directorio
          actual al completo en el almacén, y hace referencia a
          ‘config.scm’ dentro de dicho directorio.  Por lo tanto, los
          usos de ‘local-file’ dentro de ‘config.scm’ funcionarán como
          se espera.  *Note Expresiones-G:: para más información acerca
          de ‘local-file’ y ‘file-append’.

     ‘services-to-restart’ (predeterminados: ‘'(mcron)’)
          Este campo especifica los servicios de Shepherd que se
          reiniciarán cuando se complete una actualización.

          Estos servicios se reinician tras completarse la
          actualización, como ejecutando ‘herd restart’, lo que asegura
          la ejecución de la última versión—recuerde que de manera
          predeterminada ‘guix system reconfigure’ únicamente reinicia
          los servicios que no se están ejecutando en este momento, lo
          que es una aproximación conservadora: minimiza la disrupción
          pero mantiene servicios en ejecución con código previo a la
          actualización.

          Use ‘herd status’ to find out candidates for restarting.
          *Note Servicios::, for general information about services.
          Common services to restart would include ‘ntpd’ and
          ‘ssh-daemon’.

          De manera predeterminada se reinicia el servicio ‘mcron’.
          Esto asegura que la última versión del trabajo de
          actualización desatendida será la que se use la próxima vez.

     ‘system-expiration’ (predeterminado: ‘(* 3 30 24 3600)’)
          Tiempo de expiración en segundos de las generaciones del
          sistema.  Las generaciones del sistema cuya antigüedad sea
          mayor que esta cantidad de tiempo se borran con ‘guix system
          delete-generations’ cuando se completa una actualización.

               Nota: El servicio de actualizaciones desatendidas no
               ejecuta el proceso de recolección de basura.
               Probablemente quiera añadir su propio trabajo a mcron
               para ejecutar ‘guix gc’ de manera periódica.

     ‘maximum-duration’ (predeterminado: ‘3600’)
          Duración máxima en segundos de la actualización; tras pasar
          este tiempo se aborta la actualización.

          Esto es útil principalmente para asegurar que una
          actualización no reconstruye o vuelve a descargarse “el mundo
          entero”.

     ‘log-file’ (predeterminado: ‘"/var/log/unattended-upgrade.log"’)
          Archivo donde se registran las actualizaciones desatendidas.


File: guix.es.info,  Node: Sistema X Window,  Next: Servicios de impresión,  Prev: Actualizaciones no-atendidas,  Up: Servicios

12.9.7 Sistema X Window
-----------------------

El sistema gráfico X Window—específicamente Xorg—se proporciona en el
módulo ‘(gnu services xorg)’.  Fíjese que no existe un procedimiento
‘xorg-service’.  En vez de eso, el servidor X se inicia por el “gestor
de ingreso al sistema”, de manera predeterminada el gestor de acceso de
GNOME (GDM).

   GDM por supuesto que permite a las usuarias ingresar al sistema con
gestores de ventanas y entornos de escritorio distintos a GNOME; para
aquellas que usan GNOME, GDM es necesario para características como el
bloqueo automático de pantalla.

   Para usar X11, debe instalar al menos un “gestor de ventanas”—por
ejemplo los paquetes ‘windowmaker’ o ‘openbox’—, preferiblemente
añadiendo el que desee al campo ‘packages’ de su definición de sistema
operativo (*note paquetes del sistema: Referencia de operating-system.).

   GDM also supports Wayland: it can itself use Wayland instead of X11
for its user interface, and it can also start Wayland sessions.  The
former is required for the latter, to enable, set ‘wayland?’ to ‘#t’ in
‘gdm-configuration’.

 -- Variable Scheme: gdm-service-type
     Este es el tipo para el gestor de acceso de GNOME
     (https://wiki.gnome.org/Projects/GDM/) (GDM), un programa que
     gestiona servidores gráficos y maneja de forma gráfica el ingreso
     al sistema de usuarias.  Su valor debe ser un‘gdm-configuration’
     (véase a continuación).

     GDM looks for “session types” described by the ‘.desktop’ files in
     ‘/run/current-system/profile/share/xsessions’ (for X11 sessions)
     and ‘/run/current-system/profile/share/wayland-sessions’ (for
     Wayland sessions) and allows users to choose a session from the
     log-in screen.  Packages such as ‘gnome’, ‘xfce’, ‘i3’ and ‘sway’
     provide ‘.desktop’ files; adding them to the system-wide set of
     packages automatically makes them available at the log-in screen.

     Además, se respetan los archivos ‘~/.xsession’.  Cuando esté
     disponible, ‘~/.xsession’ debe ser un ejecutable que inicie un
     gestor de ventanas y/o otros clientes de X.

 -- Tipo de datos: gdm-configuration
     ‘auto-login?’ (predeterminado: ‘#f’)
     ‘default-user’ (predeterminado: ‘#f’)
          Cuando ‘auto-login?’ es falso, GDM presenta una pantalla de
          ingreso.

          Cuando ‘auto-login?’ es verdadero, GDM ingresa directamente al
          sistema como ‘default-user’.

     ‘auto-suspend?’ (default ‘#t’)
          When true, GDM will automatically suspend to RAM when nobody
          is physically connected.  When a machine is used via remote
          desktop or SSH, this should be set to false to avoid GDM
          interrupting remote sessions or rendering the machine
          unavailable.

     ‘debug?’ (predeterminado: ‘#f’)
          Cuando tiene valor verdadero, GDM escribe los mensajes de
          depuración en su registro.

     ‘gnome-shell-assets’ (predeterminados: ...)
          Lista de activos de GNOME Shell necesarios para GDM: tema de
          iconos, fuentes, etc.cc

     ‘xorg-configuration’ (predeterminada: ‘(xorg-configuration)’)
          Configuración del servidor gráfico Xorg.

     ‘x-session’ (default: ‘(xinitrc)’)
          Guión a ejecutar antes de iniciar una sesión X.

     ‘xdmcp?’ (default: ‘#f’)
          When true, enable the X Display Manager Control Protocol
          (XDMCP). This should only be enabled in trusted environments,
          as the protocol is not secure.  When enabled, GDM listens for
          XDMCP queries on the UDP port 177.

     ‘dbus-daemon’ (predeterminado: ‘dbus-daemon-wrapper’)
          El nombre de archivo del ejecutable ‘dbus-daemon’.

     ‘gdm’ (predeterminado: ‘gdm’)
          El paquete GDM usado.

     ‘wayland?’ (default: ‘#f’)
          When true, enables Wayland in GDM, necessary to use Wayland
          sessions.

     ‘wayland-session’ (default: ‘gdm-wayland-session-wrapper’)
          The Wayland session wrapper to use, needed to setup the
          environment.

 -- Variable Scheme: slim-service-type
     Este es el tipo para el gestor de ingreso al sistema gráfico para
     X11 SLiM.

     Como GDM, SLiM busca tipos de sesión descritos por archivos
     ‘.desktop’ y permite a las usuarias la selección de sesión en la
     pantalla de ingreso al sistema mediante el uso de ‘F1’.  También
     respeta los archivos ‘~/.xsession’.

     Al contrario que GDM, SLiM no lanza las sesiones de las usuarias en
     terminales virtuales diferentes al usado para el ingreso, lo que
     significa que únicamente puede iniciar una sesión gráfica.  Si
     desea ejecutar varias sesiones gráficas de manera simultánea, debe
     añadir múltiples servicios de SLiM a los servicios de su sistema.
     El ejemplo siguiente muestra cómo sustituir el servicio GDM
     predeterminado con dos servicios de SLiM en tty7 y tty8.

          (use-modules (gnu services)
                       (gnu services desktop)
                       (gnu services xorg))

          (operating-system
            ;; ...
            (services (cons* (service slim-service-type (slim-configuration
                                                         (display ":0")
                                                         (vt "vt7")))
                             (service slim-service-type (slim-configuration
                                                         (display ":1")
                                                         (vt "vt8")))
                             (modify-services %desktop-services
                               (delete gdm-service-type)))))

 -- Tipo de datos: slim-configuration
     Tipo de datos que representa la configuración de
     ‘slim-service-type’.

     ‘allow-empty-passwords?’ (predeterminado: ‘#t’)
          Si se permite el ingreso al sistema con contraseñas vacías.

     ‘gnupg?’ (default: ‘#f’)
          If enabled, ‘pam-gnupg’ will attempt to automatically unlock
          the user’s GPG keys with the login password via ‘gpg-agent’.
          The keygrips of all keys to be unlocked should be written to
          ‘~/.pam-gnupg’, and can be queried with ‘gpg -K
          --with-keygrip’.  Presetting passphrases must be enabled by
          adding ‘allow-preset-passphrase’ in ‘~/.gnupg/gpg-agent.conf’.

     ‘auto-login?’ (predeterminado: ‘#f’)
     ‘default-user’ (predeterminado: ‘""’)
          Cuando ‘auto-login?’ es falso, SLiM presenta una pantalla de
          ingreso.

          Cuando ‘auto-login?’ es verdadero, SLiM ingresa en el sistema
          directamente como ‘default-user’.

     ‘theme’ (predeterminado: ‘%default-slim-theme’)
     ‘theme-name’ (predeterminado: ‘%default-slim-theme-name’)
          El tema gráfico usado y su nombre.

     ‘auto-login-session’ (predeterminado: ‘#f’)
          Si es verdadero, debe ser el nombre del ejecutable a arrancar
          como la sesión predeterminada—por ejemplo, ‘(file-append
          windowmaker "/bin/windowmaker")’.

          Si es falso, se usará una sesión de las descritas en uno de
          los archivos ‘.desktop’ disponibles en
          ‘/run/current-system/profile’ y ‘~/.guix-profile’.

               Nota: Debe instalar al menos un gestor de ventanas en el
               perfil del sistema o en su perfil de usuaria.  En caso de
               no hacerlo, si ‘auto-login-session’ es falso, no podrá
               ingresar al sistema.

     ‘xorg-configuration’ (predeterminada ‘(xorg-configuration)’)
          Configuración del servidor gráfico Xorg.

     ‘display’ (predeterminada: ‘":0"’)
          La pantalla en la que se iniciará el servidor gráfico Xorg.

     ‘vt’ (predeterminado: ‘"vt7"’)
          El terminal virtual (VT) en el que se iniciará el servidor
          gráfico Xorg.

     ‘xauth’ (predeterminado: ‘xauth’)
          El paquete XAuth usado.

     ‘shepherd’ (predeterminado: ‘shepherd’)
          El paquete de Shepherd usado para la invocación de ‘halt’ y
          ‘reboot’.

     ‘sessreg’ (predeterminado: ‘sessreg’)
          El paquete sessreg usado para el registro de la sesión.

     ‘slim’ (predeterminado: ‘slim’)
          El paquete SLiM usado.

 -- Variable Scheme: %default-theme
 -- Variable Scheme: %default-theme-name
     El tema predeterminado de SLiM y su nombre.

 -- Variable Scheme: sddm-service-type
     Es el tipo del servicio que ejecuta el gestor de entrada SDDM
     (https://github.com/sddm/sddm).  Su valor es un registro
     ‘sddm-configuration’ (véase a continuación).

     Este es un ejemplo de su uso:

          (service sddm-service-type
                   (sddm-configuration
                     (auto-login-user "alicia")
                     (auto-login-session "xfce.desktop")))

 -- Tipo de datos: sddm-configuration
     Este tipo de datos representa la configuración del gestor de
     ingreso al sistema SDDM. Los campos disponibles son:

     ‘sddm’ (predeterminado: ‘sddm’)
          El paquete SDDM usado.

     ‘display-server’ (predeterminado: "x11")
          Selecciona el servidor de pantalla usado para el saludo.  Los
          valores validos son ‘"x11"’ o ‘"wayland"’.

     ‘numlock’ (predeterminado: "on")
          Son valores válidos ‘"on"’, ‘"off"’ o ‘"none"’.

     ‘halt-command’ (default ‘#~(string-append #$shepherd "/sbin/halt")’)
          Orden a ejecutar para parar el sistema.

     ‘reboot-command’ (predeterminado ‘#~(string-append #$shepherd "/sbin/reboot")’)
          Orden a ejecutar para reiniciar el sistema.

     ‘theme’ (predeterminado "maldives")
          Tema usado.  Los temas predeterminados proporcionados por SDDM
          son ‘"elarun"’, ‘"maldives"’ o ‘"maya"’.

     ‘themes-directory’ (predeterminado "/run/current-system/profile/share/sddm/themes")
          Directorio en el que buscar temas.

     ‘faces-directory’ (predeterminado "/run/current-system/profile/share/sddm/faces")
          Directorio en el que buscar caras.

     ‘default-path’ (predeterminado "/run/current-system/profile/bin")
          El valor predeterminado del PATH.

     ‘minimum-uid’ (predeterminado: 1000)
          UID mínimo mostrado en SDDM y al que se le permite el acceso.

     ‘maximum-uid’ (predeterminado: 2000)
          UID máximo mostrado en SDDM.

     ‘remember-last-user?’ (predeterminado #t)
          Recuerda la última usuaria.

     ‘remember-last-session?’ (predeterminado #t)
          Recuerda la última sesión.

     ‘hide-users’ (predeterminado "")
          Nombres de usuaria a ocultar de la pantalla de inicio de SDDM.

     ‘hide-shells’ (predeterminado ‘#~(string-append #$shadow "/sbin/nologin")’)
          Las usuarias que tengan alguno de los shell enumerados se
          ocultarán de la pantalla de inicio de SDDM.

     ‘session-command’ (predeterminado ‘#~(string-append #$sddm "/share/sddm/scripts/wayland-session")’)
          Guión a ejecutar antes de iniciar una sesión wayland.

     ‘sessions-directory’ (predeterminado "/run/current-system/profile/share/wayland-sessions")
          Directorio en el que buscar archivos desktop que inicien
          sesiones wayland.

     ‘xorg-configuration’ (predeterminada ‘(xorg-configuration)’)
          Configuración del servidor gráfico Xorg.

     ‘xauth-path’ (predeterminado ‘#~(string-append #$xauth "/bin/xauth")’)
          Ruta de xauth.

     ‘xephyr-path’ (predeterminado ‘#~(string-append #$xorg-server "/bin/Xephyr")’)
          Ruta de Xephyr.

     ‘xdisplay-start’ (predeterminado ‘#~(string-append #$sddm "/share/sddm/scripts/Xsetup")’)
          Guión a ejecutar tras iniciar xorg-server.

     ‘xdisplay-stop’ (predeterminado ‘#~(string-append #$sddm "/share/sddm/scripts/Xstop")’)
          Guión a ejecutar antes de parar xorg-server.

     ‘xsession-command’ (predeterminado: ‘xinitrc’)
          Guión a ejecutar antes de iniciar una sesión X.

     ‘xsessions-directory’ (predeterminado: "/run/current-system/profile/share/xsessions")
          Directorio para buscar archivos desktop que inicien sesiones
          X.

     ‘minimum-vt’ (predeterminado: 7)
          VT mínimo usado.

     ‘auto-login-user’ (predeterminado "")
          User account that will be automatically logged in.  Setting
          this to the empty string disables auto-login.

     ‘auto-login-session’ (predeterminado "")
          The ‘.desktop’ file name to use as the auto-login session, or
          the empty string.

     ‘relogin?’ (predeterminado #f)
          Volver a ingresar en el sistema tras salir.

 -- Scheme Variable: lightdm-service-type
     This is the type of the service to run the LightDM display manager
     (https://github.com/canonical/lightdm).  Its value must be a
     ‘lightdm-configuration’ record, which is documented below.  Among
     its distinguishing features are TigerVNC integration for easily
     remoting your desktop as well as support for the XDMCP protocol,
     which can be used by remote clients to start a session from the
     login manager.

     In its most basic form, it can be used simply as:

          (service lightdm-service-type)

     A more elaborate example making use of the VNC capabilities and
     enabling more features and verbose logs could look like:

          (service lightdm-service-type
                   (lightdm-configuration
                    (allow-empty-passwords? #t)
                    (xdmcp? #t)
                    (vnc-server? #t)
                    (vnc-server-command
                     (file-append tigervnc-server "/bin/Xvnc"
                                  "  -SecurityTypes None"))
                    (seats
                     (list (lightdm-seat-configuration
                            (name "*")
                            (user-session "ratpoison"))))))

 -- Data Type: lightdm-configuration
     Available ‘lightdm-configuration’ fields are:

     ‘lightdm’ (default: ‘lightdm’) (type: file-like)
          The lightdm package to use.

     ‘allow-empty-passwords?’ (default: ‘#f’) (type: boolean)
          Whether users not having a password set can login.

     ‘debug?’ (default: ‘#f’) (type: boolean)
          Enable verbose output.

     ‘xorg-configuration’ (type: xorg-configuration)
          The default Xorg server configuration to use to generate the
          Xorg server start script.  It can be refined per seat via the
          ‘xserver-command’ of the ‘<lightdm-seat-configuration>’
          record, if desired.

     ‘greeters’ (type: list-of-greeter-configurations)
          The LightDM greeter configurations specifying the greeters to
          use.

     ‘seats’ (type: list-of-seat-configurations)
          The seat configurations to use.  A LightDM seat is akin to a
          user.

     ‘xdmcp?’ (default: ‘#f’) (type: boolean)
          Whether a XDMCP server should listen on port UDP 177.

     ‘xdmcp-listen-address’ (type: maybe-string)
          The host or IP address the XDMCP server listens for incoming
          connections.  When unspecified, listen on for any hosts/IP
          addresses.

     ‘vnc-server?’ (default: ‘#f’) (type: boolean)
          Whether a VNC server is started.

     ‘vnc-server-command’ (type: file-like)
          The Xvnc command to use for the VNC server, it’s possible to
          provide extra options not otherwise exposed along the command,
          for example to disable security:

               (vnc-server-command (file-append tigervnc-server "/bin/Xvnc"
                                                " -SecurityTypes None" ))

          Or to set a PasswordFile for the classic (unsecure) VncAuth
          mecanism:

               (vnc-server-command (file-append tigervnc-server "/bin/Xvnc"
                                                " -PasswordFile /var/lib/lightdm/.vnc/passwd"))

          The password file should be manually created using the
          ‘vncpasswd’ command.  Note that LightDM will create new
          sessions for VNC users, which means they need to authenticate
          in the same way as local users would.

     ‘vnc-server-listen-address’ (type: maybe-string)
          The host or IP address the VNC server listens for incoming
          connections.  When unspecified, listen for any hosts/IP
          addresses.

     ‘vnc-server-port’ (default: ‘5900’) (type: number)
          The TCP port the VNC server should listen to.

     ‘extra-config’ (default: ‘()’) (type: list-of-strings)
          Extra configuration values to append to the LightDM
          configuration file.

 -- Data Type: lightdm-gtk-greeter-configuration
     Available ‘lightdm-gtk-greeter-configuration’ fields are:

     ‘lightdm-gtk-greeter’ (default: ‘lightdm-gtk-greeter’) (type: file-like)
          The lightdm-gtk-greeter package to use.

     ‘assets’  
          (default: ‘(adwaita-icon-theme
          gnome-themes-extrahicolor-icon-theme)’)  (type:
          list-of-file-likes) The list of packages complementing the
          greeter, such as package providing icon themes.

     ‘theme-name’ (default: ‘"Adwaita"’) (type: string)
          The name of the theme to use.

     ‘icon-theme-name’ (default: ‘"Adwaita"’) (type: string)
          The name of the icon theme to use.

     ‘cursor-theme-name’ (default: ‘"Adwaita"’) (type: string)
          The name of the cursor theme to use.

     ‘cursor-theme-size’ (default: ‘16’) (type: number)
          The size to use for the cursor theme.

     ‘allow-debugging?’ (type: maybe-boolean)
          Set to #t to enable debug log level.

     ‘background’ (type: file-like)
          The background image to use.

     ‘at-spi-enabled?’ (default: ‘#f’) (type: boolean)
          Enable accessibility support through the Assistive Technology
          Service Provider Interface (AT-SPI).

     ‘a11y-states’  
          (default: ‘(contrast font keyboard reader)’) (type:
          list-of-a11y-states) The accessibility features to enable,
          given as list of symbols.

     ‘reader’ (type: maybe-file-like)
          The command to use to launch a screen reader.

     ‘extra-config’ (default: ‘()’) (type: list-of-strings)
          Extra configuration values to append to the LightDM GTK
          Greeter configuration file.

 -- Data Type: lightdm-seat-configuration
     Available ‘lightdm-seat-configuration’ fields are:

     ‘name’ (type: seat-name)
          The name of the seat.  An asterisk (*) can be used in the name
          to apply the seat configuration to all the seat names it
          matches.

     ‘user-session’ (type: maybe-string)
          The session to use by default.  The session name must be
          provided as a lowercase string, such as ‘"gnome"’,
          ‘"ratpoison"’, etc.

     ‘type’ (default: ‘local’) (type: seat-type)
          The type of the seat, either the ‘local’ or ‘xremote’ symbol.

     ‘autologin-user’ (type: maybe-string)
          The username to automatically log in with by default.

     ‘greeter-session’  
          (default: ‘lightdm-gtk-greeter’) (type: greeter-session) The
          greeter session to use, specified as a symbol.  Currently,
          only ‘lightdm-gtk-greeter’ is supported.

     ‘xserver-command’ (type: maybe-file-like)
          The Xorg server command to run.

     ‘session-wrapper’ (type: file-like)
          The xinitrc session wrapper to use.

     ‘extra-config’ (default: ‘()’) (type: list-of-strings)
          Extra configuration values to append to the seat configuration
          section.

 -- Tipo de datos: xorg-configuration
     This data type represents the configuration of the Xorg graphical
     display server.  Note that there is no Xorg service; instead, the X
     server is started by a “display manager” such as GDM, SDDM, LightDM
     or SLiM.  Thus, the configuration of these display managers
     aggregates an ‘xorg-configuration’ record.

     ‘modules’ (predeterminados: ‘%default-xorg-modules’)
          Esta es la lista de “paquetes de módulos” cargados por el
          servidor Xorg—por ejemplo, ‘xf86-video-vesa’,
          ‘xf86-input-keyboard’, etcétera.

     ‘fonts’ (predeterminadas: ‘%default-xorg-fonts’)
          Es una lista de directorios de tipografías a añadir a la “ruta
          de tipografías” del servidor.

     ‘drivers’ (predeterminados: ‘'()’)
          Debe ser o bien la lista vacía, en cuyo caso Xorg selecciona
          el controlador gráfico automáticamente, o una lista de nombres
          de controladores que se intentarán en el orden
          especificado—por ejemplo, ‘("modesetting" "vesa")’.

     ‘resolutions’ (predeterminadas: ‘'()’)
          Cuando ‘resolutions’ es la lista vacía, Xorg selecciona una
          resolución de pantalla adecuada.  En otro caso, debe ser una
          lista de resoluciones—por ejemplo, ‘((1024 768) (640 480))’.

     ‘keyboard-layout’ (predeterminada: ‘#f’)
          Si es ‘#f’, Xorg usa la distribución de teclado
          predeterminada—normalmente inglés de EEUU (“qwerty”) para un
          teclado de PC de 105 teclas.

          En otro caso, debe ser un objeto ‘keyboard-layout’ que
          especifique la distribución de teclado usada para la ejecución
          de Xorg.  *Note Distribución de teclado::, para más
          información sobre cómo especificar la distribución de teclado.

     ‘extra-config’ (predeterminada: ‘'()’)
          Es una lista de cadenas u objetos añadida al final del archivo
          de configuración.  Se usa para proporcionar texto adicional
          para ser introducido de forma literal en el archivo de
          configuración.

     ‘server’ (predeterminado: ‘xorg-server’)
          Este es el paquete que proporciona el servidor Xorg.

     ‘server-arguments’ (predeterminados: ‘%default-xorg-server-arguments’)
          Es la lista de parámetros de línea de órdenes que se
          proporcionarán al servidor X. El valor predeterminado es
          ‘-nolisten tcp’.

 -- Procedimiento Scheme: set-xorg-configuration CONFIG
          [TIPO-DE-SERVICIO-DEL-GESTOR-DE-PANTALLA]

     Le dice al gestor de pantalla (de tipo
     TIPO-DE-SERVICIO-DEL-GESTOR-DE-PANTALLA) que use CONFIG, un
     registro ‘<xorg-configuration>’.

     Debido a que la configuración de Xorg se embebe en la configuración
     del gestor de ingreso en el sistema—por ejemplo,
     ‘gdm-configuration’—este procedimiento proporciona un atajo para
     establecer la configuración de Xorg.

 -- Procedimiento Scheme: xorg-start-command [CONFIG]
     Devuelve un script ‘startx’ en el que los módulos, las tipografías,
     etcétera, especificadas en CONFIG están disponibles.  El resultado
     debe usarse en lugar de ‘startx’.

     Habitualmente el servidor X es iniciado por un gestor de ingreso al
     sistema.

 -- Procedimiento Scheme: screen-locker-service PAQUETE [PROGRAMA]
     Añade PAQUETE, un paquete para un bloqueador de sesión o un
     salvapantallas cuya orden es PROGRAMA, al conjunto de programas
     setuid y añade una entrada PAM para él.  Por ejemplo:

          (screen-locker-service xlockmore "xlock")

     permite usar el viejo XlockMore.


File: guix.es.info,  Node: Servicios de impresión,  Next: Servicios de escritorio,  Prev: Sistema X Window,  Up: Servicios

12.9.8 Servicios de impresión
-----------------------------

El módulo ‘(gnu services cups)’ proporciona una definición de servicio
Guix para el servicio de impresión CUPS. Para usar impresoras en un
sistema Guix, añada un servicio ‘cups-service’ en su definición de
sistema operativo:

 -- Variable Scheme: cups-service-type
     El tipo de servicio para el servidor de impresión CUPS. Su valor
     debe ser una configuración de CUPS válida (véase a continuación).
     Para usar la configuración predeterminada, simplemente escriba:
          (service cups-service-type)

   La configuración de CUPS controla los aspectos básicos de su
instalación de CUPS: sobre qué interfaces se escuchará, qué hacer si
falla un trabajo de impresión, cuanta información registrar, etcétera.
Para realmente añadir una impresora, debe visitar la URL
<http://localhost:631>, o usar una herramienta como los servicios de
configuración de impresión de GNOME. De manera predeterminada, la
configuración de un servicio CUPS generará un certificado auto-firmado
en caso de ser necesario, para ofrecer conexiones seguras con el
servidor de impresión.

   Suppose you want to enable the Web interface of CUPS and also add
support for Epson printers via the ‘epson-inkjet-printer-escpr’ package
and for HP printers via the ‘hplip-minimal’ package.  You can do that
directly, like this (you need to use the ‘(gnu packages cups)’ module):

     (service cups-service-type
              (cups-configuration
                (web-interface? #t)
                (extensions
                  (list cups-filters epson-inkjet-printer-escpr hplip-minimal))))

     Nota: If you wish to use the Qt5 based GUI which comes with the
     hplip package then it is suggested that you install the ‘hplip’
     package, either in your OS configuration file or as your user.

   A continuación se encuentran los parámetros de configuración
disponibles.  El tipo de cada parámetro antecede la definición del
mismo; por ejemplo, ‘string-list foo’ indica que el parámetro ‘foo’ debe
especificarse como una lista de cadenas.  También existe la posibilidad
de especificar la configuración como una cadena, si tiene un archivo
‘cupsd.conf’ antiguo que quiere trasladar a otro sistema; véase el final
para más detalles.

   Los campos disponibles de ‘cups-configuration’ son:

 -- parámetro de ‘cups-configuration’: package cups
     El paquete CUPS.

 -- ‘cups-configuration’ parameter: package-list extensions (default:
          ‘(list brlaser cups-filters epson-inkjet-printer-escpr
          foomatic-filters hplip-minimal splix)’)
     Controladores y otras extensiones al paquete CUPS.

 -- parámetro de ‘cups-configuration’: archivos-conf files-configuration
     Configuración sobre dónde escribir los registros, qué directorios
     usar para las colas de impresión y parámetros de configuración
     privilegiados relacionados.

     Los campos disponibles de ‘files-configuration’ son:

      -- parámetro de ‘files-configuration’: ruta-registro access-log
          Define el nombre de archivo del registro de acceso.  La
          especificación de un nombre de archivo en blanco desactiva la
          generación de registros de acceso.  El valor ‘stderr’ hace que
          las entradas de registro se envíen al archivo de la salida
          estándar de error cuando el planificador se ejecute en primer
          plano, o al daemon de registro del sistema cuando se ejecute
          en segundo plano.  El valor ‘syslog’ envía las entradas de
          registro al daemon de registro del sistema.  El nombre de
          servidor puede incluirse en los nombres de archivo mediante el
          uso de la cadena ‘%s’, como en ‘/var/log/cups/%s-access_log’.

          El valor predeterminado es ‘"/var/log/cups/access_log"’.

      -- parámetro de ‘files-configuration’: nombre-archivo cache-dir
          Donde CUPS debe almacenar los datos de la caché.

          El valor predeterminado es ‘"/var/cache/cups"’.

      -- parámetro de ‘files-configuration’: string config-file-perm
          Especifica los permisos para todos los archivos de
          configuración que escriba el planficador.

          Tenga en cuenta que los permisos para el archivo printers.conf
          están configurados actualmente de modo que únicamente la
          usuaria del planificador (habitualmente root) tenga acceso.
          Se hace de esta manera debido a que las URI de las impresoras
          a veces contienen información sensible sobre la identificación
          que no debería conocerse de manera general en el sistema.  No
          hay forma de desactivar esta característica de seguridad.

          El valor predeterminado es ‘"0640"’.

      -- parámetro de ‘files-configuration’: ruta-registro error-log
          Define el nombre de archivo del registro de error.  La
          especificación de un nombre de archivo en blanco desactiva la
          generación de registros de error.  El valor ‘stderr’ hace que
          las entradas del registro se envíen al archivo de la salida de
          error estándar cuando el planificador se ejecute en primer
          plano, o al daemon de registro del sistema cuando se ejecute
          en segundo plano.  El valor ‘syslog’ provoca que las entradas
          del registro se envíen al daemon de registro del sistema.  El
          nombre del servidor puede incluirse en los nombres de archivo
          mediante el uso de la cadena ‘%s’, como en
          ‘/var/log/cups/%s-error_log’.

          El valor predeterminado es ‘"/var/log/cups/error_log"’.

      -- parámetro de ‘files-configuration’: string fatal-errors
          Especifica qué errores son fatales, los cuales provocan la
          salida del planificador.  El tipo de cadenas son:

          ‘none’
               Ningún error es fatal.

          ‘all’
               Todos los errores a continuación son fatales.

          ‘browse’
               Los errores de la inicialización de exploración son
               fatales, por ejemplo las conexiones fallidas al daemon
               DNS-SD.

          ‘config’
               Los errores de sintaxis en el archivo de configuración
               son fatales.

          ‘listen’
               Los errores de escucha o de puertos son fatales, excepto
               fallos IPv6 en la red local o en direcciones ‘any’.

          ‘log’
               Los errores de creación o escritura en el archivo de
               registros son fatales.

          ‘permissions’
               La mala configuración de los permisos de los archivos al
               inicio son fatales, por ejemplo certificados TLS
               compartidos y archivos de claves con permisos de
               escritura para todo el mundo.

          El valor predeterminado es ‘"all -browse"’.

      -- parámetro de ‘files-configuration’: boolean file-device?
          Especifica si el pseudo-dispositivo del archivo puede usarse
          para nuevas colas de impresión.  Siempre se permite la URI
          <file:///dev/null>.

          El valor predeterminado es ‘#f’

      -- parámetro de ‘files-configuration’: string group
          Especifica el nombre de grupo o ID usado para la ejecución de
          programas externos.

          El valor predeterminado es ‘"lp"’.

      -- ‘files-configuration’ parameter: string log-file-group
          Specifies the group name or ID that will be used for log
          files.

          Defaults to ‘"lpadmin"’.

      -- parámetro de ‘files-configuration’: string log-file-perm
          Especifica los permisos para todos los archivos de registro
          que el planificador escriba.

          El valor predeterminado es ‘"0644"’.

      -- parámetro de ‘files-configuration’: ruta-registro page-log
          Define el nombre de archivo del registro de páginas.  La
          especificación de un nombre de archivo en blanco desactiva la
          generación de registro de páginas.  El valor ‘stderr’ hace que
          las entradas del registro se envíen al archivo de la salida de
          error cuando el planificador se ejecute en primer plano, o al
          daemon de registro del sistema cuando se ejecuten en segundo
          plano.  El valor ‘syslog’ provoca que las entradas del
          registro se envíen al daemon de registro del sistema.  El
          nombre del servidor puede incluirse en los nombres de archivo
          mediante el uso de la cadena ‘%s’, como en
          ‘/var/log/cups/%s-page_log’.

          El valor predeterminado es ‘"/var/log/cups/page_log"’.

      -- parámetro de ‘files-configuration’: string remote-root
          Especifica el nombre de la usuaria asociado con accesos sin
          identificación por parte de clientes que digan ser la usuaria
          root.  La usuaria predeterminada es ‘remroot’.

          El valor predeterminado es ‘"remroot"’.

      -- parámetro de ‘files-configuration’: nombre-archivo request-root
          Especifica el directorio que contiene los trabajos de
          impresión y otros datos de peticiones HTTP.

          El valor predeterminado es ‘"/var/spool/cups"’.

      -- parámetro de ‘files-configuration’: aislamiento sandboxing
          Especifica el nivel de seguridad del aislamiento (sandbox) que
          se aplica sobre los filtros de impresión, motores y otros
          procesos lanzados por el planificador; o bien ‘relaxed’ o bien
          ‘strict’.  Esta directiva únicamente tiene uso actualmente en
          macOS.

          El valor predeterminado es ‘strict’.

      -- parámetro de ‘files-configuration’: nombre-archivo
               server-keychain
          Especifica la localización de los certificados TLS y las
          claves privadas.  CUPS buscará claves públicas y privadas en
          este directorio: un archivo ‘.crt’ para certificados
          codificados con PEM y los correspondientes archivo ‘.key’ para
          las claves privadas codificadas con PEM.

          El valor predeterminado es ‘"/etc/cups/ssl"’.

      -- parámetro de ‘files-configuration’: nombre-archivo server-root
          Especifica el directorio que contiene los archivos de
          configuración del servidor.

          El valor predeterminado es ‘"/etc/cups"’.

      -- parámetro de ‘files-configuration’: boolean sync-on-close?
          Especifica si el planificador llama fsync(2) tras la escritura
          de los archivos de configuración o estado.

          El valor predeterminado es ‘#f’

      -- parámetro de ‘files-configuration’:
               cadenas-separadas-por-espacios system-group
          Especifica el o los grupos usados para la identificación del
          grupo ‘@SYSTEM’.

      -- parámetro de ‘files-configuration’: nombre-archivo temp-dir
          Especifica el directorio donde se escriben los archivos
          temporales.

          El valor predeterminado es ‘"/var/spool/cups/tmp"’.

      -- parámetro de ‘files-configuration’: string user
          Especifica el nombre de usuaria o ID usado para la ejecución
          de programas externos.

          El valor predeterminado es ‘"lp"’.

      -- parámetro de ‘files-configuration’: string set-env
          Establece el valor de la variable de entorno especificada que
          se proporcionará a los procesos lanzados.

          El valor predeterminado es ‘"variable value"’.

 -- parámetro de ‘cups-configuration’: nivel-registro-acceso
          access-log-level
     Especifica el nivel de registro para el archivo AccessLog.  El
     nivel ‘config’ registra la adición, borrado o modificación de
     impresoras y clases, y el acceso y modificación de los archivos de
     configuración.  El nivel ‘actions’ registra cuando los trabajos de
     impresión se envían, mantienen a la espera, liberan, modifican o
     cancelan, además de todas las condiciones de ‘config’.  El nivel
     ‘all’ registra todas las peticiones.

     El valor predeterminado es ‘actions’.

 -- parámetro de ‘cups-configuration’: boolean auto-purge-jobs?
     Especifica si se purgan los datos del histórico de trabajos de
     manera automática cuando ya no son necesarios para las cuotas.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: lista-cadenas-separada-comas
          browse-dns-sd-sub-types
     Especifica una lista de subtipos de DNS-SD anunciados por cada
     impresora compartida.  Por ejemplo, ‘"_cups" "_print"’ le dirá a
     los clientes de red que se implementa tanto la compartición con
     CUPS como IPP Everywhere.

     El valor predeterminado es ‘"_cups"’.

 -- parámetro de ‘cups-configuration’: protocolos browse-local-protocols
     Especifica qué protocolos deben usarse para compartir las
     impresoras locales.

     El valor predeterminado es ‘dnssd’.

 -- parámetro de ‘cups-configuration’: boolean browse-web-if?
     Especifica si se anuncia la interfaz web de CUPS.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: boolean browsing?
     Especifica si se anuncian las impresoras compartidas.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: string classification
     Especifica la clasificación de seguridad del servidor.  Se puede
     usar cualquier nombre válido para anunciar la identificación del
     nivel de seguridad, incluyendo ‘"classified"’, ‘"confidential"’,
     ‘"secret"’, ‘"topsecret"’ y ‘"unclassified"’, o el anuncio puede
     omitirse para desactivar las funciones de impresión segura.

     El valor predeterminado es ‘""’.

 -- parámetro de ‘cups-configuration’: boolean classify-override?
     Especifica si las usuarias pueden modificar la clasificación
     (página de portada) de trabajos de impresión individuales mediante
     el uso de la opción ‘job-sheets’.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: tipo-id-pred default-auth-type
     Especifica el tipo de identificación usado por omisión.

     El valor predeterminado es ‘Basic’.

 -- parámetro de ‘cups-configuration’: cifrado-pred default-encryption
     Especifica si se usará cifrado para peticiones con identificación.

     El valor predeterminado es ‘Required’.

 -- parámetro de ‘cups-configuration’: string default-language
     Especifica el idioma predeterminado usado para el texto y contenido
     de la web.

     El valor predeterminado es ‘"en"’.

 -- parámetro de ‘cups-configuration’: cadena default-paper-size
     Especifica el tamaño predeterminado del papel para colas de
     impresión nuevas.  ‘"Auto"’ usa el valor predeterminado de la
     localización, mientras que ‘"None"’ especifica que no hay un tamaño
     de papel predeterminado.  Los nombres de tamaños específicos
     habitualmente son ‘"Letter"’ o ‘"A4"’(1).

     El valor predeterminado es ‘"Auto"’.

 -- parámetro de ‘cups-configuration’: string default-policy
     Especifica la política de acceso usada por omisión.

     El valor predeterminado es ‘"default"’.

 -- parámetro de ‘cups-configuration’: boolean default-shared?
     Especifica si las impresoras locales se comparten de manera
     predeterminada.

     El valor predeterminado es ‘#t’

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          dirty-clean-interval
     Especifica el retraso para la actualización de los archivos de
     configuración y estado, en segundo.  Un valor de 0 hace que la
     actualización se lleve a cabo tan pronto sea posible, en algunos
     milisegundos habitualmente.

     El valor predeterminado es ‘30’.

 -- parámetro de ‘cups-configuration’: política-error error-policy
     Especifica qué hacer cuando ocurra un error.  Los valores posibles
     son ‘abort-job’, que descartará el trabajo de impresión fallido;
     ‘retry-job’, que intentará llevar de nuevo a cabo el trabajo en un
     momento posterior; ‘retry-current-job’, que reintenta el trabajo
     que falló de manera inmediata; y ‘stop-printer’, que para la
     impresora.

     El valor predeterminado es ‘stop-printer’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo filter-limit
     Especifica el coste máximo de filtros que se ejecutan de manera
     concurrente, lo que puede usarse para minimizar problemas de
     recursos de disco, memoria y procesador.  Un límite de 0 desactiva
     la limitación del filtrado.  Una impresión media con una impresora
     no-PostScript necesita una limitación del filtrado de 200 más o
     menos.  Una impresora PostScript necesita cerca de la mitad (100).
     Establecer un límite por debajo de estos valores limitará de forma
     efectiva al planificador a la ejecución de un único trabajo de
     impresión en cualquier momento.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo filter-nice
     Especifica la prioridad de planificación de los filtros que se
     ejecuten para la impresión de un trabajo.  El valor de “nice” va
     desde 0, la mayor prioridad, a 19, la menor prioridad.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: búsqueda-nombres-máquina
          host-name-lookups
     Especifica si se realizarán las búsquedas inversas en las
     conexiones de clientes.  La opción ‘double’ instruye a ‘cupsd’ para
     que verifique que el nombre de máquina al que resuelve la dirección
     corresponde con la dirección devuelta por dicho nombre de máquina.
     Las búsquedas dobles también evitan que clientes con direcciones
     sin registrar se conecten a su servidor.  Configure esta opción con
     ‘#t’ o ‘double’ únicamente si es absolutamente necesario.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: entero-no-negativo job-kill-delay
     Especifica el número de segundos a esperar antes de terminar los
     filtros y el motor asociados con un trabajo cancelado o puesto en
     espera.

     El valor predeterminado es ‘30’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          job-retry-interval
     Especifica el intervalo entre los reintentos de trabajos en
     segundos.  Se usa de manera habitual en colas de fax pero también
     puede usarse con colas de impresión normales cuya política de error
     sea ‘retry-job’ o ‘retry-current-job’.

     El valor predeterminado es ‘30’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          job-retry-limit
     Especifica el número de reintentos que se llevan a cabo con los
     trabajos.  De manera habitual se usa con colas de fax pero también
     puede usarse con colas de impresión normal cuya política de error
     sea ‘retry-job’ o ‘retry-current-job’.

     El valor predeterminado es ‘5’.

 -- parámetro de ‘cups-configuration’: boolean keep-alive?
     Especifica si se permiten conexiones “keep-alive” de HTTP.

     El valor predeterminado es ‘#t’

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          limit-request-body
     Especifica el tamaño máximo de los archivos de impresión,
     peticiones IPP y datos de formularios HTTP. Un límite de 0
     desactiva la comprobación del límite.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: lista-cadenas-multilínea listen
     Escucha a la espera de conexiones en las interfaces especificadas.
     Se aceptan valores con la forma DIRECCIÓN:PUERTO, donde DIRECCIÓN
     es o bien una dirección IPv6 entre corchetes, una dirección IPv4 o
     ‘*’ para indicar todas las direcciones.  Los valores también pueden
     ser nombres de archivo de sockets de dominio de UNIX locales.  La
     directiva “Listen” es similar a la directiva “Port”, pero le
     permite la restricción del acceso a interfaces o redes específicas.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          listen-back-log
     Especifica el número de conexiones pendientes permitidas.
     Habitualmente afecta de manera exclusiva a servidores con mucha
     carga de trabajo que han alcanzado el límite de clientes
     “MaxClients”, pero también puede ser provocado por grandes números
     de conexiones simultaneas.  Cuando se alcanza el límite, el sistema
     operativo rechaza conexiones adicionales hasta que el planificador
     pueda aceptar las pendientes.

     El valor predeterminado es ‘128’.

 -- parámetro de ‘cups-configuration’: lista-location-access-control
          location-access-controls
     Especifica un conjunto adicional de controles de acceso.

     Los campos disponibles de ‘location-access-controls’ son:

      -- parámetro de ‘location-access-controls’: nombre-archivo path
          Especifica la ruta URI sobre la que el control de acceso
          tendrá efecto.

      -- parámetro de ‘location-access-controls’: lista-access-control
               access-controls
          Controles de acceso para todos los accesos a esta ruta, en el
          mismo formato que ‘access-controls’ de
          ‘operation-access-control’.

          El valor predeterminado es ‘()’.

      -- parámetro de ‘location-access-controls’:
               lista-method-access-control method-access-controls
          Controles de acceso para accesos con métodos específicos para
          esta ruta.

          El valor predeterminado es ‘()’.

          Los campos disponibles de ‘method-access-controls’ son:

           -- parámetro de ‘method-access-controls’: boolean reverse?
               Si es ‘#t’, los controles de acceso son efectivos con
               todos los métodos excepto los métodos listados.  En otro
               caso, son efectivos únicamente con los métodos listados.

               El valor predeterminado es ‘#f’

           -- parámetro de ‘method-access-controls’: lista-métodos
                    methods
               Métodos con los cuales este control de acceso es
               efectivo.

               El valor predeterminado es ‘()’.

           -- parámetro de ‘method-access-controls’:
                    lista-control-acceso access-controls
               Directivas de control de acceso, como una lista de
               cadenas.  Cada cadena debe ser una directiva, como
               ‘"Order allow,deny"’.

               El valor predeterminado es ‘()’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          log-debug-history
     Especifica el número de mensajes de depuración que se retienen para
     el registro si sucede un error en un trabajo de impresión.  Los
     mensajes de depuración se registran independientemente de la
     configuración de “LogLevel”.

     El valor predeterminado es ‘100’.

 -- parámetro de ‘cups-configuration’: nivel-registro log-level
     Especifica el nivel de depuración del archivo “ErrorLog”.  El valor
     ‘none’ inhibe todos los registros mientras que ‘debug2’ registra
     todo.

     El valor predeterminado es ‘info’

 -- parámetro de ‘cups-configuration’: formato-tiempo-registro
          log-time-format
     Especifica el formato de la fecha y el tiempo en los archivos de
     registro.  El valor ‘standard’ registra con segundos completos
     mientras que ‘usecs’ registra con microsegundos.

     El valor predeterminado es ‘standard’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-clients
     Especifica el número de clientes simultáneos máximo que son
     admitidos por el planificador.

     El valor predeterminado es ‘100’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          max-clients-per-host
     Especifica el número de clientes simultáneos máximo que se permiten
     desde una única dirección.

     El valor predeterminado es ‘100’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-copies
     Especifica el número de copias máximo que una usuaria puede
     imprimir con cada trabajo.

     El valor predeterminado es ‘9999’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-hold-time
     Especifica el tiempo máximo que un trabajo puede permanecer en el
     estado de espera ‘indefinite’ antes de su cancelación.  Un valor de
     0 desactiva la cancelación de trabajos en espera.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-jobs
     Especifica el número de trabajos simultáneos máximo permitido.  El
     valor 0 permite un número ilimitado de trabajos.

     El valor predeterminado es ‘500’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          max-jobs-per-printer
     Especifica el número de trabajos simultáneos máximo que se permite
     por impresora.  Un valor de 0 permite hasta “MaxJobs” por
     impresora.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          max-jobs-per-user
     Especifica el número de trabajos simultáneos máximo que se permite
     por usuaria.  Un valor de 0 permite hasta “MaxJobs” por usuaria.

     El valor predeterminado es ‘0’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-job-time
     Especifica el tiempo de duración de la impresión máximo que un
     trabajo puede tomar antes de ser cancelado, en segundos.  El valor
     0 desactiva la cancelación de trabajos “atascados”.

     El valor predeterminado es ‘10800’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo max-log-size
     Especifica el tamaño máximo de los archivos de registro antes de su
     rotación, en bytes.  El valor 0 desactiva la rotación de registros.

     El valor predeterminado es ‘1048576’.

 -- parámetro de ‘cups-configuration’: entero-no-negativo
          multiple-operation-timeout
     Especifica el tiempo máximo permitido entre archivos en un trabajo
     de impresión con múltiples archivos, en segundos.

     Defaults to ‘900’.

 -- parámetro de ‘cups-configuration’: string page-log-format
     Especifica el formato de las líneas PageLog.  Las secuencias de
     caracteres que comiencen con el signo de porcentaje (‘%’) se
     reemplazan con la información correspondiente, mientras que el
     resto de caracteres se copia de manera literal.  Se reconocen las
     siguientes secuencias:

     ‘%%’
          inserta literalmente un símbolo de porcentaje

     ‘%{nombre}’
          inserta el valor del atributo IPP especificado

     ‘%C’
          inserta el número de copias para la página actual

     ‘%P’
          inserta el número de página actual

     ‘%T’
          inserta la fecha y hora actuales en el formato común de
          registro

     ‘%j’
          introduce el ID del trabajo

     ‘%p’
          inserta el nombre de impresora

     ‘%u’
          inserta el nombre de usuaria

     La cadena vacía desactiva el registro de página.  La cadena ‘%p %u
     %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name}
     %{media} %{sides}’ crea un registro de página con los elementos
     estándar.

     El valor predeterminado es ‘""’.

 -- parámetro de ‘cups-configuration’: variables-entorno
          environment-variables
     Proporciona la o las variables de entorno especificadas a los
     procesos iniciados; una lista de cadenas.

     El valor predeterminado es ‘()’.

 -- parámetro de ‘cups-configuration’: lista-policy-configuration
          policies
     Especifica las políticas de control de acceso con nombre.

     Los campos disponibles de ‘policy-configuration’ son:

      -- parámetro de ‘policy-configuration’: string name
          El nombre de la política.

      -- parámetro de ‘policy-configuration’: string job-private-access
          Specifies an access list for a job’s private values.  ‘@ACL’
          maps to the printer’s requesting-user-name-allowed or
          requesting-user-name-denied values.  ‘@OWNER’ maps to the
          job’s owner.  ‘@SYSTEM’ maps to the groups listed for the
          ‘system-group’ field of the ‘files-configuration’, which is
          reified into the ‘cups-files.conf(5)’ file.  Other possible
          elements of the access list include specific user names, and
          ‘@GROUP’ to indicate members of a specific group.  The access
          list may also be simply ‘all’ or ‘default’.

          El valor predeterminado es ‘"@OWNER @SYSTEM"’.

      -- parámetro de ‘policy-configuration’: string job-private-values
          Especifica la lista de valores de trabajos a hacer privados, o
          bien ‘all’, ‘default’, o ‘none’.

          El valor predeterminado es ‘"job-name
          job-originating-host-name job-originating-user-name phone"’.

      -- parámetro de ‘policy-configuration’: string
               subscription-private-access
          Specifies an access list for a subscription’s private values.
          ‘@ACL’ maps to the printer’s requesting-user-name-allowed or
          requesting-user-name-denied values.  ‘@OWNER’ maps to the
          job’s owner.  ‘@SYSTEM’ maps to the groups listed for the
          ‘system-group’ field of the ‘files-configuration’, which is
          reified into the ‘cups-files.conf(5)’ file.  Other possible
          elements of the access list include specific user names, and
          ‘@GROUP’ to indicate members of a specific group.  The access
          list may also be simply ‘all’ or ‘default’.

          El valor predeterminado es ‘"@OWNER @SYSTEM"’.

      -- parámetro de ‘policy-configuration’: string
               subscription-private-values
          Especifica la lista de valores de trabajos a hacer privados, o
          bien ‘all’, ‘default’, o ‘none’.

          El valor predeterminado es ‘"notify-events notify-pull-method
          notify-recipient-uri notify-subscriber-user-name
          notify-user-data"’.

      -- parámetro de ‘policy-configuration’:
               lista-operation-access-control access-controls
          Control de acceso para operaciones de IPP.

          El valor predeterminado es ‘()’.

 -- parámetro de ‘cups-configuration’: boolean-o-entero-no-negativo
          preserve-job-files
     Especifica si los archivos del trabajo (documentos) se preservan
     tras la impresión de un trabajo.  Si se especifica un valor
     numérico, los archivos del trabajo se preservan durante el número
     indicado de segundos tras la impresión.  En otro caso, el valor
     booleano determina la conservación de manera indefinida.

     El valor predeterminado es ‘86400’.

 -- parámetro de ‘cups-configuration’: boolean-o-entero-no-negativo
          preserve-job-history
     Especifica si la historia del trabajo se preserva tras la impresión
     de un trabajo.  Si se especifica un valor numérico, la historia del
     trabajo se conserva tras la impresión el número de segundos
     indicado.  Si es ‘#t’, la historia del trabajo se conserva hasta
     que se alcance el límite de trabajos “MaxJobs”.

     El valor predeterminado es ‘#t’

 -- parámetro de ‘cups-configuration’: entero-no-negativo reload-timeout
     Especifica el tiempo a esperar hasta la finalización del trabajo
     antes de reiniciar el planificador.

     El valor predeterminado es ‘30’.

 -- parámetro de ‘cups-configuration’: string rip-cache
     Especifica la cantidad máxima de memoria usada durante la
     conversión de documentos en imágenes para una impresora.

     El valor predeterminado es ‘"128m"’.

 -- parámetro de ‘cups-configuration’: string server-admin
     Especifica la dirección de correo electrónico de la administradora
     del servidor.

     El valor predeterminado es ‘"root@localhost.localdomain"’.

 -- parámetro de ‘cups-configuration’: lista-nombres-máquina-o-*
          server-alias
     La directiva ServerAlias se usa para la validación de la cabecera
     HTTP Host cuando los clientes se conecten al planificador desde
     interfaces externas.  El uso del nombre especial ‘*’ puede exponer
     su sistema a ataques basados en el navegador web de reenlazado DNS
     ya conocidos, incluso cuando se accede a páginas a través de un
     cortafuegos.  Si el descubrimiento automático de nombres
     alternativos no funcionase, le recomendamos enumerar cada nombre
     alternativo con una directiva ServerAlias en vez del uso de ‘*’.

     El valor predeterminado es ‘*’.

 -- parámetro de ‘cups-configuration’: string server-name
     Especifica el nombre de máquina completamente cualificado del
     servidor.

     El valor predeterminado es ‘"localhost"’.

 -- parámetro de ‘cups-configuration’: server-tokens server-tokens
     Especifica qué información se incluye en la cabecera Server de las
     respuestas HTTP. ‘None’ desactiva la cabecera Server.
     ‘ProductOnly’ proporciona ‘CUPS’.  ‘Major’ proporciona ‘CUPS 2’.
     ‘Minor’ proporciona ‘CUPS 2.0’.  ‘Minimap’ proporciona ‘CUPS
     2.0.0’.  ‘OS’ proporciona ‘CUPS 2.0.0 (UNAME)’ donde UNAME es la
     salida de la orden ‘uname’.  ‘Full’ proporciona ‘CUPS 2.0.0 (UNAME)
     IPP/2.0’.

     El valor predeterminado es ‘Minimal’.

 -- parámetro de ‘cups-configuration’: lista-cadenas-multilínea
          ssl-listen
     Escucha en las interfaces especificadas a la espera de conexiones
     cifradas.  Se aceptan valores con la forma DIRECCIÓN:PUERTO, siendo
     DIRECCIÓN o bien una dirección IPv6 entre corchetes, o bien una
     dirección IPv4, o bien ‘*’ que representa todas las direcciones.

     El valor predeterminado es ‘()’.

 -- parámetro de ‘cups-configuration’: opciones-ssl ssl-options
     Determina las opciones de cifrado.  De manera predeterminada, CUPS
     permite únicamente el cifrado mediante TLS v1.0 o superior mediante
     el uso de modelos de cifrado de conocida seguridad.  La seguridad
     se reduce cuando se usan opciones ‘Allow’ y se aumenta cuando se
     usan opciones ‘Deny’.  La opción ‘AllowRC4’ permite el cifrado RC4
     de 128 bits, necesario para algunos clientes antiguos que no
     implementan los modelos más modernos.  La opción ‘AllowSSL3’
     desactiva SSL v3.0, necesario para algunos clientes antiguos que no
     implementan TLS v1.0.  La opción ‘DenyCBC’ desactiva todos los
     modelos de cifrado CBC. La opción ‘DenyTLS1.0’ desactiva TLS
     v1.0—esto fuerza la versión mínima del protocolo a TLS v1.1.

     El valor predeterminado es ‘()’.

 -- parámetro de ‘cups-configuration’: boolean strict-conformance?
     Especifica si el planificador exige que los clientes se adhieran de
     manera estricta a las especificaciones IPP.

     El valor predeterminado es ‘#f’

 -- parámetro de ‘cups-configuration’: entero-no-negativo timeout
     Especifica el plazo de las peticiones HTTP, en segundos.

     Defaults to ‘900’.

 -- parámetro de ‘cups-configuration’: boolean web-interface?
     Especifica si se debe activar la interfaz web.

     El valor predeterminado es ‘#f’

   En este punto probablemente esté pensando, “querido manual de Guix,
me gusta todo esto, pero...  ¡¿cuando se acaban las opciones de
configuración?!”.  De hecho ya terminan.  No obstante, hay un punto más:
puede ser que ya tenga un archivo ‘cupsd.conf’ que desee usar.  En ese
caso, puede proporcionar un objeto ‘opaque-cups-configuration’ como la
configuración de ‘cups-service-type’.

   Los campos disponibles de ‘opaque-cups-configuration’ son:

 -- parámetro de ‘opaque-cups-configuration’: paquete cups
     El paquete CUPS.

 -- parámetro de ‘opaque-cups-configuration’: string cupsd.conf
     El contenido de ‘cupsd.conf’, como una cadena.

 -- parámetro de ‘opaque-cups-configuration’: string cups-files.conf
     El contenido del archivo ‘cups-files.conf’, como una cadena.

   Por ejemplo, si el contenido de sus archivos ‘cupsd.conf’ y
‘cups-files.conf’ estuviese en cadenas del mismo nombre, podría
instanciar un servicio CUPS de esta manera:

     (service cups-service-type
              (opaque-cups-configuration
                (cupsd.conf cupsd.conf)
                (cups-files.conf cups-files.conf)))

   ---------- Footnotes ----------

   (1) NdT: ‘Letter’ es el formato estándar de ANSI, de 215,9x279,4
milímetros de tamaño, mientras que A4 es el formato estándar de ISO, de
210x297 milímetros de tamaño.


File: guix.es.info,  Node: Servicios de escritorio,  Next: Servicios de sonido,  Prev: Servicios de impresión,  Up: Servicios

12.9.9 Servicios de escritorio
------------------------------

El módulo ‘(gnu services desktop)’ proporciona servicios que son útiles
habitualmente en el contexto de una configuración de “escritorio”—es
decir, en una máquina que ejecute un servidor gráfico, posiblemente con
interfaces gráficas, etcétera.  También define servicios que
proporcionan entornos de escritorio específicos como GNOME, Xfce o MATE.

   Para simplificar las cosas, el módulo define una variable que
contiene el conjunto de servicios que las usuarias esperarían de manera
habitual junto a un entorno gráfico y de red:

 -- Variable Scheme: %desktop-services
     Es una lista de servicios que se construye en base a
     ‘%base-services’ y añade o ajusta servicios para una configuración
     de “escritorio” típica.

     En particular, añade un gestor de ingreso al sistema gráfico (*note
     ‘gdm-service-type’: Sistema X Window.), herramientas para el
     bloqueo de la pantalla, una herramienta de gestión de redes (*note
     ‘network-manager-service-type’: Servicios de red.) y gestión de
     modem (*note ‘modem-manager-service-type’: Servicios de red.),
     servicios de gestión de la energía y el color, el gestor de
     asientos e ingresos al sistema ‘elogind’, el servicio de
     privilegios Polkit, el servicio de geolocalización GeoClue, el
     daemon AccountsService que permite a las usuarias autorizadas el
     cambio de contraseñas del sistema, un cliente NTP (*note Servicios
     de red::), el daemon Avahi y configura el servicio del selector de
     servicios de nombres para que pueda usar ‘nss-mdns’ (*note mDNS:
     Selector de servicios de nombres.).

   La variable ‘%desktop-services’ puede usarse como el campo ‘services’
de una declaración ‘operating-system’ (*note ‘services’: Referencia de
operating-system.).

   De manera adicional, los procedimientos ‘gnome-desktop-service-type’,
‘xfce-desktop-service’, ‘mate-desktop-service-type’,
‘lxqt-desktop-service-type’ y ‘enlightenment-desktop-service-type’
pueden añadir GNOME, Xfce, MATE y/o Enlightenment al sistema.  “Añadir
GNOME” significa que servicios a nivel de sistema como las herramientas
de ayuda para el ajuste de la intensidad de luz de la pantalla y de
gestión de energía se añaden al sistema, extendiendo ‘polkit’ y ‘dbus’
de manera apropiada, y permitiendo a GNOME operar con privilegios
elevados en un número de interfaces del sistema de propósito especial.
Además, la adición de un servicio generado por
‘gnome-desktop-service-type’ añade el metapaquete GNOME al perfil del
sistema.  Del mismo modo, la adición del servicio Xfde no añade
únicamente el metapaquete ‘xfce’ al perfil del sistema, sino que también
le proporciona al gestor de archivos Thunar la posibilidad de abrir una
ventana de gestión de archivos en “modo root”, si la usuaria se
identifica mediante la contraseña de administración a través de la
interfaz gráfica estándar polkit.  “Añadir MATE” significa que ‘polkit’
y ‘dbus’ se extienden de manera apropiada, permitiendo a MATE operar con
privilegios elevados en un número de interfaces del sistema de propósito
especial.  De manera adicional, la adición de un servicio de tipo
‘mate-desktop-service-type’ añade el metapaquete MATE al perfil del
sistema.  “Añadir Enlightenment” significa que ‘dbus’ se extiende de
manera apropiada y varios ejecutables de Enlightenment se marcan como
“setuid”, para permitir el funcionamiento esperado del sistema bloqueo
de pantalla de Enlightenment entre otras funcionalidades.

   The desktop environments in Guix use the Xorg display server by
default.  If you’d like to use the newer display server protocol called
Wayland, you need to enable Wayland support in GDM (*note
wayland-gdm::).  Another solution is to use the ‘sddm-service’ instead
of GDM as the graphical login manager.  You should then select the
“GNOME (Wayland)” session in SDDM.  Alternatively you can also try
starting GNOME on Wayland manually from a TTY with the command
“XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session“.
Currently only GNOME has support for Wayland.

 -- Variable Scheme: gnome-desktop-service-type
     Es el tipo del servicio que añade el entorno de escritorio GNOME
     (https://www.gnome.org).  Su valor es un objeto
     ‘gnome-desktop-configuration’ (véase a continuación).

     Este servicio añade el paquete ‘gnome’ al perfil del sistema, y
     extiende polkit con las acciones de ‘gnome-settings-daemon’.

 -- Tipo de datos: gnome-desktop-configuration
     Registro de configuración para el entorno de escritorio GNOME.

     ‘gnome’ (predeterminado: ‘gnome’)
          El paquete GNOME usado.

 -- Variable Scheme: xfce-desktop-service-type
     Este es el tipo de un servicio para ejecutar el entorno de
     escritorio https://xfce.org (Xfce).  Su valor es un objeto
     ‘xfce-desktop-configuration’ (véase a continuación).

     Este servicio añade el paquete ‘xfce’ al perfil del sistema, y
     extiende polkit con la capacidad de ‘thunar’ para manipular el
     sistema de archivos como root dentro de una sesión de usuaria, tras
     la identificación de la usuaria con la contraseña de
     administración.

     Note that ‘xfce4-panel’ and its plugin packages should be installed
     in the same profile to ensure compatibility.  When using this
     service, you should add extra plugins (‘xfce4-whiskermenu-plugin’,
     ‘xfce4-weather-plugin’, etc.)  to the ‘packages’ field of your
     ‘operating-system’.

 -- Tipo de datos: xfce-desktop-configuration
     Registro de configuración para el entorno de escritorio Xfce.

     ‘xfce’ (predeterminado: ‘xfce’)
          El paquete Xfce usado.

 -- Variable Scheme: mate-desktop-service-type
     Es el tipo del servicio que ejecuta el entorno de escritorio MATE
     (https://mate-desktop.org/).  Su valor es un objeto
     ‘mate-desktop-configuration’ (véase a continuación).

     Este servicio añade el paquete ‘mate’ al perfil del sistema, y
     extiende polkit con acciones de ‘mate-settings-daemon’.

 -- Tipo de datos: mate-desktop-configuration
     Registro de configuración para el entorno de escritorio MATE.

     ‘mate’ (predeterminado: ‘mate’)
          El paquete MATE usado.

 -- Variable Scheme: lxqt-desktop-service-type
     This is the type of the service that runs the LXQt desktop
     environment (https://lxqt-project.org).  Its value is a
     ‘lxqt-desktop-configuration’ object (see below).

     Este servicio añade el paquete ‘lxqt’ al perfil del sistema.

 -- Tipo de datos: lxqt-desktop-configuration
     Registro de configuración para el entorno de escritorio LXQt.

     ‘lxqt’ (predeterminado: ‘lxqt’)
          El paquete LXQT usado.

 -- Variable Scheme: enlightenment-desktop-service-type
     Devuelve un servicio que añade el paquete ‘enlightenment’ al perfil
     del sistema, y extiende dbus con acciones de ‘efl’.

 -- Tipo de datos: enlightenment-desktop-service-configuration
     ‘enlightenment’ (predeterminado: ‘enlightenment’)
          El paquete enlightenment usado.

   Debido a que los servicios de escritorio GNOME, Xfce y MATE
incorporan tantos paquetes, la variable ‘%desktop-services’ no incluye
ninguno de manera predeterminada.  Para añadir GNOME, Xfce o MATE,
simplemente use ‘cons’ junto a ‘%desktop-services’ en el campo
‘services’ de su declaración ‘operating-system’:

     (use-modules (gnu))
     (use-service-modules desktop)
     (operating-system
       ...
       ;; cons* añade elementos a la lista proporcionada en el último
       ;; parámetro.
       (services (cons* (service gnome-desktop-service-type)
                        (service xfce-desktop-service)
                        %desktop-services))
       ...)

   Una vez realizado, estos entornos de escritorio se encontrarán como
opciones disponibles en la ventana del gestor gráfico de ingreso al
sistema.

   Las definiciones de servicio incluidas realmente en
‘%desktop-services’ y proporcionadas por ‘(gnu services dbus)’ y ‘(gnu
services desktop)’ se describen a continuación.

 -- Scheme Procedure: dbus-service [#:dbus DBUS] [#:services '()]
          [#:verbose?] Return a service that runs the ``system bus'',
          using
     DBUS, with support for SERVICES.  When VERBOSE? is true, it causes
     the ‘DBUS_VERBOSE’ environment variable to be set to ‘1’; a
     verbose-enabled D-Bus package such as ‘dbus-verbose’ should be
     provided as DBUS in this scenario.  The verbose output is logged to
     ‘/var/log/dbus-daemon.log’.

     D-Bus (https://dbus.freedesktop.org/) es una herramienta para la
     facilitación de intercomunicación entre procesos.  Su bus del
     sistema se usa para permitir la comunicación entre y la
     notificación de eventos a nivel de sistema a los servicios.

     SERVICES debe ser una lista de paquetes que proporcionen un
     directorio ‘etc/dbus-1/system.d’ que contenga archivos de
     configuración y políticas adicionales de D-Bus.  Por ejemplo, para
     permitir a avahi-daemon el uso del bus del sistema, SERVICES debe
     tener el valor ‘(list avahi)’.

 -- Procedimiento Scheme: elogind-service [#:config CONFIG]
     Devuelve un servicio que ejecuta el daemon de gestión de ingreso al
     sistema y de asientos ‘elogind’.  Elogind
     (https://github.com/elogind/elogind) expone una interfaz D-Bus que
     puede usarse para conocer las usuarias que han ingresado en el
     sistema, conocer qué tipo de sesiones tienen abiertas, suspender el
     sistema o inhibir su suspensión, reiniciar el sistema y otras
     tareas.

     Elogind maneja la mayor parte de los eventos a nivel de sistema de
     alimentación de su máquina, por ejemplo mediante la suspensión del
     sistema cuando se cierre la tapa, o mediante el apagado al pulsar
     la tecla correspondiente.

     El parámetro CONFIG especifica la configuración de elogind, y
     debería resultar en una invocación ‘(elogind-configuration
     (PARÁMETRO VALOR)...)’.  Los parámetros disponibles y sus valores
     predeterminados son:

     ‘kill-user-processes?’
          ‘#f’
     ‘kill-only-users’
          ‘()’
     ‘kill-exclude-users’
          ‘("root")’
     ‘inhibit-delay-max-seconds’
          ‘5’
     ‘handle-power-key’
          ‘poweroff’
     ‘handle-suspend-key’
          ‘suspend’
     ‘handle-hibernate-key’
          ‘hibernate’
     ‘handle-lid-switch’
          ‘suspend’
     ‘handle-lid-switch-docked’
          ‘ignore’
     ‘handle-lid-switch-external-power’
          ‘*unspecified*’
     ‘power-key-ignore-inhibited?’
          ‘#f’
     ‘suspend-key-ignore-inhibited?’
          ‘#f’
     ‘hibernate-key-ignore-inhibited?’
          ‘#f’
     ‘lid-switch-ignore-inhibited?’
          ‘#t’
     ‘holdoff-timeout-seconds’
          ‘30’
     ‘idle-action’
          ‘ignore’
     ‘idle-action-seconds’
          ‘(* 30 60)’
     ‘runtime-directory-size-percent’
          ‘10’
     ‘runtime-directory-size’
          ‘#f’
     ‘remove-ipc?’
          ‘#t’
     ‘suspend-state’
          ‘("mem" "standby" "freeze")’
     ‘suspend-mode’
          ‘()’
     ‘hibernate-state’
          ‘("disk")’
     ‘hibernate-mode’
          ‘("platform" "shutdown")’
     ‘hybrid-sleep-state’
          ‘("disk")’
     ‘hybrid-sleep-mode’
          ‘("suspend" "platform" "shutdown")’

 -- Procedimiento Scheme: accountsservice-service [#:accountsservice
          ACCOUNTSSERVICE]
     Devuelve un servicio que ejecuta AccountsService, un servicio del
     sistema para la enumeración de cuentas disponibles, el cambio de
     sus contraseñas, etcétera.  AccountsService se integra con
     PolicyKit para permitir a las usuarias sin privilegios la
     adquisición de la capacidad de modificar la configuración de su
     sistema.  Véase la página web de AccountsService
     (https://www.freedesktop.org/wiki/Software/AccountsService/) para
     más información.

     El parámetro ACCOUNTSSERVICE es el paquete ‘accountsservice’ que se
     expondrá como un servicio.

 -- Procedimiento Scheme: polkit-service [#:polkit POLKIT]
     Devuelve un servicio que ejecuta el servicio de gestión de
     privilegios Polkit
     (https://www.freedesktop.org/wiki/Software/polkit/), que permite a
     las administradoras del sistema la concesión de permisos sobre
     operaciones privilegiadas de manera estructurada.  Mediante las
     consultas al servicio Polkit, un componente del sistema con
     privilegios puede conocer cuando debe conceder capacidades
     adicionales a usuarias ordinarias.  Por ejemplo, se le puede
     conceder la capacidad a una usuaria ordinaria de suspender el
     sistema si la usuaria ingresó de forma local.

 -- Variable Scheme: polkit-wheel-service
     Servicio que añade a las usuarias del grupo ‘wheel’ como
     administradoras del servicio Polkit.  Esto hace que se solicite su
     propia contraseña a las usuarias del grupo ‘wheel’ cuando realicen
     acciones administrativas en vez de la contraseña de ‘root’, de
     manera similar al comportamiento de ‘sudo’.

 -- Variable Scheme: upower-service-type
     Servicio que ejecuta <https://upower.freedesktop.org/>, ‘upowerd’,
     un monitor a nivel de sistema de consumo de energía y niveles de
     batería, con las opciones de configuración proporcionadas.

     Implementa la interfaz D-Bus ‘org.freedesktop.UPower’, y se usa de
     forma notable en GNOME.

 -- Tipo de datos: upower-configuration
     Tipo de datos que representa la configuración de UPower.

     ‘upower’ (predeterminado: UPOWER)
          Paquete usado para ‘upower’.

     ‘watts-up-pro?’ (predeterminado: ‘#f’)
          Permite el uso del dispositivo Watts Up Pro.

     ‘poll-batteries?’ (predeterminado: ‘#t’)
          Usa el servicio de consulta del núcleo para los cambios en
          niveles de batería.

     ‘ignore-lid?’ (predeterminado: ‘#f’)
          Ignora el estado de la tapa, puede ser útil en caso de ser
          incorrecto un dispositivo determinado.

     ‘use-percentage-for-policy?’ (default: ‘#t’)
          Whether to use a policy based on battery percentage rather
          than on estimated time left.  A policy based on battery
          percentage is usually more reliable.

     ‘percentage-low’ (default: ‘20’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          porcentaje en el que la carga de la batería se considera baja.

     ‘percentage-critical’ (default: ‘5’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          porcentaje en el que la carga de la batería se considera
          crítica.

     ‘percentage-action’ (predeterminado: ‘2’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          porcentaje en el que se tomará la acción.

     ‘time-low’ (predeterminado: ‘1200’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          tiempo restante en segundos con el que carga de la batería se
          considera baja.

     ‘time-critical’ (predeterminado: ‘300’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          tiempo restante en segundos con el que carga de la batería se
          considera crítica.

     ‘time-action’ (predeterminado: ‘120’)
          Cuando ‘use-percentaje-for-policy?’ es ‘#t’, determina el
          tiempo restante en segundos con el que se tomará la acción.

     ‘critical-power-action’ (predeterminada: ‘'hybrid-sleep’)
          La acción tomada cuando se alcanza ‘percentage-action’ o
          ‘time-action’ (dependiendo de la configuración de
          ‘use-percentage-for-policy?’).

          Los valores posibles son:

             • ‘'power-off’

             • ‘'hibernate’

             • ‘'hybrid-sleep’.

 -- Procedimiento Scheme: udisks-service [#:udisks UDISKS]
     Devuelve un servicio para UDisks
     (https://udisks.freedesktop.org/docs/latest/), un daemon de
     “gestión de discos” que proporciona interfaces de usuaria con
     notificaciones y formas de montar/desmontar discos.  Los programas
     que se comunican con UDisk incluyen la orden ‘udisksctl’, parte de
     UDisks, y la utilidad “Discos” de GNOME. Tenga en cuenta que Udisks
     depende de la orden ‘mount’, de modo que únicamente será capaz de
     usar utilidades para sistemas de archivos instaladas en el perfil
     del sistema.  Si quiere, por ejemplo, poder montar sistemas de
     archivos NTFS en modo lectura/escritura, debe instalar ‘ntfs-3g’ en
     su sistema operativo.

 -- Variable Scheme: colord-service-type
     Devuelve un servicio que ejecuta ‘colord’, un servicio del sistema
     con una interfaz D-Bus para la gestión de perfiles de dispositivos
     de entrada y salida como la pantalla y el escáner.  Se usa de forma
     notable por parte de la herramienta gráfica de “Gestión de color”
     de GNOME. Véase la página web de colord
     (https://www.freedesktop.org/software/colord/) para más
     información.

 -- Scheme Variable: sane-service-type
     This service provides access to scanners via SANE
     (http://www.sane-project.org) by installing the necessary udev
     rules.  It is included in ‘%desktop-services’ (*note Servicios de
     escritorio::) and relies by default on ‘sane-backends-minimal’
     package (see below) for hardware support.

 -- Scheme Variable: sane-backends-minimal
     The default package which the ‘sane-service-type’ installs.  It
     supports many recent scanners.

 -- Scheme Variable: sane-backends
     This package includes support for all scanners that
     ‘sane-backends-minimal’ supports, plus older Hewlett-Packard
     scanners supported by ‘hplip’ package.  In order to use this on a
     system which relies on ‘%desktop-services’, you may use
     ‘modify-services’ (*note ‘modify-services’: Referencia de
     servicios.) as illustrated below:

          (use-modules (gnu))
          (use-service-modules
            ...
            desktop)
          (use-package-modules
            ...
            scanner)

          (define %my-desktop-services
            ;; List of desktop services that supports a broader range of scanners.
            (modify-services %desktop-services
              (sane-service-type _ => sane-backends)))

          (operating-system
            ...
            (services %my-desktop-services))

 -- Procedimiento Scheme: geoclue-application-name [#:allowed? #t]
          [#:system? #f] [#:users '()]
     Devuelve una configuración que permite a una aplicación el acceso a
     los datos de posicionamiento de GeoClue.  NOMBRE es el Desktop ID
     de la aplicación, sin la parte ‘.desktop’.  Si el valor de ALLOWED?
     es verdadero, la aplicación tendrá acceso a la información de
     posicionamiento de manera predeterminada.  El valor booleano
     SYSTEM? indica si una aplicación es un componente de sistema o no.
     Por último, USERS es una lista de UID de todas las usuarias para
     las que esta aplicación tiene permitido el acceso de información.
     Una lista de usuarias vacía significa que se permiten todas las
     usuarias.

 -- Variable Scheme: %standard-geoclue-applications
     La lista estándar de configuraciones de GeoClue de aplicaciones
     conocidas, proporcionando autoridad a la utilidad de fecha y hora
     de GNOME para obtener la localización actual para ajustar la zona
     horaria, y permitiendo que los navegadores Icecat y Epiphany puedan
     solicitar información de localización.  Tanto IceCat como Epiphany
     solicitan permiso a la usuaria antes de permitir a una página web
     conocer la ubicación de la usuaria.

 -- Procedimiento Scheme: geoclue-service [#:colord COLORD] [#:whitelist
          '()]  [#:wifi-geolocation-url
     "https://location.services.mozilla.com/v1/geolocate?key=geoclue"]
      [#:submit-data?  #f] [#:wifi-submission-url
     "https://location.services.mozilla.com/v1/submit?key=geoclue"]
      [#:submission-nick "geoclue"]  [#:applications
     %standard-geoclue-applications] Devuelve un servicio que ejecuta el
     servicio de posicionamiento GeoClue.  Proporciona una interfaz
     D-Bus que permite a las aplicaciones solicitar una posición física
     de la usuaria, y de manera opcional añadir información a bases de
     datos de posicionamiento en línea.  Véase la página web de GeoClue
     (https://wiki.freedesktop.org/www/Software/GeoClue/) para obtener
     más información.

 -- Procedimiento Scheme: bluetooth-service [#:bluez BLUEZ]
          [#:auto-enable? #f]
     Devuelve un servicio que ejecuta el daemon ‘bluetoothd’ que
     gestiona todos los dispositivos Bluetooth y proporciona cierto
     número de interfaces D-Bus.  Cuando AUTO-ENABLE? es verdadero, el
     controlador bluetooth tendrá alimentación automáticamente tras el
     arranque, lo que puede ser útil si se posee un teclado o un ratón
     bluetooth.

     Las usuarias necesitan la pertenencia al grupo ‘lp’ para el acceso
     al servicio D-Bus.

 -- Scheme Variable: bluetooth-service-type
     This is the type for the Linux Bluetooth Protocol Stack
     (https://bluez.org/) (BlueZ) system, which generates the
     ‘/etc/bluetooth/main.conf’ configuration file.  The value for this
     type is a ‘bluetooth-configuration’ record as in this example:

          (service bluetooth-service-type)

     See below for details about ‘bluetooth-configuration’.

 -- Data Type: bluetooth-configuration
     Data type representing the configuration for ‘bluetooth-service’.

     ‘bluez’ (default: ‘bluez’)
          ‘bluez’ package to use.

     ‘name’ (default: ‘"BlueZ"’)
          Default adapter name.

     ‘class’ (default: ‘#x000000’)
          Default device class.  Only the major and minor device class
          bits are considered.

     ‘discoverable-timeout’ (default: ‘180’)
          How long to stay in discoverable mode before going back to
          non-discoverable.  The value is in seconds.

     ‘always-pairable?’ (default: ‘#f’)
          Always allow pairing even if there are no agents registered.

     ‘pairable-timeout’ (default: ‘0’)
          How long to stay in pairable mode before going back to
          non-discoverable.  The value is in seconds.

     ‘device-id’ (default: ‘#f’)
          Use vendor id source (assigner), vendor, product and version
          information for DID profile support.  The values are separated
          by ":" and ASSIGNER, VID, PID and VERSION.

          Los valores posibles son:

             • ‘#f’ to disable it,

             • ‘"assigner:1234:5678:abcd"’, where ASSIGNER is either
               ‘usb’ (default) or ‘bluetooth’.

     ‘reverse-service-discovery?’ (default: ‘#t’)
          Do reverse service discovery for previously unknown devices
          that connect to us.  For BR/EDR this option is really only
          needed for qualification since the BITE tester doesn’t like us
          doing reverse SDP for some test cases, for LE this disables
          the GATT client functionally so it can be used in system which
          can only operate as peripheral.

     ‘name-resolving?’ (default: ‘#t’)
          Enable name resolving after inquiry.  Set it to ‘#f’ if you
          don’t need remote devices name and want shorter discovery
          cycle.

     ‘debug-keys?’ (default: ‘#f’)
          Enable runtime persistency of debug link keys.  Default is
          false which makes debug link keys valid only for the duration
          of the connection that they were created for.

     ‘controller-mode’ (default: ‘'dual’)
          Restricts all controllers to the specified transport.  ‘'dual’
          means both BR/EDR and LE are enabled (if supported by the
          hardware).

          Los valores posibles son:

             • ‘'dual’

             • ‘'bredr’

             • ‘'le’

     ‘multi-profile’ (default: ‘'off’)
          Enables Multi Profile Specification support.  This allows to
          specify if system supports only Multiple Profiles Single
          Device (MPSD) configuration or both Multiple Profiles Single
          Device (MPSD) and Multiple Profiles Multiple Devices (MPMD)
          configurations.

          Los valores posibles son:

             • ‘'off’

             • ‘'single’

             • ‘'multiple’

     ‘fast-connectable?’ (default: ‘#f’)
          Permanently enables the Fast Connectable setting for adapters
          that support it.  When enabled other devices can connect
          faster to us, however the tradeoff is increased power
          consumptions.  This feature will fully work only on kernel
          version 4.1 and newer.

     ‘privacy’ (default: ‘'off’)
          Default privacy settings.

             • ‘'off’: Disable local privacy

             • ‘'network/on’: A device will only accept advertising
               packets from peer devices that contain private addresses.
               It may not be compatible with some legacy devices since
               it requires the use of RPA(s) all the time

             • ‘'device’: A device in device privacy mode is only
               concerned about the privacy of the device and will accept
               advertising packets from peer devices that contain their
               Identity Address as well as ones that contain a private
               address, even if the peer device has distributed its IRK
               in the past

          and additionally, if CONTROLLER-MODE is set to ‘'dual’:

             • ‘'limited-network’: Apply Limited Discoverable Mode to
               advertising, which follows the same policy as to BR/EDR
               that publishes the identity address when discoverable,
               and Network Privacy Mode for scanning

             • ‘'limited-device’: Apply Limited Discoverable Mode to
               advertising, which follows the same policy as to BR/EDR
               that publishes the identity address when discoverable,
               and Device Privacy Mode for scanning.

     ‘just-works-repairing’ (default: ‘'never’)
          Specify the policy to the JUST-WORKS repairing initiated by
          peer.

          Possible values:
             • ‘'never’

             • ‘'confirm’

             • ‘'always’

     ‘temporary-timeout’ (default: ‘30’)
          How long to keep temporary devices around.  The value is in
          seconds.  ‘0’ disables the timer completely.

     ‘refresh-discovery?’ (default: ‘#t’)
          Enables the device to issue an SDP request to update known
          services when profile is connected.

     ‘experimental’ (default: ‘#f’)
          Enables experimental features and interfaces, alternatively a
          list of UUIDs can be given.

          Possible values:

             • ‘#t’

             • ‘#f’

             • ‘(list (uuid <uuid-1>) (uuid <uuid-2>) ...)’.

          List of possible UUIDs:
             • ‘d4992530-b9ec-469f-ab01-6c481c47da1c’: BlueZ
               Experimental Debug,

             • ‘671b10b5-42c0-4696-9227-eb28d1b049d6’: BlueZ
               Experimental Simultaneous Central and Peripheral,

             • ‘"15c0a148-c273-11ea-b3de-0242ac130004’: BlueZ
               Experimental LL privacy,

             • ‘330859bc-7506-492d-9370-9a6f0614037f’: BlueZ
               Experimental Bluetooth Quality Report,

             • ‘a6695ace-ee7f-4fb9-881a-5fac66c629af’: BlueZ
               Experimental Offload Codecs.

     ‘remote-name-request-retry-delay’ (default: ‘300’)
          The duration to avoid retrying to resolve a peer’s name, if
          the previous try failed.

     ‘page-scan-type’ (default: ‘#f’)
          BR/EDR Page scan activity type.

     ‘page-scan-interval’ (default: ‘#f’)
          BR/EDR Page scan activity interval.

     ‘page-scan-window’ (default: ‘#f’)
          BR/EDR Page scan activity window.

     ‘inquiry-scan-type’ (default: ‘#f’)
          BR/EDR Inquiry scan activity type.

     ‘inquiry-scan-interval’ (default: ‘#f’)
          BR/EDR Inquiry scan activity interval.

     ‘inquiry-scan-window’ (default: ‘#f’)
          BR/EDR Inquiry scan activity window.

     ‘link-supervision-timeout’ (default: ‘#f’)
          BR/EDR Link supervision timeout.

     ‘page-timeout’ (default: ‘#f’)
          BR/EDR Page timeout.

     ‘min-sniff-interval’ (default: ‘#f’)
          BR/EDR minimum sniff interval.

     ‘max-sniff-interval’ (default: ‘#f’)
          BR/EDR maximum sniff interval.

     ‘min-advertisement-interval’ (default: ‘#f’)
          LE minimum advertisement interval (used for legacy
          advertisement only).

     ‘max-advertisement-interval’ (default: ‘#f’)
          LE maximum advertisement interval (used for legacy
          advertisement only).

     ‘multi-advertisement-rotation-interval’ (default: ‘#f’)
          LE multiple advertisement rotation interval.

     ‘scan-interval-auto-connect’ (default: ‘#f’)
          LE scanning interval used for passive scanning supporting auto
          connect.

     ‘scan-window-auto-connect’ (default: ‘#f’)
          LE scanning window used for passive scanning supporting auto
          connect.

     ‘scan-interval-suspend’ (default: ‘#f’)
          LE scanning interval used for active scanning supporting wake
          from suspend.

     ‘scan-window-suspend’ (default: ‘#f’)
          LE scanning window used for active scanning supporting wake
          from suspend.

     ‘scan-interval-discovery’ (default: ‘#f’)
          LE scanning interval used for active scanning supporting
          discovery.

     ‘scan-window-discovery’ (default: ‘#f’)
          LE scanning window used for active scanning supporting
          discovery.

     ‘scan-interval-adv-monitor’ (default: ‘#f’)
          LE scanning interval used for passive scanning supporting the
          advertisement monitor APIs.

     ‘scan-window-adv-monitor’ (default: ‘#f’)
          LE scanning window used for passive scanning supporting the
          advertisement monitor APIs.

     ‘scan-interval-connect’ (default: ‘#f’)
          LE scanning interval used for connection establishment.

     ‘scan-window-connect’ (default: ‘#f’)
          LE scanning window used for connection establishment.

     ‘min-connection-interval’ (default: ‘#f’)
          LE default minimum connection interval.  This value is
          superseded by any specific value provided via the Load
          Connection Parameters interface.

     ‘max-connection-interval’ (default: ‘#f’)
          LE default maximum connection interval.  This value is
          superseded by any specific value provided via the Load
          Connection Parameters interface.

     ‘connection-latency’ (default: ‘#f’)
          LE default connection latency.  This value is superseded by
          any specific value provided via the Load Connection Parameters
          interface.

     ‘connection-supervision-timeout’ (default: ‘#f’)
          LE default connection supervision timeout.  This value is
          superseded by any specific value provided via the Load
          Connection Parameters interface.

     ‘autoconnect-timeout’ (default: ‘#f’)
          LE default autoconnect timeout.  This value is superseded by
          any specific value provided via the Load Connection Parameters
          interface.

     ‘adv-mon-allowlist-scan-duration’ (default: ‘300’)
          Allowlist scan duration during interleaving scan.  Only used
          when scanning for ADV monitors.  The units are msec.

     ‘adv-mon-no-filter-scan-duration’ (default: ‘500’)
          No filter scan duration during interleaving scan.  Only used
          when scanning for ADV monitors.  The units are msec.

     ‘enable-adv-mon-interleave-scan?’ (default: ‘#t’)
          Enable/Disable Advertisement Monitor interleave scan for power
          saving.

     ‘cache’ (default: ‘'always’)
          GATT attribute cache.

          Los valores posibles son:
             • ‘'always’: Always cache attributes even for devices not
               paired, this is recommended as it is best for
               interoperability, with more consistent reconnection times
               and enables proper tracking of notifications for all
               devices

             • ‘'yes’: Only cache attributes of paired devices

             • ‘'no’: Never cache attributes.

     ‘key-size’ (default: ‘0’)
          Minimum required Encryption Key Size for accessing secured
          characteristics.

          Los valores posibles son:
             • ‘0’: Don’t care

             • ‘7 <= N <= 16’

     ‘exchange-mtu’ (default: ‘517’)
          Exchange MTU size.  Possible values are:

             • ‘23 <= N <= 517’

     ‘att-channels’ (default: ‘3’)
          Number of ATT channels.  Possible values are:

             • ‘1’: Disables EATT

             • ‘2 <= N <= 5’

     ‘session-mode’ (default: ‘'basic’)
          AVDTP L2CAP signalling channel mode.

          Los valores posibles son:

             • ‘'basic’: Use L2CAP basic mode

             • ‘'ertm’: Use L2CAP enhanced retransmission mode.

     ‘stream-mode’ (default: ‘'basic’)
          AVDTP L2CAP transport channel mode.

          Los valores posibles son:

             • ‘'basic’: Use L2CAP basic mode

             • ‘'streaming’: Use L2CAP streaming mode.

     ‘reconnect-uuids’ (default: ‘'()’)
          The ReconnectUUIDs defines the set of remote services that
          should try to be reconnected to in case of a link loss (link
          supervision timeout).  The policy plugin should contain a sane
          set of values by default, but this list can be overridden
          here.  By setting the list to empty the reconnection feature
          gets disabled.

          Possible values:

             • ‘'()’

             • ‘(list (uuid <uuid-1>) (uuid <uuid-2>) ...)’.

     ‘reconnect-attempts’ (default: ‘7’)
          Defines the number of attempts to reconnect after a link lost.
          Setting the value to 0 disables reconnecting feature.

     ‘reconnect-intervals’ (default: ‘'(1 2 4 8 16 32 64)’)
          Defines a list of intervals in seconds to use in between
          attempts.  If the number of attempts defined in
          RECONNECT-ATTEMPTS is bigger than the list of intervals the
          last interval is repeated until the last attempt.

     ‘auto-enable?’ (default: ‘#f’)
          Defines option to enable all controllers when they are found.
          This includes adapters present on start as well as adapters
          that are plugged in later on.

     ‘resume-delay’ (default: ‘2’)
          Audio devices that were disconnected due to suspend will be
          reconnected on resume.  RESUME-DELAY determines the delay
          between when the controller resumes from suspend and a
          connection attempt is made.  A longer delay is better for
          better co-existence with Wi-Fi.  The value is in seconds.

     ‘rssi-sampling-period’ (default: ‘#xFF’)
          Default RSSI Sampling Period.  This is used when a client
          registers an advertisement monitor and leaves the
          RSSISamplingPeriod unset.

          Los valores posibles son:
             • ‘#x0’: Report all advertisements

             • ‘N = #xXX’: Report advertisements every N x 100 msec
               (range: #x01 to #xFE)

             • ‘#xFF’: Report only one advertisement per device during
               monitoring period.

 -- Variable Scheme: gnome-keyring-service-type
     Es el tipo del servicio que añade el entorno de escritorio el
     anillo de claves de GNOME
     (https://wiki.gnome.org/Projects/GnomeKeyring).  Su valor es un
     objeto ‘gnome-keyring-configuration’ (véase a continuación).

     Este servicio añade el paquete ‘gnome-keyring’ al perfil del
     sistema y extiende PAM con entradas que usan
     ‘pam_gnome_keyring.so’, las cuales desbloquean el anillo de claves
     del sistema de la usuaria cuando ingrese en el sistema o cambie su
     contraseña con passwd.

 -- Tipo de datos: gnome-keyring-configuration
     Registro de configuración para el servicio del anillo de claves de
     GNOME.

     ‘keyring’ (predeterminado: ‘gnome-keyring’)
          El paquete GNOME keyring usado.

     ‘pam-services’
          Una lista de pares ‘(SERVICIO . TIPO)’ que denotan los
          servicios de PAM que deben extenderse, donde SERVICIO es el
          nombre de un servicio existente que debe extenderse y TIPO es
          ‘login’ o ‘passwd’.

          Si se proporciona ‘login’, añade un campo opcional
          ‘pam_gnome_keyring.so’ al bloque de identificación sin
          parámetros y al bloque de sesión con ‘auto_start’.  Si se
          proporciona ‘passwd’, añade un campo opcional
          ‘pam_gnome_keyring.so’ al bloque de contraseña sin parámetros.

          De manera predeterminada, este campo contiene “gdm-password”
          con el valor ‘login’ y “passwd” tiene valor ‘passwd’.

 -- Scheme Variable: seatd-service-type
     seatd (https://sr.ht/~kennylevinsen/seatd/) is a minimal seat
     management daemon.

     Seat management takes care of mediating access to shared devices
     (graphics, input), without requiring the applications needing
     access to be root.

          (append
            (list
             ;; make sure seatd is running
             (service seatd-service-type))

            ;; normally one would want %base-services
            %base-services)


     ‘seatd’ operates over a UNIX domain socket, with ‘libseat’
     providing the client side of the protocol.  Applications that
     acquire access to the shared resources via ‘seatd’ (e.g.  ‘sway’)
     need to be able to talk to this socket.  This can be achieved by
     adding the user they run under to the group owning ‘seatd’’s socket
     (usually “seat”), like so:

          (user-account
            (name "alice")
            (group "users")
            (supplementary-groups '("wheel"   ; allow use of sudo, etc.
                                    "seat"    ; seat management
                                    "audio"   ; sound card
                                    "video"   ; video devices such as webcams
                                    "cdrom")) ; the good ol' CD-ROM
            (comment "Bob's sister"))

     Depending on your setup, you will have to not only add regular
     users, but also system users to this group.  For instance, some
     greetd greeters require graphics and therefore also need to
     negotiate with seatd.

 -- Data Type: seatd-configuration
     Configuration record for the seatd daemon service.

     ‘seatd’ (default: ‘seatd’)
          The seatd package to use.

     ‘group’ (default: ‘"seat"’)
          Group to own the seatd socket.

     ‘socket’ (default: ‘"/run/seatd.sock"’)
          Where to create the seatd socket.

     ‘logfile’ (default: ‘"/var/log/seatd.log"’)
          Log file to write to.

     ‘loglevel’ (default: ‘"error"’)
          Log level to output logs.  Possible values: ‘"silent"’,
          ‘"error"’, ‘"info"’ and ‘"debug"’.


File: guix.es.info,  Node: Servicios de sonido,  Next: Servicios de bases de datos,  Prev: Servicios de escritorio,  Up: Servicios

12.9.10 Servicios de sonido
---------------------------

El módulo ‘(gnu services sound)’ proporciona un servicio para la
configuración del sistema ALSA (arquitectura avanzada de sonido de
Linux), el cual establece PulseAudio como el controlador de ALSA
preferido para salida de sonido.

 -- Variable Scheme: alsa-service-type
     Es el tipo para el sistema ALSA (https://alsa-project.org/)
     (Arquitectura de sonido avanzada de Linux), que genera el archivo
     de configuración ‘/etc/asound.conf’.  El valor para este tipo es un
     registro ‘alsa-configuration’ como en el ejemplo:

          (service alsa-service-type)

     Véase a continuación más detalles sobre ‘alsa-configuration’.

 -- Tipo de datos: alsa-configuration
     Tipo de datos que representa la configuración para ‘alsa-service’.

     ‘alsa-plugins’ (predeterminados: ALSA-PLUGINS)
          El paquete ‘alsa-plugins’ usado.

     ‘pulseaudio?’ (predeterminado: #T)
          Determina si las aplicaciones ALSA deben usar el servidor de
          sonido PulseAudio (https://www.pulseaudio.org/) de manera
          transparente.

          El uso de PulseAudio le permite la ejecución de varias
          aplicaciones que produzcan sonido al mismo tiempo y su control
          individual mediante ‘pavucontrol’, entre otras opciones.

     ‘extra-options’ (predeterminado: "")
          Cadena a añadir al final del archivo ‘/etc/asound.conf’.

   Las usuarias individuales que deseen forzar la configuración de ALSA
en el sistema para sus cuentas pueden hacerlo con el archivo
‘~/.asoundrc’:

     # En guix tenemos que especificar la ruta absoluta del módulo.
     pcm_type.jack {
       lib "/home/alicia/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so"
     }

     # Redirección de ALSA a jack:
     # <http://jackaudio.org/faq/routing_alsa.html>.
     pcm.rawjack {
       type jack
       playback_ports {
         0 system:playback_1
         1 system:playback_2
       }

       capture_ports {
         0 system:capture_1
         1 system:capture_2
       }
     }

     pcm.!default {
       type plug
       slave {
         pcm "rawjack"
       }
     }

   Véase <https://www.alsa-project.org/main/index.php/Asoundrc> para
obtener más detalles.

 -- Variable Scheme: pulseaudio-service-type
     Tipo de servicio del servidor de sonido PulseAudio.  Existe para
     permitir los cambios a nivel de sistema de la configuración
     predeterminada a través de ‘pulseaudio-configuration’, véase a
     continuación.

          Aviso: Este servicio hace que se ignoren los archivos de
          configuración de cada usuaria.  Si desea que PulseAudio
          respete los archivos de configuración en ‘~/.config/pulse’
          tiene que eliminar del entorno (con ‘unset’) las variables
          ‘PULSE_CONFIG’ y ‘PULSE_CLIENTCONFIG’ en su archivo
          ‘~/.bash_profile’.

          Aviso: Este servicio no asegura en sí que el paquete
          ‘pulseaudio’ exista en su máquina.  Únicamente añade los
          archivos de configuración, como se detalla a continuación.  En
          el caso (ciertamente poco probable), de que se encuentre si un
          paquete pulseaudio ‘pulseaudio’, considere activarlo a través
          del tipo ‘alsa-service-type’ mostrado previamente.

 -- Tipo de datos: pulseaudio-configuration
     Tipo de datos que representa la configuración para
     ‘pulseaudio-service’.

     ‘client-conf’ (predeterminada: ‘'()’)
          List of settings to set in ‘client.conf’.  Accepts a list of
          strings or symbol-value pairs.  A string will be inserted
          as-is with a newline added.  A pair will be formatted as “key
          = value”, again with a newline added.

     ‘daemon-conf’ (predeterminada: ‘'((flat-volumes . no))’)
          Lista de opciones de configuración de ‘daemon.conf’, con el
          mismo formato que CLIENT-CONF.

     ‘script-file’ (predeterminado: ‘(file-append pulseaudio "/etc/pulse/default.pa")’)
          Script file to use as ‘default.pa’.  In case the
          ‘extra-script-files’ field below is used, an ‘.include’
          directive pointing to ‘/etc/pulse/default.pa.d’ is appended to
          the provided script.

     ‘extra-script-files’ (default: ‘'()’)
          A list of file-like objects defining extra PulseAudio scripts
          to run at the initialization of the ‘pulseaudio’ daemon, after
          the main ‘script-file’.  The scripts are deployed to the
          ‘/etc/pulse/default.pa.d’ directory; they should have the
          ‘.pa’ file name extension.  For a reference of the available
          commands, refer to ‘man pulse-cli-syntax’.

     ‘system-script-file’ (predeterminado: ‘(file-append pulseaudio "/etc/pulse/system.pa")’)
          Archivo del guión usado como ‘system.pa’

     The example below sets the default PulseAudio card profile, the
     default sink and the default source to use for a old SoundBlaster
     Audigy sound card:
          (pulseaudio-configuration
           (extra-script-files
            (list (plain-file "audigy.pa"
                              (string-append "\
          set-card-profile alsa_card.pci-0000_01_01.0 \
            output:analog-surround-40+input:analog-mono
          set-default-source alsa_input.pci-0000_01_01.0.analog-mono
          set-default-sink alsa_output.pci-0000_01_01.0.analog-surround-40\n")))))

     Note that ‘pulseaudio-service-type’ is part of ‘%desktop-services’;
     if your operating system declaration was derived from one of the
     desktop templates, you’ll want to adjust the above example to
     modify the existing ‘pulseaudio-service-type’ via ‘modify-services’
     (*note ‘modify-services’: Referencia de servicios.), instead of
     defining a new one.

 -- Variable Scheme: ladspa-service-type
     Este servicio proporciona valor a la variable LADSPA_PATH, de
     manera que los programas que lo tengan en cuenta, por ejemplo
     PulseAudio, puedan cargar módulos LADSPA.

     El siguiente ejemplo configura el servicio para permitir la
     activación de los módulos del paquete ‘swh-plugins’:

          (service ladspa-service-type
                   (ladspa-configuration (plugins (list swh-plugins))))

     Véase <http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html> para
     obtener más detalles.


File: guix.es.info,  Node: Servicios de bases de datos,  Next: Servicios de correo,  Prev: Servicios de sonido,  Up: Servicios

12.9.11 Servicios de bases de datos
-----------------------------------

El módulo ‘(gnu services databases)’ proporciona los siguientes
servicios.

PostgreSQL
..........

El ejemplo siguiente describe un servicio PostgreSQL con su
configuración predeterminada.

     (service postgresql-service-type
              (postgresql-configuration
               (postgresql postgresql-10)))

   Si los servicios fallan al arrancar puede deberse a que ya se
encuentra presente otro cluster incompatible en DATA-DIRECTORY.  Puede
modificar el valor (o, si no necesita más dicho cluster, borrar
DATA-DIRECTORY), y reiniciar el servicio.

   La identificación de pares se usa de manera predeterminada y la
cuenta de usuaria ‘postgres’ no tiene intérprete predeterminado, lo que
evita la ejecución directa de órdenes ‘psql’ bajo dicha cuenta.  Para
usar ‘psql’, puede ingresar temporalmente al sistema como ‘postgres’
usando un intérprete de órdenes, crear una cuenta de administración de
PostgreSQL con el mismo nombre de una de las usuarias del sistema y,
tras esto, crear la base de datos asociada.

     sudo -u postgres -s /bin/sh
     createuser --interactive
     createdb $MI_CUENTA_DE_USUARIA  # Sustituir por el valor apropiado.

 -- Tipo de datos: postgresql-configuration
     Tipo de datos que representa la configuración de
     ‘postgresql-service-type’.

     ‘postgresql’
          El paquete PostgreSQL usado para este servicio.

     ‘port’ (predeterminado: ‘5432’)
          Puerto en el que debe escuchar PostgreSQL.

     ‘locale’ (predeterminado: ‘"en_US.utf8"’)
          Localización predeterminada cuando se crea el cluster de la
          base de datos.

     ‘config-file’ (predeterminado: ‘(postgresql-config-file)’)
          The configuration file to use when running PostgreSQL.  The
          default behaviour uses the postgresql-config-file record with
          the default values for the fields.

     ‘log-directory’ (default: ‘"/var/log/postgresql"’)
          The directory where ‘pg_ctl’ output will be written in a file
          named ‘"pg_ctl.log"’.  This file can be useful to debug
          PostgreSQL configuration errors for instance.

     ‘data-directory’ (predeterminado: ‘"/var/lib/postgresql/data"’)
          Directorio en el que se almacenan los datos.

     ‘extension-packages’ (predeterminado: ‘'()’)
          Las extensiones adicionales se cargan de paquetes enumerados
          en EXTENSION-PACKAGES.  Las extensiones están disponibles en
          tiempo de ejecución.  Por ejemplo, para crear una base de
          datos geográfica con la extensión ‘postgis’, una usuaria
          podría configurar el servicio postgresql-service como en este
          ejemplo:

               (use-package-modules databases geo)

               (operating-system
                 ...
                 ;; postgresql es necesario para ejecutar `psql' pero no se necesita
                 ;; postgis para un funcionamiento correcto.
                 (packages (cons* postgresql %base-packages))
                 (services
                   (cons*
                     (service postgresql-service-type
                              (postgresql-configuration
                               (postgresql postgresql-10)
                               (extension-packages (list postgis))))
                     %base-services)))

          Una vez hecho, la extensión estará visible y podrá inicializar
          una base de datos geográfica de este modo:

               psql -U postgres
               > create database pruebapostgis;
               > \connect pruebapostgis;
               > create extension postgis;
               > create extension postgis_topology;

          No es necesaria la adición de este campo para extensiones
          incluidas en la distribución oficial(1) como hstore o dblink,
          puesto que ya pueden cargarse en postgresql.  Este campo
          únicamente es necesario para extensiones proporcionadas por
          otros paquetes.

 -- Tipo de datos: postgresql-config-file
     Data type representing the PostgreSQL configuration file.  As shown
     in the following example, this can be used to customize the
     configuration of PostgreSQL.  Note that you can use any
     G-expression or filename in place of this record, if you already
     have a configuration file you’d like to use for example.

          (service postgresql-service-type
                   (postgresql-configuration
                    (config-file
                     (postgresql-config-file
                      (log-destination "stderr")
                      (hba-file
                       (plain-file "pg_hba.conf"
                                   "
          local	all	all			trust
          host	all	all	127.0.0.1/32 	md5
          host	all	all	::1/128 	md5"))
                      (extra-config
                       '(("session_preload_libraries"     "auto_explain")
                         ("random_page_cost"              2)
                         ("auto_explain.log_min_duration" "100 ms")
                         ("work_mem"                      "500 MB")
                         ("logging_collector"             #t)
                         ("log_directory"                 "/var/log/postgresql")))))))

     ‘log-destination’ (predeterminado: ‘"syslog"’)
          The logging method to use for PostgreSQL.  Multiple values are
          accepted, separated by commas.

     ‘hba-file’ (predeterminado: ‘%default-postgres-hba’)
          Nombre de archivo o expresión-G para la configuración de
          identificación basada en nombres de máquina.

     ‘ident-file’ (predeterminado: ‘%default-postgres-ident’)
          Nombre de archivo o expresión-G para la configuración de
          asociación de nombres de usuaria.

     ‘socket-directory’ (default: ‘"/var/run/postgresql"’)
          Specifies the directory of the Unix-domain socket(s) on which
          PostgreSQL is to listen for connections from client
          applications.  If set to ‘""’ PostgreSQL does not listen on
          any Unix-domain sockets, in which case only TCP/IP sockets can
          be used to connect to the server.

          By default, the ‘#false’ value means the PostgreSQL default
          value will be used, which is currently ‘/tmp’.

     ‘extra-config’ (predeterminada: ‘'()’)
          Claves y valores adicionales que se incluirán en el archivo de
          configuración de PostgreSQL. Cada entrada en la lista debe ser
          una lista cuyo primer elemento sea la clave y los elementos
          restantes son los valores.

          The values can be numbers, booleans or strings and will be
          mapped to PostgreSQL parameters types ‘Boolean’, ‘String’,
          ‘Numeric’, ‘Numeric with Unit’ and ‘Enumerated’ described here
          (https://www.postgresql.org/docs/current/config-setting.html).

 -- Scheme Variable: postgresql-role-service-type
     This service allows to create PostgreSQL roles and databases after
     PostgreSQL service start.  Here is an example of its use.

          (service postgresql-role-service-type
                      (postgresql-role-configuration
                       (roles
                        (list (postgresql-role
                               (name "test")
                               (create-database? #t))))))

     This service can be extended with extra roles, as in this example:

          (service-extension postgresql-role-service-type
                             (const (postgresql-role
                                     (name "alice")
                                     (create-database? #t))))

 -- Data Type: postgresql-role
     PostgreSQL manages database access permissions using the concept of
     roles.  A role can be thought of as either a database user, or a
     group of database users, depending on how the role is set up.
     Roles can own database objects (for example, tables) and can assign
     privileges on those objects to other roles to control who has
     access to which objects.

     ‘name’
          The role name.

     ‘permissions’ (default: ‘'(createdb login)’)
          The role permissions list.  Supported permissions are
          ‘bypassrls’, ‘createdb’, ‘createrole’, ‘login’, ‘replication’
          and ‘superuser’.

     ‘create-database?’ (default: ‘#f’)
          Whether to create a database with the same name as the role.

 -- Data Type: postgresql-role-configuration
     Data type representing the configuration of
     POSTGRESQL-ROLE-SERVICE-TYPE.

     ‘host’ (default: ‘"/var/run/postgresql"’)
          The PostgreSQL host to connect to.

     ‘log’ (default: ‘"/var/log/postgresql_roles.log"’)
          File name of the log file.

     ‘roles’ (default: ‘'()’)
          The initial PostgreSQL roles to create.

MariaDB/MySQL
.............

 -- Scheme Variable: mysql-service-type
     This is the service type for a MySQL or MariaDB database server.
     Its value is a ‘mysql-configuration’ object that specifies which
     package to use, as well as various settings for the ‘mysqld’
     daemon.

 -- Tipo de datos: mysql-configuration
     Data type representing the configuration of MYSQL-SERVICE-TYPE.

     ‘mysql’ (predeterminado: MARIADB)
          Objeto de paquete del servidor de bases de datos MySQL, puede
          ser tanto MARIADB como MYSQL.

          Para MySQL, se mostrará una contraseña de root temporal
          durante el tiempo de activación.  Para MariaDB, la contraseña
          de root está vacía.

     ‘bind-address’ (predeterminada: ‘"127.0.0.1"’)
          The IP on which to listen for network connections.  Use
          ‘"0.0.0.0"’ to bind to all available network interfaces.

     ‘port’ (predeterminado: ‘3306’)
          Puerto TCP en el que escucha el servidor de bases de datos a
          la espera de conexiones entrantes.

     ‘socket’ (default: ‘"/run/mysqld/mysqld.sock"’)
          Socket file to use for local (non-network) connections.

     ‘extra-content’ (predeterminado: ‘""’)
          Additional settings for the ‘my.cnf’ configuration file.

     ‘extra-environment’ (default: ‘#~'()’)
          List of environment variables passed to the ‘mysqld’ process.

     ‘auto-upgrade?’ (default: ‘#t’)
          Whether to automatically run ‘mysql_upgrade’ after starting
          the service.  This is necessary to upgrade the “system schema”
          after “major” updates (such as switching from MariaDB 10.4 to
          10.5), but can be disabled if you would rather do that
          manually.

Memcached
.........

 -- Variable Scheme: memcached-service-type
     Este es el tipo de servicio para el servicio Memcached
     (https://memcached.org/), que proporciona caché distribuida en
     memoria.  El valor para este tipo de servicio es un objeto
     ‘memcached-configuration’.

     (service memcached-service-type)

 -- Tipo de datos: memcached-configuration
     Tipo de datos que representa la configuración de memcached.

     ‘memcached’ (predeterminado: ‘memcached’)
          El paquete de Memcached usado.

     ‘interfaces’ (predeterminadas: ‘'("0.0.0.0")’)
          Interfaces de red por las que se esperan conexiones.

     ‘tcp-port’ (predeterminado: ‘11211’)
          Port on which to accept connections.

     ‘udp-port’ (predeterminado: ‘11211’)
          Puerto en el que se deben aceptar conexiones UDP, el valor 0
          desactiva la escucha en un socket UDP.

     ‘additional-options’ (predeterminadas: ‘'()’)
          Opciones de línea de órdenes adicionales que se le
          proporcionarán a ‘memcached’.

Redis
.....

 -- Variable Scheme: redis-service-type
     Es el tipo de servicio para el almacén de clave/valor Redis
     (https://redis.io/), cuyo valor es un objeto ‘redis-configuration’.

 -- Tipo de datos: redis-configuration
     Tipo de datos que representa la configuración de redis.

     ‘redis’ (predeterminado: ‘redis’)
          El paquete Redis usado.

     ‘bind’ (predeterminada: ‘"127.0.0.1"’)
          La interfaz de red en la que se escucha.

     ‘port’ (predeterminado: ‘6379’)
          Puerto en el que se aceptan conexiones, el valor 0 desactiva
          la escucha en un socket TCP.

     ‘working-directory’ (predeterminado: ‘"/var/lib/redis"’)
          Directorio en el que se almacena los archivos de base de datos
          y relacionados.

   ---------- Footnotes ----------

   (1) NdT: “contrib” de “contributed” en inglés, “contribuciones”
podría entenderse en castellano.


File: guix.es.info,  Node: Servicios de correo,  Next: Servicios de mensajería,  Prev: Servicios de bases de datos,  Up: Servicios

12.9.12 Servicios de correo
---------------------------

El módulo ‘(gnu services mail)’ proporciona definiciones de servicios
Guix para servicios de correo electrónico: servidores IMAP, POP3 y LMTP,
así como agentes de transporte de correo (MTA). ¡Muchos acrónimos!
Estos servicios se detallan en las subsecciones a continuación.

Servicio Dovecot
................

 -- Procedimiento Scheme: dovecot-service [#:config
          (dovecot-configuration)]
     Devuelve un servicio que ejecuta el servidor de correo
     IMAP/POP3/LMTP Dovecot.

   Habitualmente Dovecot no necesita mucha configuración; el objeto de
configuración predeterminado creado por ‘(dovecot-configuration)’ es
suficiente si su correo se entrega en ‘~/Maildir’.  Un certificado
auto-firmado se generará para las conexiones protegidas por TLS, aunque
Dovecot también escuchará en puertos sin cifrar de manera
predeterminada.  Existe un amplio número de opciones no obstante, las
cuales las administradoras del correo puede que deban cambiar, y como en
el caso de otros servicios, Guix permite a la administradora del sistema
la especificación de dichos parámetros a través de una interfaz Scheme
uniforme.

   Por ejemplo, para especificar que el correo se encuentra en
‘maildir:~/.correo’, se debe instanciar el servicio de Dovecot de esta
manera:

     (dovecot-service #:config
                      (dovecot-configuration
                       (mail-location "maildir:~/.correo")))

   A continuación se encuentran los parámetros de configuración
disponibles.  El tipo de cada parámetro antecede la definición del
mismo; por ejemplo, ‘string-list foo’ indica que el parámetro ‘foo’ debe
especificarse como una lista de cadenas.  También existe la posibilidad
de especificar la configuración como una cadena, si tiene un archivo
‘dovecot.conf’ antiguo que quiere trasladar a otro sistema; véase el
final para más detalles.

   Los campos disponibles de ‘dovecot-configuration’ son:

 -- parámetro de ‘dovecot-configuration’: package dovecot
     El paquete dovecot.

 -- parámetro de ‘dovecot-configuration’: lista-cadenas-separada-comas
          listen
     Una lista de direcciones IP o nombres de máquina donde se
     escucharán conexiones.  ‘*’ escucha en todas las interfaces IPv4,
     ‘::’ escucha en todas las interfaces IPv6.  Si desea especificar
     puertos distintos a los predefinidos o algo más complejo,
     personalice los campos de dirección y puerto del ‘inet-listener’ de
     los servicios específicos en los que tenga interés.

 -- parámetro de ‘dovecot-configuration’: lista-protocol-configuration
          protocols
     Lista de protocolos que se desea ofrecer.  Los protocolos
     disponibles incluyen ‘imap’, ‘pop3’ y ‘lmtp’.

     Los campos disponibles de ‘protocol-configuration’ son:

      -- parámetro de ‘protocol-configuration’: string name
          El nombre del protocolo.

      -- parámetro de ‘protocol-configuration’: string auth-socket-path
          Ruta del socket de UNIX del servidor de identificación maestro
          para la búsqueda de usuarias.  Se usa por parte de imap (para
          usuarias compartidas) y lda.  Su valor predeterminado es
          ‘"/var/run/dovecot/auth-userdb"’.

      -- ‘protocol-configuration’ parameter: boolean imap-metadata?
          Whether to enable the ‘IMAP METADATA’ extension as defined in
          RFC 5464 (https://tools.ietf.org/html/rfc5464), which provides
          a means for clients to set and retrieve per-mailbox, per-user
          metadata and annotations over IMAP.

          If this is ‘#t’, you must also specify a dictionary via the
          ‘mail-attribute-dict’ setting.

          El valor predeterminado es ‘#f’

      -- ‘protocol-configuration’ parameter: space-separated-string-list
               managesieve-notify-capabilities
          Which NOTIFY capabilities to report to clients that first
          connect to the ManageSieve service, before authentication.
          These may differ from the capabilities offered to
          authenticated users.  If this field is left empty, report what
          the Sieve interpreter supports by default.

          El valor predeterminado es ‘()’.

      -- ‘protocol-configuration’ parameter: space-separated-string-list
               managesieve-sieve-capability
          Which SIEVE capabilities to report to clients that first
          connect to the ManageSieve service, before authentication.
          These may differ from the capabilities offered to
          authenticated users.  If this field is left empty, report what
          the Sieve interpreter supports by default.

          El valor predeterminado es ‘()’.

      -- parámetro de ‘protocol-configuration’:
               list-cadenas-separada-espacios mail-plugins
          Lista separada por espacios de módulos a cargar.

      -- parámetro de ‘protocol-configuration’: entero-no-negativo
               mail-max-userip-connections
          Número máximo de conexiones IMAP permitido para una usuaria
          desde cada dirección IP. ATENCIÓN: El nombre de usuaria es
          sensible a las mayúsculas.  Su valor predeterminado es ‘10’.

 -- parámetro de ‘dovecot-configuration’: lista-service-configuration
          services
     Lista de servicios activados.  Los servicios disponibles incluyen
     ‘imap’, ‘imap-login’, ‘pop3’, ‘pop3-login’, ‘auth’ y ‘lmtp’.

     Los campos disponibles de ‘service-configuration’ son:

      -- parámetro de ‘service-configuration’: string kind
          El tipo del servicio.  Entre los valores aceptados se incluye
          ‘director’, ‘imap-login’, ‘pop3-login’, ‘lmtp’, ‘imap’,
          ‘pop3’, ‘auth’, ‘auth-worker’, ‘dict’, ‘tcpwrap’,
          ‘quota-warning’ o cualquier otro.

      -- parámetro de ‘service-configuration’:
               lista-listener-configuration listeners
          Procesos de escucha para el servicio.  Un proceso de escucha
          es un objeto ‘unix-listener-configuration’, un objeto
          ‘fifo-listener-configuration’ o un objeto
          ‘inet-listener-configuration’.  Su valor predeterminado es
          ‘()’.

          Los campos disponibles de ‘unix-listener-configuration’ son:

           -- parámetro de ‘unix-listener-configuration’: string path
               Ruta al archivo, relativa al campo ‘base-dir’.  También
               se usa como nombre de la sección.

           -- parámetro de ‘unix-listener-configuration’: string mode
               Modo de acceso del socket.  Su valor predeterminado es
               ‘"0600"’.

           -- parámetro de ‘unix-listener-configuration’: string user
               Usuaria que posee el socket.  Su valor predeterminado es
               ‘""’.

           -- parámetro de ‘unix-listener-configuration’: string group
               Grupo que posee el socket.  Su valor predeterminado es
               ‘""’.

          Los campos disponibles de ‘fifo-listener-configuration’ son:

           -- parámetro de ‘fifo-listener-configuration’: string path
               Ruta al archivo, relativa al campo ‘base-dir’.  También
               se usa como nombre de la sección.

           -- parámetro de ‘fifo-listener-configuration’: string mode
               Modo de acceso del socket.  Su valor predeterminado es
               ‘"0600"’.

           -- parámetro de ‘fifo-listener-configuration’: string user
               Usuaria que posee el socket.  Su valor predeterminado es
               ‘""’.

           -- parámetro de ‘fifo-listener-configuration’: string group
               Grupo que posee el socket.  Su valor predeterminado es
               ‘""’.

          Los campos disponibles de ‘inet-listener-configuration’ son:

           -- parámetro de ‘inet-listener-configuration’: string
                    protocol
               El protocolo con el que se esperan las conexiones.

           -- parámetro de ‘inet-listener-configuration’: string address
               La dirección en la que se escuchará, o vacío para
               escuchar en todas las direcciones.  Su valor
               predeterminado es ‘""’.

           -- parámetro de ‘inet-listener-configuration’:
                    entero-no-negativo port
               El puerto en el que esperarán conexiones.

           -- parámetro de ‘inet-listener-configuration’: boolean ssl?
               Si se usará SSL para este servicio; ‘yes’ (sí), ‘no’ o
               ‘required’ (necesario).  Su valor predeterminado es ‘#t’.

      -- parámetro de ‘service-configuration’: entero-no-negativo
               client-limit
          Número máximo de conexiones simultáneas por cliente por
          proceso.  Una vez se reciba este número de conexiones, la
          siguiente conexión entrante solicitará a Dovecot el inicio de
          un nuevo proceso.  Si se proporciona el valor 0, se usa
          ‘default-client-limit’.

          El valor predeterminado es ‘0’.

      -- parámetro de ‘service-configuration’: entero-no-negativo
               service-count
          Número de conexiones a manejar antes de iniciar un nuevo
          proceso.  Habitualmente los únicos valores útiles son 0
          (ilimitadas) o 1.  1 es más seguro, pero 0 es más rápido.
          <doc/wiki/LoginProcess.txt>.  Su valor predeterminado es ‘1’.

      -- parámetro de ‘service-configuration’: entero-no-negativo
               process-limit
          Número máximo de procesos que pueden existir para este
          servicio.  Si se proporciona el valor 0, se usa
          ‘default-process-limit’.

          El valor predeterminado es ‘0’.

      -- parámetro de ‘service-configuration’: entero-no-negativo
               process-min-avail
          Número de procesos que siempre permanecerán a la espera de más
          conexiones.  Su valor predeterminado es ‘0’.

      -- parámetro de ‘service-configuration’: entero-no-negativo
               vsz-limit
          Si proporciona ‘service-count 0’, probablemente necesitará
          incrementar este valor.  Su valor predeterminado es
          ‘256000000’.

 -- parámetro de ‘dovecot-configuration’: dict-configuration dict
     Configuración de Dict, como la creada por el constructor
     ‘dict-configuration’.

     Los campos disponibles de ‘dict-configuration’ son:

      -- parámetro de ‘dict-configuration’: campos-libres entries
          Una lista de pares clave-valor que este diccionario debe
          incorporar.  Su valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: lista-passdb-configuration
          passdbs
     Una lista de configuraciones de passdb, cada una creada por el
     constructor ‘passdb-configuration’.

     Los campos disponibles de ‘passdb-configuration’ son:

      -- parámetro de ‘passdb-configuration’: string driver
          El controlador que passdb debe usar.  Entre los valores
          aceptados se incluye ‘pam’, ‘passwd’, ‘shadow’, ‘bsdauth’ y
          ‘static’.  Su valor predeterminado es ‘"pam"’.

      -- parámetro de ‘passdb-configuration’:
               lista-cadenas-separada-espacios args
          Lista de parámetros separados por espacios para proporcionar
          al controlador passdb.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: lista-userdb-configuration
          userdbs
     Lista de configuraciones userdb, cada una creada por el constructor
     ‘userdb-configuration’.

     Los campos disponibles de ‘userdb-configuration’ son:

      -- parámetro de ‘userdb-configuration’: string driver
          El controlador que userdb debe usar.  Entre los valores
          aceptados se incluye ‘passwd’ y ‘static’.  Su valor
          predeterminado es ‘"passwd"’.

      -- parámetro de ‘userdb-configuration’:
               lista-cadenas-separada-espacios args
          Lista separada por espacios de parámetros usados para el
          controlador userdb.  Su valor predeterminado es ‘""’.

      -- parámetro de ‘userdb-configuration’: parámetros-libres
               override-fields
          Sustituye los valores de campos de passwd.  Su valor
          predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: plugin-configuration
          plugin-configuration
     Configuración del módulo, creada por el constructor
     ‘plugin-configuration’.

 -- parámetro de ‘dovecot-configuration’: lista-namespace-configuration
          namespaces
     Lista de espacios de nombres.  Cada elemento de la lista debe
     crearse con el constructor ‘namespace-configuration’.

     Los campos disponibles de ‘namespace-configuration’ son:

      -- parámetro de ‘namespace-configuration’: string name
          Nombre para este espacio de nombres.

      -- parámetro de ‘namespace-configuration’: string type
          Tipo del espacio de nombres: ‘private’, ‘shared’ o ‘public’.
          Su valor predeterminado es ‘"private"’.

      -- parámetro de ‘namespace-configuration’: string separator
          Hierarchy separator to use.  You should use the same separator
          for all namespaces or some clients get confused.  ‘/’ is
          usually a good one.  The default however depends on the
          underlying mail storage format.  Defaults to ‘""’.

      -- parámetro de ‘namespace-configuration’: string prefix
          Prefix required to access this namespace.  This needs to be
          different for all namespaces.  For example ‘Public/’.
          Defaults to ‘""’.

      -- parámetro de ‘namespace-configuration’: string location
          Localización física de la bandeja de correo.  En el mismo
          formato que la localización del correo, que también es su
          valor predeterminado.  Su valor predeterminado es ‘""’.

      -- parámetro de ‘namespace-configuration’: boolean inbox?
          Únicamente puede existir una bandeja de entrada (INBOX), y
          esta configuración define qué espacio de nombres la posee.  Su
          valor predeterminado es ‘#f’.

      -- parámetro de ‘namespace-configuration’: boolean hidden?
          If namespace is hidden, it’s not advertised to clients via
          NAMESPACE extension.  You’ll most likely also want to set
          ‘list? #f’.  This is mostly useful when converting from
          another server with different namespaces which you want to
          deprecate but still keep working.  For example you can create
          hidden namespaces with prefixes ‘~/mail/’, ‘~%u/mail/’ and
          ‘mail/’.  Defaults to ‘#f’.

      -- parámetro de ‘namespace-configuration’: boolean list?
          Show the mailboxes under this namespace with the LIST command.
          This makes the namespace visible for clients that do not
          support the NAMESPACE extension.  The special ‘children’ value
          lists child mailboxes, but hides the namespace prefix.
          Defaults to ‘#t’.

      -- parámetro de ‘namespace-configuration’: boolean subscriptions?
          El espacio de nombres maneja sus propias subscripciones.  Si
          es ‘#f’, el espacio de nombres superior las maneja.  El
          prefijo vacío siempre debe tener este valor como ‘#t’.  Su
          valor predeterminado es ‘#t’.

      -- parámetro de ‘namespace-configuration’:
               lista-mailbox-configuration mailboxes
          Lista de bandejas de correo predefinidas en este espacio de
          nombres.  Su valor predeterminado es ‘()’.

          Los campos disponibles de ‘mailbox-configuration’ son:

           -- parámetro de ‘mailbox-configuration’: string name
               Nombre de esta bandeja de correo.

           -- parámetro de ‘mailbox-configuration’: string auto
               Con ‘create’ se crea de forma automática esta bandeja de
               correo.  Con ‘subscribe’ se crea y se suscribe a la
               bandeja de correo.  Su valor predeterminado es ‘"no"’.

           -- parámetro de ‘mailbox-configuration’:
                    lista-cadenas-separada-espacios special-use
               Lista de atributos ‘SPECIAL-USE’ de IMAP como se
               especifican en el RFC 6154.  Entre los valores aceptados
               se incluye ‘\All’, ‘\Archive’, ‘\Drafts’, ‘\Flagged’,
               ‘\Junk’, ‘\Sent’ y ‘\Trash’.  Su valor predeterminado es
               ‘()’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo base-dir
     Directorio base donde se almacenan los datos de tiempo de
     ejecución.  Su valor predeterminado es ‘"/var/run/dovecot/"’.

 -- parámetro de ‘dovecot-configuration’: string login-greeting
     Mensaje de saludo para clientes.  Su valor predeterminado es
     ‘"Dovecot ready."’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios login-trusted-networks
     Lista de rangos de red en los que se confía.  Las conexiones desde
     estas IP tienen permitido forzar sus direcciones IP y puertos (para
     el registro y las comprobaciones de identidad).
     ‘disable-plaintext-auth’ también se ignora en estas redes.
     Habitualmente aquí se especificarían los servidores proxy IMAP. Su
     valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios login-access-sockets
     Lista de sockets para la comprobación de acceso al sistema (por
     ejemplo tcpwrap).  Su valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: boolean verbose-proctitle?
     Muestra títulos de procesamiento más detallados (en la postdata).
     Actualmente muestra el nombre de la usuaria y su dirección IP. Es
     útil para ver quién está usando procesos IMAP realmente (por
     ejemplo bandejas de correo compartidas o si el mismo identificador
     numérico de usuaria se usa para varias cuentas).  Su valor
     predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean shutdown-clients?
     Determina si se deben finalizar todos los procesos cuando el
     proceso maestro de Dovecot termine su ejecución.  El valor ‘#f’
     significa que Dovecot puede actualizarse sin forzar el cierre de
     las conexiones existentes (aunque esto puede ser un problema si la
     actualización se debe, por ejemplo, a la corrección de una
     vulnerabilidad).  Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          doveadm-worker-count
     Si no es cero, ejecuta las ordenes del correo a través de este
     número de conexiones al servidor doveadm, en vez de ejecutarlas
     directamente en el mismo proceso.  Su valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: string doveadm-socket-path
     Socket UNIX o máquina:puerto usados para la conexión al servidor
     doveadm.  Su valor predeterminado es ‘"doveadm-server"’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios import-environment
     Lista de variables de entorno que se preservan al inicio de Dovecot
     y se proporcionan a los procesos iniciados.  También puede
     proporcionar pares clave=valor para proporcionar siempre dicha
     configuración específica.

 -- parámetro de ‘dovecot-configuration’: boolean
          disable-plaintext-auth?
     Desactiva la orden LOGIN y todas las otras identificaciones en
     texto plano a menos que se use SSL/TLS (capacidad LOGINDISABLED).
     Tenga en cuenta que si la IP remota coincide con la IP local (es
     decir, se ha conectado desde la misma máquina), la conexión se
     considera segura y se permite la identificación en texto plano.
     Véase también la configuración ssl=required.  Su valor
     predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          auth-cache-size
     Tamaño de la caché de identificaciones (por ejemplo, ‘#e10e6’.  0
     significa que está desactivada.  Tenga en cuenta que bsdauth, PAM y
     vpopmail necesitan un valor en ‘cache-key’ para que se use la
     caché.  Su valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: string auth-cache-ttl
     Tiempo de vida de los datos almacenados en caché.  Los registros de
     caché no se usan tras su expiración, *excepto* si la base de datos
     principal devuelve un fallo interno.  También se intentan manejar
     los cambios de contraseña de manera automática: si la
     identificación previa de la usuaria fue satisfactoria, pero no esta
     última, la caché no se usa.  En estos momentos únicamente funciona
     con identificación en texto plano.  Su valor predeterminado es ‘"1
     hour"’.

 -- parámetro de ‘dovecot-configuration’: string auth-cache-negative-ttl
     Tiempo de vida para fallos de búsqueda en la caché (usuaria no
     encontrada, la contraseña no coincide).  0 desactiva completamente
     su almacenamiento en caché.  Su valor predeterminado es ‘"1 hour"’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios auth-realms
     Lista de dominios para los mecanismos de identificación de SASL que
     necesite.  Puede dejarla vacía si no desea permitir múltiples
     dominios.  Muchos clientes simplemente usarán el primero de la
     lista, por lo que debe mantener el dominio predeterminado en
     primera posición.  Su valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: string auth-default-realm
     Dominio predeterminado usado en caso de no especificar ninguno.
     Esto se usa tanto en dominios SASL y como al añadir @dominio al
     nombre de usuaria en los ingresos al sistema a través de texto en
     claro.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string auth-username-chars
     Lista de caracteres permitidos en los nombres de usuaria.  Si el
     nombre de usuaria proporcionado contiene un carácter no enumerado
     aquí, el login falla automáticamente.  Es únicamente una
     comprobación adicional para asegurarse de que las usuarias no
     pueden explotar ninguna potencial vulnerabilidad con el escape de
     comillas en bases de datos SQL/LDAP. Si desea permitir todos los
     caracteres, establezca este valor a la cadena vacía.  Su valor
     predeterminado es
     ‘"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@"’.

 -- parámetro de ‘dovecot-configuration’: string
          auth-username-translation
     Traducciones de caracteres de nombres de usuaria antes de que se
     busque en las bases de datos.  El valor contiene series de
     caracteres "original -> transformado".  Por ejemplo ‘#@/@’
     significa que ‘#’ y ‘/’ se traducen en ‘@’.  Su valor
     predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string auth-username-format
     Formato proporcionado al nombre de usuaria antes de buscarlo en las
     bases de datos.  Puede usar variables estándar aquí, por ejemplo
     %Lu transformará el nombre a minúsculas, %n eliminará el fragmento
     del dominio si se proporcionó, o ‘%n-AT-%d’ cambiaría ‘@’ en
     ‘-AT-’.  Esta traducción se realiza tras los cambios de
     ‘auth-username-translation’.  Su valor predeterminado es ‘"%Lu"’.

 -- parámetro de ‘dovecot-configuration’: string
          auth-master-user-separator
     Si desea permitir que usuarias maestras ingresen mediante la
     especificación del nombre de usuaria maestra dentro de la cadena de
     nombre de usuaria normal (es decir, sin usar el mecanismo para ello
     implementado por SASL), puede especificar aquí el carácter
     separador.  El formato es entonces <usuaria><separador><usuaria
     maestra>.  UW-IMAP usa ‘*’ como separador, por lo que esa puede ser
     una buena elección.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string auth-anonymous-username
     Usuaria usada para las usuarias que ingresen al sistema con el
     mecanismo de SASL ANONYMOUS. Su valor predeterminado es
     ‘"anonymous"’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          auth-worker-max-count
     Número máximo de procesos de trabajo dovecot-auth.  Se usan para la
     ejecución de consultas bloqueantes a passdb y userdb (por ejemplo
     MySQL y PAM). Se crean y destruyen bajo demanda de manera
     automática.  Su valor predeterminado es ‘30’.

 -- parámetro de ‘dovecot-configuration’: string auth-gssapi-hostname
     Nombre de máquina usado en los nombres de GSSAPI principales.  Por
     omisión se usa el nombre devuelto por gethostname().  Use ‘$ALL’
     (con comillas) para permitir todas las entradas keytab.  Su valor
     predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string auth-krb5-keytab
     Keytab de Kerberos usado para el mecanismo GSSAPI. Si no se
     especifica ninguno, se usa el predeterminado del sistema
     (habitualmente ‘/etc/krb5.keytab’).  Puede ser necesario cambiar el
     servicio auth para que se ejecute como root y tenga permisos de
     lectura sobre este archivo.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: boolean auth-use-winbind?
     Se identifica con NTLM y GSS-SPNEGO mediante el uso del daemon
     winbind de Samba y la herramienta auxiliar ‘ntlm-auth’.
     <doc/wiki/Authentication/Mechanisms/Winbind.txt>.  Su valor
     predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo
          auth-winbind-helper-path
     Ruta al binario de la herramienta auxiliar ‘ntlm-auth’ de Samba.
     Su valor predeterminado es ‘"/usr/bin/ntlm_auth"’.

 -- parámetro de ‘dovecot-configuration’: string auth-failure-delay
     Tiempo de espera antes de responder a identificaciones fallidas.
     Su valor predeterminado es ‘"2 secs"’.

 -- parámetro de ‘dovecot-configuration’: boolean
          auth-ssl-require-client-cert?
     Es necesario un certificado de cliente SSL válido o falla la
     identificación.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean
          auth-ssl-username-from-cert?
     Toma el nombre de usuaria del certificado de cliente SSL, mediante
     el uso de ‘X509_NAME_get_text_by_NID()’, que devuelve el nombre
     común (CommonName) del nombre de dominio (DN) del sujeto del
     certificado.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios auth-mechanisms
     Lista de mecanismos de identificación deseados.  Los mecanismos
     permitidos son: ‘plain’, ‘login’, ‘digest-md5’, ‘cram-md5’, ‘ntlm’,
     ‘rpa’, ‘apop’, ‘anonymous’, ‘gssapi’, ‘otp’, ‘key’, and
     ‘gss-spnego’.  ATENCIÓN: Véase también la opción de configuración
     ‘disable-plaintext-auth’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios director-servers
     Lista de IP o nombres de máquina de los servidores directores,
     incluyendo este mismo.  Los puertos se pueden especificar como
     ip:puerto.  El puerto predeterminado es el mismo que el usado por
     el servicio director ‘inet-listener’.  Su valor predeterminado es
     ‘()’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios director-mail-servers
     Lista de IP o nombres de máquina de los servidores motores de
     correo.  Se permiten también rangos, como 10.0.0.10-10.0.0.30.  Su
     valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: string director-user-expire
     Por cuanto tiempo se redirige a las usuarias a un servidor
     específico tras pasar ese tiempo sin conexiones.  Su valor
     predeterminado es ‘"15 min"’.

 -- parámetro de ‘dovecot-configuration’: string director-username-hash
     Cómo se traduce el nombre de usuaria antes de aplicar el hash.
     Entre los valores útiles se incluye %Ln si la usuaria puede
     ingresar en el sistema con o sin @dominio, %Ld si las bandejas de
     correo se comparten dentro del dominio.  Su valor predeterminado es
     ‘"%Lu"’.

 -- parámetro de ‘dovecot-configuration’: string log-path
     Archivo de registro usado para los mensajes de error.  ‘syslog’ los
     envía a syslog, ‘"/dev/stderr"’ a la salida de error estándar.  Su
     valor predeterminado es ‘"syslog"’.

 -- parámetro de ‘dovecot-configuration’: string info-log-path
     Archivo de registro usado para los mensajes informativos.  Por
     omisión se usa ‘log-path’.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string debug-log-path
     Archivo de registro usado para los mensajes de depuración.  Por
     omisión se usa ‘info-log-path’.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string syslog-facility
     Subsistema de syslog (facility) usado si se envía el registro a
     syslog.  De manera habitual, si desea que no se use ‘mail’, se
     usará local0..local7.  Otros subsistemas estándar también están
     implementados.  Su valor predeterminado es ‘"mail"’.

 -- parámetro de ‘dovecot-configuration’: boolean auth-verbose?
     Registra los intentos de identificación infructuosos y las razones
     por los que fallaron.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: string auth-verbose-passwords
     En caso de no coincidir la contraseña, registra la contraseña que
     se intentó.  Los valores aceptados son “no”, “plain” y “sha1”.
     “sha1” puede ser útil para diferenciar intentos de descubrir la
     contraseña por fuerza bruta frente a una usuaria simplemente
     intentando la misma contraseña una y otra vez.  También puede
     recortar el valor a n caracteres mediante la adición de ":n" (por
     ejemplo “sha1:6”).  Su valor predeterminado es ‘"no"’.

 -- parámetro de ‘dovecot-configuration’: boolean auth-debug?
     Registros aún más detallados para facilitar la depuración.
     Muestra, por ejemplo, las consultas SQL. Su valor predeterminado es
     ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean auth-debug-passwords?
     En caso de no coincidir la contraseña, registra las contraseñas y
     esquema usadas de manera que el problema se pueda depurar.  La
     activación de este valor también provoca la activación de
     ‘auth-debug’.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean mail-debug?
     Permite la depuración de los procesos de correo.  Puede ayudarle a
     comprender los motivos en caso de que Dovecot no encuentre sus
     correos.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean verbose-ssl?
     Muestra los errores a nivel de protocolo SSL. Su valor
     predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: string log-timestamp
     Prefijo de cada línea registrada en el archivo.  Los códigos %
     tienen el formato de strftime(3).  Su valor predeterminado es
     ‘"\"%b %d %H:%M:%S \""’.

 -- parámetro de ‘dovecot-configuration’:
          lista-cadenas-separada-espacios login-log-format-elements
     Lista de elementos que se desea registrar.  Los elementos que
     tengan valor de variable no-vacía se unen para la formación de una
     cadena separada por comas.

 -- parámetro de ‘dovecot-configuration’: string login-log-format
     Formato del registro de ingresos al sistema.  %s contiene la cadena
     ‘login-log-format-elements’, %$ contiene los datos que se desean
     registrar.  Su valor predeterminado es ‘"%$: %s"’.

 -- parámetro de ‘dovecot-configuration’: string mail-log-prefix
     Prefijo de los registros de procesos de correo.  Véase
     doc/wiki/Variables.txt para obtener una lista de variables que
     puede usar.  Su valor predeterminado es
     ‘"\"%s(%u)<%{pid}><%{session}>: \""’.

 -- parámetro de ‘dovecot-configuration’: string deliver-log-format
     Formato usado para el registro de las entregas de correo.  Puede
     usar las variables:
     ‘%$’
          Mensaje de estado de entrega (por ejemplo: ‘saved to INBOX’)
     ‘%m’
          Message-ID
     ‘%s’
          Asunto
     ‘%f’
          De (dirección)
     ‘%p’
          Tamaño físico
     ‘%w’
          Tamaño virtual.
     El valor predeterminado es ‘"msgid=%m: %$"’.

 -- parámetro de ‘dovecot-configuration’: string mail-location
     Localización de las bandejas de correo de las usuarias.  El valor
     predeterminado está vacío, lo que significa que Dovecot intenta
     encontrar las bandejas de correo de manera automática.  Esto no
     funciona si la usuaria no tiene todavía ningún correo, por lo que
     debe proporcionarle a Dovecot la ruta completa.

     Si usa mbox, proporcionar una ruta al archivo de la bandeja entrada
     “INBOX” (por ejemplo ‘/var/mail/%u’) no es suficiente.  También
     debe proporcionarle a Dovecot la ruta de otras bandejas de correo.
     Este es el llamado _directorio de correo raíz_, y debe ser la
     primera ruta proporcionada en la opción ‘mail-location’.

     Existen algunas variables especiales que puede usar, por ejemplo:

     ‘%u’
          nombre de usuaria
     ‘%n’
          parte de la usuaria en usuaria@dominio, idéntica a %u si no
          existe dominio
     ‘%d’
          parte del dominio en usuaria@dominio, vacía si no existe
          dominio
     ‘%h’
          directorio de la usuaria

     Véase doc/wiki/Variables.txt para obtener una lista completa.
     Algunos ejemplos:
     ‘maildir:~/Correo’
     ‘mbox:~/correo:INBOX=/var/mail/%u’
     ‘mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%’
     El valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string mail-uid
     Usuaria del sistema y grupo que realizan el acceso al correo.  Si
     se usan varias, userdb puede forzar su valor al devolver campos uid
     o gid.  Se pueden usar tanto identificadores numéricos como
     nominales.  <doc/wiki/UserIds.txt>.  Su valor predeterminado es
     ‘""’.

 -- parámetro de ‘dovecot-configuration’: string mail-gid

     El valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string mail-privileged-group
     Grupo para permitir de forma temporal operaciones privilegiadas.
     Actualmente esto se usa únicamente con la bandeja de entrada
     (INBOX), cuando su creación inicial o el bloqueo con archivo
     ‘.lock’ falle.  Habitualmente se le proporciona el valor ‘"mail"’
     para tener acceso a ‘/var/mail’.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string mail-access-groups
     Proporciona acceso a estos grupos suplementarios a los procesos de
     correo.  Habitualmente se usan para configurar el acceso a bandejas
     de correo compartidas.  Tenga en cuenta que puede ser peligroso
     establecerlos si las usuarias pueden crear enlaces simbólicos (por
     ejemplo si se configura el grupo ‘mail’ aquí, ‘ln -s /var/mail
     ~/mail/var’ puede permitir a una usuaria borrar las bandejas de
     correo de otras usuarias, o ‘ln -s /bandeja/compartida/secreta
     ~/mail/mibandeja’ permitiría su lectura).  Su valor predeterminado
     es ‘""’.

 -- ‘dovecot-configuration’ parameter: string mail-attribute-dict
     The location of a dictionary used to store ‘IMAP METADATA’ as
     defined by RFC 5464 (https://tools.ietf.org/html/rfc5464).

     The IMAP METADATA commands are available only if the “imap”
     protocol configuration’s ‘imap-metadata?’ field is ‘#t’.

     El valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: boolean
          mail-full-filesystem-access?
     Allow full file system access to clients.  There’s no access checks
     other than what the operating system does for the active UID/GID.
     It works with both maildir and mboxes, allowing you to prefix
     mailboxes names with e.g. ‘/path/’ or ‘~user/’.  Defaults to ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean mmap-disable?
     No usa ‘mmap()’ en absoluto.  Es necesario si almacena índices en
     sistemas de archivos compartidos (NFS o sistemas de archivos en
     cluster).  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean dotlock-use-excl?
     Confía en el correcto funcionamiento de ‘O_EXCL’ para la creación
     de archivos de bloqueo dotlock.  NFS implementa ‘O_EXCL’ desde la
     versión 3, por lo que debería ser seguro usarlo hoy en día de
     manera predeterminada.  Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: string mail-fsync
     Cuando se usarán las llamadas fsync() o fdatasync():
     ‘optimized’
          Cuando sea necesario para evitar la perdida de datos
          importantes
     ‘always’
          Útil con, por ejemplo, NFS, donde las escrituras con ‘write()’
          se aplazan
     ‘never’
          Nunca se usa (mejor rendimiento, pero los fallos pueden
          producir pérdida de datos)
     Su valor predeterminado es ‘"optimized"’.

 -- parámetro de ‘dovecot-configuration’: boolean mail-nfs-storage?
     Mail storage exists in NFS.  Set this to yes to make Dovecot flush
     NFS caches whenever needed.  If you’re using only a single mail
     server this isn’t needed.  Defaults to ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean mail-nfs-index?
     Mail index files also exist in NFS.  Setting this to yes requires
     ‘mmap-disable? #t’ and ‘fsync-disable? #f’.  Defaults to ‘#f’.

 -- parámetro de ‘dovecot-configuration’: string lock-method
     Método de bloqueo para los archivos de índice.  Las alternativas
     son fcntl, flock y dotlock.  Dotlock utiliza técnicas que pueden
     provocar un consumo de E/S mayor que otros métodos de bloqueo.
     Usuarias de NFS: flock no funciona, recuerde que se debe cambiar
     ‘mmap-disable’.  Su valor predeterminado es ‘"fcntl"’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo mail-temp-dir
     Directorio en el que LDA/LMTP almacena de manera temporal correos
     entrantes de de más de 128 kB. Su valor predeterminado es ‘"/tmp"’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          first-valid-uid
     Rango de UID aceptado para las usuarias.  Principalmente es para
     asegurarse de que las usuarias no pueden ingresar en el sistema
     como un daemon u otras usuarias del sistema.  Tenga en cuenta que
     el binario de dovecot tiene código que impide el ingreso al sistema
     como root y no puede llevarse a cabo incluso aunque
     ‘first-valid-uid’ tenga el valor 0.  Su valor predeterminado es
     ‘500’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          last-valid-uid

     El valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          first-valid-gid
     Rango de GID aceptado para las usuarias.  Las usuarias que no
     posean GID válido como ID primario de grupo no tienen permitido el
     ingreso al sistema.  Si la usuaria es miembro de grupos
     suplementarios con GID no válido, no se activan dichos grupos.  Su
     valor predeterminado es ‘1’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          last-valid-gid

     El valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          mail-max-keyword-length
     Longitud máxima permitida para nombres de palabras clave del
     correo.  El límite actúa únicamente en la creación de nuevas
     palabras clave.  Su valor predeterminado es ‘50’.

 -- parámetro de ‘dovecot-configuration’: lista-archivos-sep-dos-puntos
          valid-chroot-dirs
     Lista de directorios bajo los que se permite realizar la llamada al
     sistema chroot a procesos de correo (es decir, ‘/var/mail’
     permitiría realizar la llamada también en
     ‘/var/mail/sub/directorio’).  Esta configuración no afecta a la
     configuración de ‘login-chroot’, ‘mail-chroot’ o la de chroot para
     identificación.  En caso de estar vacía, se ignora ‘"/./"’ en los
     directorios de usuarias.  AVISO: Nunca añada directorios que las
     usuarias locales puedan modificar, puesto que podría permitir
     vulnerar el control de acceso como “root”.  Habitualmente esta
     opción se activa únicamente si no permite a las usuarias acceder a
     un intérprete de órdenes.  <doc/wiki/Chrooting.txt>.  Su valor
     predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: string mail-chroot
     Directorio predeterminado de la llamada al sistema chroot para los
     procesos de correo.  El valor puede forzarse para usuarias
     específicas en la base de datos proporcionando ‘/./’ en el
     directorio de la usuaria (por ejemplo, ‘/home/./usuaria’ llama a
     chroot con ‘/home’).  Tenga en cuenta que habitualmente no es
     necesario llamar a chroot, Dovecot no permite a las usuarias el
     acceso a archivos más allá de su directorio de correo en cualquier
     caso.  Si sus directorios de usuaria contienen el directorio de
     chroot como prefijo, agregue ‘/.’ al final de ‘mail-chroot’.
     <doc/wiki/Chrooting.txt>.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo
          auth-socket-path
     Ruta al socket de UNIX al servidor maestro de identificación para
     la búsqueda de usuarias.  Se usa por parte de imap (para usuarias
     compartidas) y lda.  Su valor predeterminado es
     ‘"/var/run/dovecot/auth-userdb"’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo mail-plugin-dir
     Directorio en el que se buscarán módulos de correo.  Su valor
     predeterminado es ‘"/usr/lib/dovecot"’.

 -- parámetro de ‘dovecot-configuration’: lista-cadena-separada-espacios
          mail-plugins
     Lista de módulos cargados en todos los servicios.  Los módulos
     específicos para IMAP, LDA, etc. se añaden en esta lista en sus
     propios archivos .conf.  Su valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          mail-cache-min-mail-count
     El número mínimo de correos en una bandeja antes de que las
     actualizaciones se realicen en un archivo de caché.  Permite
     optimizar el comportamiento de Dovecot para reducir la tasa de
     escritura en el disco, lo que produce un aumento de la tasa de
     lectura.  Su valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: string
          mailbox-idle-check-interval
     Cuando se ejecute la orden IDLE, la bandeja de correo se comprueba
     de vez en cuando para comprobar si existen nuevos correos o se han
     producido otros cambios.  Esta configuración define el tiempo
     mínimo entre dichas comprobaciones.  Dovecot también puede usar
     dnotify, inotify y kqueue para recibir información inmediata sobre
     los cambios que ocurran.  Su valor predeterminado es ‘"30 secs"’.

 -- parámetro de ‘dovecot-configuration’: boolean mail-save-crlf?
     Save mails with CR+LF instead of plain LF.  This makes sending
     those mails take less CPU, especially with sendfile() syscall with
     Linux and FreeBSD.  But it also creates a bit more disk I/O which
     may just make it slower.  Also note that if other software reads
     the mboxes/maildirs, they may handle the extra CRs wrong and cause
     problems.  Defaults to ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean maildir-stat-dirs?
     De manera predeterminada la orden LIST devuelve todas las entradas
     en maildir cuyo nombre empiece en punto.  La activación de esta
     opción hace que Dovecot únicamente devuelva las entradas que sean
     directorios.  Esto se lleva a cabo llamando a stat() con cada
     entrada, lo que causa mayor E/S del disco.  (En sistemas que
     proporcionen valor a ‘dirent->d_type’ esta comprobación no tiene
     coste alguno y se realiza siempre independientemente del valor
     configurado aquí).  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean
          maildir-copy-with-hardlinks?
     Cuando se copia un mensaje, se usan enlaces duros cuando sea
     posible.  Esto mejora mucho el rendimiento, y es difícil que
     produzca algún efecto secundario.  Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: boolean
          maildir-very-dirty-syncs?
     Asume que Dovecot es el único MUA que accede a maildir: Recorre el
     directorio cur/ únicamente cuando cambie su mtime de manera
     inesperada o cuando no se pueda encontrar el correo de otra manera.
     Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: lista-cadena-separada-espacios
          mbox-read-locks
     Qué métodos de bloqueo deben usarse para el bloque de mbox.  Hay
     cuatro disponibles:

     ‘dotlock’
          Crea un archivo <bandeja>.lock.  Esta es la solución más
          antigua y más segura con NFS. Si desea usar un directorio como
          /var/mail/, las usuarias necesitarán acceso de escritura a
          dicho directorio.
     ‘dotlock-try’
          Lo mismo que dotlock, pero si se produce un fallo debido a los
          permisos o a que no existe suficiente espacio en disco,
          simplemente se omite el bloqueo.
     ‘fcntl’
          Use este a ser posible.  Funciona también con NFS si se usa
          lockd.
     ‘flock’
          Puede no existir en todos los sistemas.  No funciona con NFS.
     ‘lockf’
          Puede no existir en todos los sistemas.  No funciona con NFS.

     Puede usar múltiples métodos de bloqueo; en ese caso el orden en el
     que se declaran es importante para evitar situaciones de bloqueo
     mutuo en caso de que otros MTA/MUA usen también múltiples métodos
     de bloqueo.  Algunos sistemas operativos no permiten el uso de
     varios de ellos de manera simultánea.

 -- parámetro de ‘dovecot-configuration’: lista-cadena-separada-espacios
          mbox-write-locks

 -- parámetro de ‘dovecot-configuration’: string mbox-lock-timeout
     Tiempo máximo esperado hasta el bloqueo (de todos los archivos)
     antes de interrumpir la operación.  Su valor predeterminado es ‘"5
     mins"’.

 -- parámetro de ‘dovecot-configuration’: string
          mbox-dotlock-change-timeout
     Si existe el archivo dotlock pero la bandeja no se ha modificado de
     ninguna manera, ignora el archivo de bloqueo tras este tiempo.  Su
     valor predeterminado es ‘"2 mins"’.

 -- parámetro de ‘dovecot-configuration’: boolean mbox-dirty-syncs?
     Cuando el archivo mbox cambie de manera inesperada, se tiene que
     leer completamente para encontrar los cambios.  Si es grande puede
     tardar bastante tiempo.  Deido a que el cambio habitualmente es un
     nuevo correo añadido al final, sería más rápido únicamente leer los
     correos nuevos.  Si se activa esta opción, Dovecot hace esto pero
     de todos modos vuelve a leer el archivo mbox al completo cuando
     algo en la bandeja no se encuentra como se esperaba.  La única
     desventaja real de esta configuración es que si otro MUA cambia las
     opciones de los mensajes, Dovecot no tiene constancia de ello de
     manera inmediata.  Tenga en cuenta que una sincronización completa
     se lleva a cabo con las órdenes SELECT, EXAMINE, EXPUNGE y CHECK.
     Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: boolean mbox-very-dirty-syncs?
     Como ‘mbox-dirty-syncs’, pero no realiza sincronizaciones completas
     tampoco con las órdenes SELECT, EXAMINE, EXPUNGE o CHECK. Si se
     configura este valor, ‘mbox-dirty-syncs’ se ignora.  Su valor
     predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean mbox-lazy-writes?
     Retrasa la escritura de las cabeceras de mbox hasta que se realice
     una escritura completa sincronizada (con las órdenes EXPUNGE y
     CHECK, y al cerrar la bandeja de correo).  Es útil especialmente
     con POP3, donde el cliente habitualmente borra todos los correos.
     La desventaja es que nuestros cambios no son visibles para otros
     MUA de manera inmediata.  Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          mbox-min-index-size
     Si el tamaño del archivo mbox es menor que este valor (por ejemplo,
     100k), no escribe archivos de índice.  Si el archivo de índice ya
     existe, todavía se usa para la lectura, pero no se actualiza.  Su
     valor predeterminado es ‘0’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          mdbox-rotate-size
     Tamaño máximo del archivo dbox hasta su rotación.  Su valor
     predeterminado es ‘10000000’.

 -- parámetro de ‘dovecot-configuration’: string mdbox-rotate-interval
     Antigüedad máxima del archivo dbox hasta que se produce su
     rotación.  Habitualmente en días.  El día comienza a medianoche,
     por lo que 1d = hoy, 2d = ayer, etcétera.  0 = comprobación
     desactivada.  Su valor predeterminado es ‘"1d"’.

 -- parámetro de ‘dovecot-configuration’: boolean
          mdbox-preallocate-space?
     Cuando se crean nuevos archivos mdbox, reserva inmediatamente un
     tamaño de ‘mbox-rotate-size’.  Actualmente esta configuración
     funciona únicamente en Linux con determinados sistemas de archivos
     (ext4, xfs).  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: string mail-attachment-dir
     sdbox y mdbox permiten el almacenamiento de adjuntos en archivos
     externos, lo que permite también su almacenamiento único.  Otros
     motores no lo permiten por el momento.

     AVISO: Esta característica todavía no se ha probado mucho.  Su uso
     queda bajo su propia responsabilidad.

     Directorio raíz donde almacenar los adjuntos de los correos.  Se
     desactiva en caso de estar vacío.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          mail-attachment-min-size
     Los adjuntos de menor tamaño que este valor no se almacenan
     externamente.  También es posible la escritura de un módulo que
     deshabilite el almacenamiento externo de adjuntos específicos.  Su
     valor predeterminado es ‘128000’.

 -- parámetro de ‘dovecot-configuration’: string mail-attachment-fs
     Motor del sistema de archivos usado para el almacenamiento de
     adjuntos:
     ‘posix’
          Dovecot no lleva a cabo el SiS (aunque esto puede ayudar a la
          deduplicación del propio sistema de archivos)
     ‘sis posix’
          SiS con comparación inmediata byte-por-byte durante el
          almacenamiento.
     ‘sis-queue posix’
          SiS mediante comparación retrasada y deduplicación.
     El valor predeterminado es ‘"sis posix"’.

 -- parámetro de ‘dovecot-configuration’: string mail-attachment-hash
     Formato del hash usado en los archivos adjuntos.  Puede añadir
     cualquier texto y variables: ‘%{md4}’, ‘%{md5}’, ‘%{sha1}’,
     ‘%{sha256}’, ‘%{sha512}’, ‘%{size}’.  Las variables pueden
     reducirse, por ejemplo ‘%{sha256:80}’ devuelve únicamente los
     primeros 80 bits.  Su valor predeterminado es ‘"%{sha1}"’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          default-process-limit

     El valor predeterminado es ‘100’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          default-client-limit

     El valor predeterminado es ‘1000’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          default-vsz-limit
     Límite predeterminado del tamaño de memoria virtual (VSZ) para
     procesos del servicio.  Esta principalmente orientado a la captura
     y parada de procesos que pierden memoria antes de que utilicen toda
     la disponible.  Su valor predeterminado es ‘256000000’.

 -- parámetro de ‘dovecot-configuration’: string default-login-user
     Usuaria de ingreso al sistema para los procesos de ingreso al
     sistema.  Es la usuaria en la que menos se confía en el sistema
     Dovecot.  No debería tener acceso a nada en absoluto.  Su valor
     predeterminado es ‘"dovenull"’.

 -- parámetro de ‘dovecot-configuration’: string default-internal-user
     Usuaria interna usada por procesos sin privilegios.  Debería ser
     distinta a la usuaria de ingreso, de modo que los procesos de
     ingreso al sistema no interfieran con otros procesos.  Su valor
     predeterminado es ‘"dovecot"’.

 -- parámetro de ‘dovecot-configuration’: string ssl?
     Si se permite SSL/TLS: ‘yes’ (sí), ‘no’, ‘required’ (necesario).
     <doc/wiki/SSL.txt>.  Su valor predeterminado es ‘"required"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-cert
     Certificado X.509 de SSL/TLS codificado con PEM (clave pública).
     Su valor predeterminado es ‘"</etc/dovecot/default.pem"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-key
     Clave privada de SSL/TLS codificada con PEM. La clave se abre antes
     de renunciar a los privilegios de root, por lo que debe mantenerse
     legible únicamente para root.  Su valor predeterminado es
     ‘"</etc/dovecot/private/default.pem"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-key-password
     Si el archivo de la clave está protegido por contraseña, introduzca
     dicha contraseña aquí.  De manera alternativa, puede proporcionarla
     al iniciar dovecot con el parámetro -p.  Como este archivo es
     habitualmente legible por todo el mundo, puede que desee desplazar
     esta opción a un archivo diferente.  Su valor predeterminado es
     ‘""’.

 -- parámetro de ‘dovecot-configuration’: string ssl-ca
     Certificado usado como autoridad de certificación de confianza
     codificado en PEM. Configure este valor únicamente si tiene
     intención de usar ‘ssl-verify-client-cert? #t’.  El archivo debe
     contener el archivo de la o las AC seguido de las CRL
     correspondientes (por ejemplo, ‘ssl-ca </etc/ssl/certs/ca.pem’).
     Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: boolean ssl-require-crl?
     Es necesario que la comprobación de CRL sea satisfactoria para
     certificados de clientes..  Su valor predeterminado es ‘#t’.

 -- parámetro de ‘dovecot-configuration’: boolean
          ssl-verify-client-cert?
     Solicita al cliente el envío de un certificado.  Si también desea
     que sea un requisito, proporcione ‘auth-ssl-require-client-cert?
     #t’ en la sección de identificación.  Su valor predeterminado es
     ‘#f’.

 -- parámetro de ‘dovecot-configuration’: string ssl-cert-username-field
     Cual es el campo del certificado que determina el nombre de
     usuaria.  “commonName” y “x500UniqueIdentifier” son las opciones
     habituales.  También tendrá proporcionar
     ‘auth-ssl-username-from-cert? #t’.  Su valor predeterminado es
     ‘"commonName"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-min-protocol
     Versión mínima aceptada del protocolo SSL. Su valor predeterminado
     es ‘"TLSv1"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-cipher-list
     Protocolos de cifrado de SSL usados.  Su valor predeterminado es
     ‘"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH"’.

 -- parámetro de ‘dovecot-configuration’: string ssl-crypto-device
     Dispositivo de cifrado de SSL usado, ejecute "openssl engine" para
     obtener los valores aceptados.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string postmaster-address
     Dirección usada cuando se notifiquen correos rechazados.  %d
     expande al dominio receptor.  Su valor predeterminado es
     ‘"postmaster@%d"’.

 -- parámetro de ‘dovecot-configuration’: string hostname
     Nombre de máquina usado en diversas partes de los correos enviados
     (por ejemplo, en Message-Id) y en las respuestas LMTP. Su valor
     predeterminado es <el nombre real de la máquina>@dominio.  Su valor
     predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: boolean quota-full-tempfail?
     Si la usuaria supera la cuota, devuelve un fallo temporal en vez de
     rechazar el correo.  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: nombre-archivo sendmail-path
     Binario usado para el envío de correos.  Su valor predeterminado es
     ‘"/usr/sbin/sendmail"’.

 -- parámetro de ‘dovecot-configuration’: string submission-host
     Si no está vacío, envía el correo a través de esta máquina[:puerto]
     SMTP en vez de usar sendmail Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string rejection-subject
     Asunto: cabecera usada en el rechazo de correos.  Puede usar las
     mismas variables que las indicadas en ‘rejection-reason’ a
     continuación.  Su valor predeterminado es ‘"Rejected: %s"’.

 -- parámetro de ‘dovecot-configuration’: string rejection-reason
     Mensaje de error legible por personas para el rechazo de correos.
     Puede usar variables:

     ‘%n’
          CRLF
     ‘%r’
          razón
     ‘%s’
          asunto original
     ‘%t’
          receptora
     El valor predeterminado es ‘"Your message to <%t> was automatically
     rejected:%n%r"’.

 -- parámetro de ‘dovecot-configuration’: string recipient-delimiter
     Carácter delimitador entre la parte local y el detalle en las
     direcciones de correo.  Su valor predeterminado es ‘"+"’.

 -- parámetro de ‘dovecot-configuration’: string
          lda-original-recipient-header
     Cabecera de donde se obtiene la dirección receptora original (la
     dirección de SMTP RCPT TO:) en caso de no estar disponible en otro
     lugar.  El parámetro -a de dovecot-lda reemplaza este valor.  Una
     cabecera usada para esto de manera común es X-Original-To.  Su
     valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: boolean
          lda-mailbox-autocreate?
     ¿Se debe crear una bandeja de correo no existente de manera
     automática al almacenar un correo?  Su valor predeterminado es
     ‘#f’.

 -- parámetro de ‘dovecot-configuration’: boolean
          lda-mailbox-autosubscribe?
     ¿También Se deben crear suscripciones de manera automática a las
     bandejas de correo creadas?  Su valor predeterminado es ‘#f’.

 -- parámetro de ‘dovecot-configuration’: entero-no-negativo
          imap-max-line-length
     Longitud máxima de la línea de órdenes de IMAP. Algunos clientes
     generan líneas de órdenes muy largas con bandejas de correo
     enormes, por lo que debe incrementarlo si recibe los errores “Too
     long argument” (parámetro demasiado largo) o "IMAP command line too
     large" (línea de órdenes de IMAP demasiado grande).  Su valor
     predeterminado es ‘64000’.

 -- parámetro de ‘dovecot-configuration’: string imap-logout-format
     Formato de la cadena de IMAP de salida del sistema:
     ‘%i’
          número total de bytes leídos del cliente
     ‘%o’
          número total de bytes enviados al cliente.
     Véase ‘doc/wiki/Variables.txt’ para obtener una lista completa de
     todas las variables que puede usar.  Su valor predeterminado es
     ‘"in=%i out=%o deleted=%{deleted} expunged=%{expunged}
     trashed=%{trashed} hdr_count=%{fetch_hdr_count}
     hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count}
     body_bytes=%{fetch_body_bytes}"’.

 -- parámetro de ‘dovecot-configuration’: string imap-capability
     Fuerza el valor de la respuesta de IMAP CAPABILITY. Si el valor
     comienza con ’+’, añade las capacidades especificadas sobre las
     predeterminadas (por ejemplo, +XFOO XBAR). Su valor predeterminado
     es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string
          imap-idle-notify-interval
     Durante cuanto tiempo se espera entre notificaciones "OK Still
     here" cuando el cliente se encuentre en estado IDLE. Su valor
     predeterminado es ‘"2 mins"’.

 -- parámetro de ‘dovecot-configuration’: string imap-id-send
     Nombres y valores de campos de identificación (ID) que se enviarán
     a los clientes.  El uso de * como un valor hace que Dovecot utilice
     el valor predeterminado.  Los siguientes campos tienen actualmente
     valores predeterminados: name, version, os, os-version,
     support-url, support-email.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: string imap-id-log
     Campos de identificación (ID) enviados para su registro por
     cliente.  ‘*’ significa todos.  Su valor predeterminado es ‘""’.

 -- parámetro de ‘dovecot-configuration’: lista-cadena-separada-espacios
          imap-client-workarounds
     Soluciones temporales para varios errores de clientes:

     ‘delay-newmail’
          Envía notificaciones de nuevo correo EXISTS/RECENT únicamente
          en respuesta a ordenes NOOP o CHECK. Algunos clientes las
          ignoran en otro caso, por ejemplo OSX Mail (<v2.1).  Outlook
          Express tiene problemas mayores no obstante, sin esto puede
          mostrar a la usuaria errores "Message no longer in server".
          Tenga en cuenta que OE6 también falla con esta solución
          temporal si la sincronización se establece como "Headers
          Only".

     ‘tb-extra-mailbox-sep’
          Thunderbird se confunde de algún modo con LAYOUT=fs (mbox y
          dbox) y añade sufijos ‘/’ adicionales a los nombres de las
          bandejas de correo.  Esta opción hace que Dovecot ignore el
          carácter ‘/’ adicional en vez de tratarlo como un nombre de
          bandeja de correo no válido.

     ‘tb-lsub-flags’
          Muestra las opciones \Noselect para respuestas LSUB con
          LAYOUT=fs (por ejemplo mbox).  Esto permite a Thunderbird ser
          consciente de que no se pueden seleccionar y mostrarlas en
          gris, en vez de únicamente mostrar después el mensaje de error
          "no seleccionable".
     El valor predeterminado es ‘()’.

 -- parámetro de ‘dovecot-configuration’: string imap-urlauth-host
     Máquina permitida en las URL URLAUTH enviadas por el cliente.  "*"
     permite todas.  Su valor predeterminado es ‘""’.

   ¡Miau!  Muchas opciones de configuración.  Lo bueno es que Guix tiene
una interfaz completa al lenguage de configuración de Dovecot.  Esto no
permite únicamente declarar configuraciones de forma bonita, sino que
también ofrece capacidades reflexivas: las usuarias pueden escribir
código en Scheme para inspeccionar y transformar configuraciones.

   No obstante, puede ser que únicamente desee usar un archivo
‘dovecot.conf’ existente.  En ese caso, puede proporcionar un objeto
‘opaque-dovecot-configuration’ como parámetro ‘#:config’ a
‘dovecot-service’.  Como su nombre en inglés indica, una configuración
opaca no tiene gran capacidad reflexiva.

   Los campos disponibles de ‘opaque-dovecot-configuration’ son:

 -- parámetro de ‘opaque-dovecot-configuration’: package dovecot
     El paquete dovecot.

 -- parámetro de ‘opaque-dovecot-configuration’: string string
     El contenido de ‘dovecot.conf’, como una cadena.

   Por ejemplo, si su ‘dovecot.conf’ fuese simplemente la cadena vacía,
podría instanciar un servicio dovecot de esta manera:

     (dovecot-service #:config
                      (opaque-dovecot-configuration
                       (string "")))

Servicio OpenSMTPD
..................

 -- Variable Scheme: opensmtpd-service-type
     Es el tipo del servicio OpenSMTPD (https://www.opensmtpd.org), cuyo
     valor debe ser un objeto ‘opensmtpd-configuration’ como en este
     ejemplo:

          (service opensmtpd-service-type
                   (opensmtpd-configuration
                     (config-file (local-file "./mi-smtpd.conf"))))

 -- Tipo de datos: opensmtpd-configuration
     Tipo de datos que representa la configuración de opensmtpd.

     ‘package’ (predeterminado: OPENSMTPD)
          El objeto paquete del servidor SMTP OpenSMTPD.

     ‘config-file’ (default: ‘%default-opensmtpd-config-file’)
          Objeto “tipo-archivo” del archivo de configuración de
          OpenSMTPD usado.  De manera predeterminada escucha en la
          interfaz de red local, y pone a disposición de usuarias y
          daemon de la máquina local el servicio de correo, así como el
          envío de correo a servidores remotos.  Ejecute ‘man
          smtpd.conf’ para obtener más información.

     ‘setgid-commands?’ (default: ‘#t’)
          Make the following commands setgid to ‘smtpq’ so they can be
          executed: ‘smtpctl’, ‘sendmail’, ‘send-mail’, ‘makemap’,
          ‘mailq’, and ‘newaliases’.  *Note Programas con setuid::, for
          more information on setgid programs.

Servicio Exim
.............

 -- Variable Scheme: exim-service-type
     Este es el tipo del agente de transferencia de correo (MTA) Exim
     (https://exim.org), cuyo valor debe ser un objeto
     ‘exim-configuration’ como en este ejemplo:

          (service exim-service-type
                   (exim-configuration
                     (config-file (local-file "./mi-exim.conf"))))

   Para usar un servicio ‘exim-service-type’ debe tener también un
servicio ‘mail-aliases-service-type’ presente en su declaración
‘operating-system’ (incluso aunque no exista ningún alias).

 -- Tipo de datos: exim-configuration
     Tipo de datos que representa la configuración de exim.

     ‘package’ (predeterminado: EXIM)
          El objeto paquete del servidor Exim.

     ‘config-file’ (predeterminado: ‘#f’)
          File-like object of the Exim configuration file to use.  If
          its value is ‘#f’ then use the default configuration file from
          the package provided in ‘package’.  The resulting
          configuration file is loaded after setting the ‘exim_user’ and
          ‘exim_group’ configuration variables.

Servicio Getmail
................

 -- Variable Scheme: getmail-service-type
     El tipo del receptor de correo Getmail
     (http://pyropus.ca/software/getmail/), cuyo valor debe ser un
     objeto ‘getmail-configuration’.

   Los campos disponibles de ‘getmail-configuration’ son:

 -- parámetro de ‘getmail-configuration’: símbolo name
     Un símbolo que identifique el servicio getmail.

     El valor predeterminado es ‘"unset"’.

 -- parámetro de ‘getmail-configuration’: package package
     El paquete getmail usado.

 -- parámetro de ‘getmail-configuration’: string user
     Usuaria que ejecuta getmail.

     El valor predeterminado es ‘"getmail"’.

 -- parámetro de ‘getmail-configuration’: string group
     Grupo que ejecuta getmail.

     El valor predeterminado es ‘"getmail"’.

 -- parámetro de ‘getmail-configuration’: string directory
     El directorio usado para getmail.

     El valor predeterminado es ‘"/var/lib/getmail/default"’.

 -- parámetro de ‘getmail-configuration’: getmail-configuration-file
          rcfile
     El archivo de configuración de getmail usado.

     Los campos disponibles de ‘getmail-configuration-file’ son:

      -- parámetro de ‘getmail-configuration-file’:
               getmail-retriever-configuration retriever
          De qué cuenta de correo obtener el correo, y cómo acceder a
          dicha cuenta.

          Los campos disponibles de ‘getmail-retriever-configuration’
          son:

           -- parámetro de ‘getmail-retriever-configuration’: string
                    type
               El controlador que userdb debe usar.  Entre los valores
               aceptados se incluye ‘passwd’ y ‘static’.

               El valor predeterminado es ‘"SimpleIMAPSSLRetriever"’.

           -- parámetro de ‘getmail-retriever-configuration’: string
                    server
               Usuaria que ejecutará el servidor de correo.

               El valor predeterminado es ‘unset’.

           -- parámetro de ‘getmail-retriever-configuration’: string
                    username
               Usuaria que ejecutará el servidor de correo.

               El valor predeterminado es ‘unset’.

           -- parámetro de ‘getmail-retriever-configuration’:
                    entero-no-negativo port
               Número de puerto al que conectarse.

               El valor predeterminado es ‘#f’

           -- parámetro de ‘getmail-retriever-configuration’: string
                    password
               Sustituye los valores de campos de passwd.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-retriever-configuration’: list
                    password-command
               Sustituye los valores de campos de passwd.

               El valor predeterminado es ‘()’.

           -- parámetro de ‘getmail-retriever-configuration’: string
                    keyfile
               Archivo de claves con formato PEM usado para la
               negociación TLS.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-retriever-configuration’: string
                    certfile
               Archivo de certificado con formato PEM usado para la
               negociación TLS.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-retriever-configuration’: string
                    ca-certs
               Certificados de autoridad de certificación (CA) usados.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-retriever-configuration’:
                    parameter-alist extra-parameters
               Parámetros adicionales del receptor de correo.

               El valor predeterminado es ‘()’.

      -- parámetro de ‘getmail-configuration-file’:
               getmail-destination-configuration destination
          Qué hacer con los mensajes obtenidos.

          Los campos disponibles de ‘getmail-destination-configuration’
          son:

           -- parámetro de ‘getmail-destination-configuration’: string
                    type
               Tipo de destino del correo.  Entre los valores válidos se
               incluye ‘Maildir’, ‘Mboxrd’ y ‘MDA_external’.

               El valor predeterminado es ‘unset’.

           -- parámetro de ‘getmail-destination-configuration’:
                    string-or-filelike path
               Opción de ruta para el destino del correo.  El
               comportamiento depende del tipo seleccionado.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-destination-configuration’:
                    parameter-alist extra-parameters
               Parámetros adicionales del destino.

               El valor predeterminado es ‘()’.

      -- parámetro de ‘getmail-configuration-file’:
               getmail-options-configuration options
          Configuración de getmail.

          Los campos disponibles de ‘getmail-options-configuration’ son:

           -- parámetro de ‘getmail-options-configuration’:
                    entero-no-negativo verbose
               If set to ‘0’, getmail will only print warnings and
               errors.  A value of ‘1’ means that messages will be
               printed about retrieving and deleting messages.  If set
               to ‘2’, getmail will print messages about each of its
               actions.

               El valor predeterminado es ‘1’.

           -- parámetro de ‘getmail-options-configuration’: boolean
                    read-all
               Si es verdadero, getmail obtendrá todos los mensajes
               disponibles.  En otro caso, únicamente recupera mensajes
               que no se hayan visto previamente.

               El valor predeterminado es ‘#t’

           -- parámetro de ‘getmail-options-configuration’: boolean
                    delete
               Si se proporciona un valor verdadero, los mensajes se
               borrarán del servidor tras su recuperación y entrega
               posterior satisfactoria.  En otro caso, los mensajes
               permanecerán en el servidor.

               El valor predeterminado es ‘#f’

           -- parámetro de ‘getmail-options-configuration’:
                    entero-no-negativo delete-after
               Getmail borrará los mensajes tras este número de días
               después de haberlos visto, si han sido entregados.  Esto
               significa que los mensajes se mantendrán en el servidor
               este número de días tras entregarlos.  El valor ‘0’
               desactiva esta característica.

               El valor predeterminado es ‘0’.

           -- parámetro de ‘getmail-options-configuration’:
                    entero-no-negativo delete-bigger-than
               Borra los mensajes de tamaño mayor que estos bytes tras
               recibirlos, incluso si las opciones “delete” y
               “delete-after” están desactivadas.  El valor ‘0’
               desactiva esta característica.

               El valor predeterminado es ‘0’.

           -- parámetro de ‘getmail-options-configuration’:
                    entero-no-negativo max-bytes-per-session
               Obtiene mensajes hasta este número de bytes en total
               antes de cerrar la sesión con el servidor.  El valor ‘0’
               desactiva esta característica.

               El valor predeterminado es ‘0’.

           -- parámetro de ‘getmail-options-configuration’:
                    entero-no-negativo max-message-size
               No obtiene mensajes con mayor tamaño que este número de
               bytes.  El valor ‘0’ desactiva esta característica.

               El valor predeterminado es ‘0’.

           -- parámetro de ‘getmail-options-configuration’: boolean
                    delivered-to
               Si es verdadero, getmail añadirá una cabecera
               “Delivered-To” a los mensajes.

               El valor predeterminado es ‘#t’

           -- parámetro de ‘getmail-options-configuration’: boolean
                    received
               Si es verdadero, getmail añadirá una cabecera “Received”
               a los mensajes.

               El valor predeterminado es ‘#t’

           -- parámetro de ‘getmail-options-configuration’: string
                    message-log
               Getmail generará un registro de sus acciones en el
               archivo nombrado.  El valor ‘""’ desactiva esta
               característica.

               El valor predeterminado es ‘""’.

           -- parámetro de ‘getmail-options-configuration’: boolean
                    message-log-syslog
               Si es verdadero, getmail registrará sus acciones a través
               del registro del sistema.

               El valor predeterminado es ‘#f’

           -- parámetro de ‘getmail-options-configuration’: boolean
                    message-log-verbose
               Si es verdadero, getmail registrará información sobre los
               mensajes que no se hayan podido recuperar y la razón para
               no hacerlo, así como líneas de inicio y fin informativas.

               El valor predeterminado es ‘#f’

           -- parámetro de ‘getmail-options-configuration’:
                    parameter-alist extra-parameters
               Opciones adicionales a incluir.

               El valor predeterminado es ‘()’.

 -- parámetro de ‘getmail-configuration’: lista idle
     Una lista de bandejas de correo en las que getmail debe esperar en
     el servidor nuevas notificaciones de correo.  Esto depende de que
     el servidor implemente la extensión IDLE.

     El valor predeterminado es ‘()’.

 -- parámetro de ‘getmail-configuration’: lista environment-variables
     Variables de entorno proporcionadas a getmail.

     El valor predeterminado es ‘()’.

Servicios de alias de correo
............................

 -- Variable Scheme: mail-aliases-service-type
     Este es el tipo del servicio que proporciona ‘/etc/aliases’, donde
     se especifica cómo entregar el correo a las usuarias de este
     sistema.

          (service mail-aliases-service-type
                   '(("postmaster" "rober")
                     ("rober" "rober@example.com" "rober@example2.com")))

   The configuration for a ‘mail-aliases-service-type’ service is an
association list denoting how to deliver mail that comes to this system.
Each entry is of the form ‘(alias addresses ...)’, with ‘alias’
specifying the local alias and ‘addresses’ specifying where to deliver
this user’s mail.

   The aliases aren’t required to exist as users on the local system.
In the above example, there doesn’t need to be a ‘postmaster’ entry in
the ‘operating-system’’s ‘user-accounts’ in order to deliver the
‘postmaster’ mail to ‘bob’ (which subsequently would deliver mail to
‘bob@example.com’ and ‘bob@example2.com’).

daemon de IMAP3 de GNU Mailutils
................................

 -- Variable Scheme: imap4d-service-type
     Es el tipo del daemon IMAP4 de GNU Mailutils (*note
     (mailutils)imap4d::), cuyo valor debe ser un objeto
     ‘imap4d-configuration’ como en este ejemplo:

          (service imap4d-service-type
                   (imap4d-configuration
                     (config-file (local-file "imap4d.conf"))))

 -- Tipo de datos: imap4d-configuration
     Tipo de datos que representa la configuración de ‘imap4d’.

     ‘package’ (predeterminado: ‘mailutils’)
          El paquete que proporciona ‘imap4d’.

     ‘config-file’ (predeterminado: ‘%default-imap4d-config-file’)
          Objeto “tipo-archivo” con el archivo de configuración usado,
          de manera predeterminada escucha en el puerto TCP 143 de
          ‘localhost’.  *Note (mailutils)Conf-imap4d::, para más
          detalles.

Radicale Service
................

 -- Scheme Variable: radicale-service-type
     This is the type of the Radicale (https://radicale.org)
     CalDAV/CardDAV server whose value should be a
     ‘radicale-configuration’.

 -- Data Type: radicale-configuration
     Data type representing the configuration of ‘radicale’.

     ‘package’ (default: ‘radicale’)
          The package that provides ‘radicale’.

     ‘config-file’ (default: ‘%default-radicale-config-file’)
          File-like object of the configuration file to use, by default
          it will listen on TCP port 5232 of ‘localhost’ and use the
          ‘htpasswd’ file at ‘/var/lib/radicale/users’ with no (‘plain’)
          encryption.


File: guix.es.info,  Node: Servicios de mensajería,  Next: Servicios de telefonía,  Prev: Servicios de correo,  Up: Servicios

12.9.13 Servicios de mensajería
-------------------------------

El módulo ‘(gnu services messaging)’ proporciona definiciones de
servicios Guix para servicios de mensajería.  Actualmente proporciona
los siguientes servicios:

Servicio Prosody
................

 -- Variable Scheme: prosody-service-type
     Este es el tipo para el servidor de comunicaciones XMPP Prosody
     (https://prosody.im).  Su valor debe ser un registro
     ‘prosody-configuration’ como en este ejemplo:

          (service prosody-service-type
                   (prosody-configuration
                    (modules-enabled (cons* "groups" "mam" %default-modules-enabled))
                    (int-components
                     (list
                      (int-component-configuration
                       (hostname "conference.ejemplo.net")
                       (plugin "muc")
                       (mod-muc (mod-muc-configuration)))))
                    (virtualhosts
                     (list
                      (virtualhost-configuration
                       (domain "ejemplo.net"))))))

     Véase a continuación detalles acerca de ‘prosody-configuration’.

   De manera predeterminada, Prosody no necesita demasiada
configuración.  Únicamente un campo ‘virtualhost’ es necesario:
especifica el dominio en el que se desea que Prosody proporcione el
servicio.

   Puede realizar varias comprobaciones preliminares sobre la
configuración generada con la orden ‘prosodyctl check’.

   Prosodyctl también le ayudará con la importación de certificados del
directorio ‘letsencrypt’ de modo que la usuaria ‘prosody’ puede acceder
a ellos.  Véase <https://prosody.im/doc/letsencrypt>.

     prosodyctl --root cert import /etc/letsencrypt/live

   The available configuration parameters follow.  Each parameter
definition is preceded by its type; for example, ‘string-list foo’
indicates that the ‘foo’ parameter should be specified as a list of
strings.  Types starting with ‘maybe-’ denote parameters that won’t show
up in ‘prosody.cfg.lua’ when their value is left unspecified.

   También existe la posibilidad de especificar la configuración como
una cadena, por si tiene un archivo ‘prosody.cfg.lua’ antiguo que desea
transportar desde otro sistema; véase más detalles al final.

   El tipo ‘file-object’ designa o bien un objeto “tipo-archivo” (*note
objetos “tipo-archivo”: Expresiones-G.) o un nombre de archivo.

   Los campos disponibles de ‘prosody-configuration’ son:

 -- parámetro de ‘prosody-configuration’: package prosody
     El paquete Prosody.

 -- parámetro de ‘prosody-configuration’: nombre-archivo data-path
     Ruta del directorio de almacenamiento de datos de Prosody.  Véase
     <https://prosody.im/doc/configure>.  Su valor predeterminado es
     ‘"/var/lib/prosody"’.

 -- parámetro de ‘prosody-configuration’: lista-file-object plugin-paths
     Directorios de módulos adicionales.  Los módulos se buscan en orden
     en todas las rutas especificadas.  Véase
     <https://prosody.im/doc/plugins_directory>.  Su valor
     predeterminado es ‘()’.

 -- parámetro de ‘prosody-configuration’: nombre-archivo certificates
     Cada máquina virtual y componente necesitan un certificado de
     manera que los clientes y servidores puedan verificar su identidad
     de manera segura.  Prosody cargará de manera automática
     certificados/claves del directorio especificado aquí.  Su valor
     predeterminado es ‘"/etc/prosody/certs"’.

 -- parámetro de ‘prosody-configuration’: lista-string admins
     Es una lista de cuentas con permisos de administración en el
     servidor.  Tenga en cuenta que debe crear las cuentas de manera
     separada.  Véase <https://prosody.im/doc/admins> y
     <https://prosody.im/doc/creating_accounts>.  Ejemplo: ‘(admins
     '("usuaria1@example.com" "usuaria2@example.net"))’ Su valor
     predeterminado es ‘()’.

 -- parámetro de ‘prosody-configuration’: boolean use-libevent?
     Activa el uso de libevent para mejorar el rendimiento bajo altas
     cargas de trabajo.  Véase <https://prosody.im/doc/libevent>.  Su
     valor predeterminado es ‘#f’.

 -- parámetro de ‘prosody-configuration’: lista-módulos modules-enabled
     La lista de módulos de Prosody cargada durante el arranque.  Busca
     en el archivo de módulos ‘mod_nombremodulo.lua’, por lo que
     asegúrese de que también exista.  La documentación de los módulos
     puede encontrarse en: <https://prosody.im/doc/modules>.  Su valor
     predeterminado es ‘("roster" "saslauth" "tls" "dialback" "disco"
     "carbons" "private" "blocklist" "vcard" "version" "uptime" "time"
     "ping" "pep" "register" "admin_adhoc")’.

 -- parámetro de ‘prosody-configuration’: lista-string modules-disabled
     ‘"offline"’, ‘"c2s"’ y ‘"s2s"’ se cargan de manera automática, pero
     puede desactivarlos si los añade a esta lista.  Su valor
     predeterminado es ‘()’.

 -- parámetro de ‘prosody-configuration’: file-object groups-file
     Ruta a un archivo de texto donde se definan los grupos compartidos.
     Si esta ruta está vacía, ‘mod_groups’ no hace nada.  Véase
     <https://prosody.im/doc/modules/mod_groups>.  Su valor
     predeterminado es ‘"/var/lib/prosody/sharedgroups.txt"’.

 -- parámetro de ‘prosody-configuration’: boolean allow-registration?
     Desactiva la creación de cuentas de manera predeterminada, por
     seguridad.  Véase <https://prosody.im/doc/creating_accounts>.  Su
     valor predeterminado es ‘#f’.

 -- parámetro de ‘prosody-configuration’: maybe-ssl-configuration ssl
     Estas opciones de configuración están relacionadas con SSL/TLS. La
     mayor parte no se proporcionan para usar los valores
     predeterminados de Prosody.  Si no entiende completamente estas
     opciones, no las añada a su configuración, es fácil aumentar la
     vulnerabilidad de su servidor si las usa.  Véase
     <https://prosody.im/doc/advanced_ssl_config>.

     Los campos disponibles de ‘ssl-configuration’ son:

      -- parámetro de ‘ssl-configuration’: maybe-string protocol
          Determina el inicio del protocolo usado (handshake).

      -- parámetro de ‘ssl-configuration’: maybe-nombre-archivo key
          Ruta a su archivo de clave privada.

      -- parámetro de ‘ssl-configuration’: maybe-nombre-archivo
               certificate
          Ruta al archivo de su certificado.

      -- parámetro de ‘ssl-configuration’: file-object capath
          Ruta al directorio que contiene los certificados raíz en los
          que desea que Prosody confíe al verificar los certificados de
          servidores remotos.  Su valor predeterminado es
          ‘"/etc/ssl/certs"’.

      -- parámetro de ‘ssl-configuration’: maybe-file-object cafile
          Ruta al archivo que contiene los certificados raíz en los que
          desea que Prosody confíe.  Es similar a ‘capath’ pero con
          todos los certificados concatenados en el mismo archivo.

      -- parámetro de ‘ssl-configuration’: maybe-lista-string verify
          Una lista de opciones de verificación (son de manera
          prácticamente directa las opciones de ‘set_verify()’ de
          OpenSSL).

      -- parámetro de ‘ssl-configuration’: maybe-lista-string options
          A list of general options relating to SSL/TLS.  These map to
          OpenSSL’s ‘set_options()’.  For a full list of options
          available in LuaSec, see the LuaSec source.

      -- parámetro de ‘ssl-configuration’: maybe-entero-no-negativo
               depth
          Cómo de larga puede ser la cadena de autoridades de
          certificación a comprobar cuando se busque un certificado de
          confianza.

      -- parámetro de ‘ssl-configuration’: maybe-string ciphers
          Una cadena de algoritmos de cifrado de OpenSSL. Selecciona que
          algoritmos ofrecerá Prosody a los clientes, y en qué orden.

      -- parámetro de ‘ssl-configuration’: maybe-nombre-archivo dhparam
          Una ruta a un archivo que contenga parámetros para el
          intercambio de claves Diffie-Hellman.  Puede crear un archivo
          de este tipo con: ‘openssl dhparam -out
          /etc/prosody/certs/dh-2048.pem 2048’

      -- parámetro de ‘ssl-configuration’: maybe-string curve
          Curva para el protocolo Diffie-Hellman de curva elíptica.  El
          valor predeterminado de Prosody es ‘"secp384r1"’.

      -- parámetro de ‘ssl-configuration’: maybe-string-list verifyext
          Una lista de opciones de verificación adicionales.

      -- parámetro de ‘ssl-configuration’: maybe-string password
          Contraseña para claves privadas cifradas.

 -- parámetro de ‘prosody-configuration’: boolean
          c2s-require-encryption?
     Determina si se fuerza que todas las conexiones cliente-servidor
     vayan cifradas o no.  Véase
     <https://prosody.im/doc/modules/mod_tls>.  Su valor predeterminado
     es ‘#f’.

 -- parámetro de ‘prosody-configuration’: lista-string
          disable-sasl-mechanisms
     Conjunto de mecanismos que no se ofrecerán nunca.  Véase
     <https://prosody.im/doc/modules/mod_saslauth>.  Su valor
     predeterminado es ‘("DIGEST-MD5")’.

 -- parámetro de ‘prosody-configuration’: boolean
          s2s-require-encryption?
     Determina si se fuerza que todas las conexiones servidor-servidor
     vayan cifradas o no.  Véase
     <https://prosody.im/doc/modules/mod_tls>.  Su valor predeterminado
     es ‘#f’.

 -- parámetro de ‘prosody-configuration’: boolean s2s-secure-auth?
     Determina si el cifrado y la identificación mediante certificado
     son necesarias.  Esto proporciona una seguridad ideal, pero
     necesita que los servidores con los que se comunique permitan
     cifrado y tengan presentes certificados válidos en los que se tenga
     confianza.  Véase <https://prosody.im/doc/s2s#security>.  Su valor
     predeterminado es ‘#f’.

 -- parámetro de ‘prosody-configuration’: lista-string
          s2s-insecure-domains
     Many servers don’t support encryption or have invalid or
     self-signed certificates.  You can list domains here that will not
     be required to authenticate using certificates.  They will be
     authenticated using DNS.  See
     <https://prosody.im/doc/s2s#security>.  Defaults to ‘()’.

 -- parámetro de ‘prosody-configuration’: lista-string
          s2s-secure-domains
     Aún en el caso de mantener ‘s2s-secure-auth?’, puede exigir
     certificados válidos para algunos dominios especificando una lista
     aquí.  Véase <https://prosody.im/doc/s2s#security>.  Su valor
     predeterminado es ‘()’.

 -- parámetro de ‘prosody-configuration’: string authentication
     Selecciona el motor de identificación usado.  La implementación
     predeterminada almacena las contraseñas en texto claro y usa el
     almacenamiento de datos configurado en Prosody para los datos de
     identificación.  Si no confía en su servidor le recomendamos que
     visite <https://prosody.im/doc/modules/mod_auth_internal_hashed>
     para obtener información sobre el motor de almacenamiento tras
     hash.  Véase también <https://prosody.im/doc/authentication>.  Su
     valor predeterminado es ‘"internal_plain"’.

 -- parámetro de ‘prosody-configuration’: maybe-string log
     Determina las opciones del registro.  La configuración avanzada del
     registro no está implementada todavía para el servicio Prosody.
     Véase <https://prosody.im/doc/logging>.  Su valor predeterminado es
     ‘"*syslog"’.

 -- parámetro de ‘prosody-configuration’: nombre-archivo pidfile
     Archivo en el que se escribirá el PID. Véase
     <https://prosody.im/doc/modules/mod_posix>.  Su valor
     predeterminado es ‘"/var/run/prosody/prosody.pid"’.

 -- parámetro de ‘prosody-configuration’: maybe-entero-no-negativo
          http-max-content-size
     Tamaño máximo permitido del cuerpo (body) HTTP (en bytes)

 -- parámetro de ‘prosody-configuration’: maybe-string http-external-url
     Algunos módulos exponen sus propias URL de diversas maneras.  Esta
     URL se construye en base al protocolo, máquina y puerto usados.  Si
     Prosody se encuentra tras un proxy, se usara ‘http-external-url’
     como URL pública.  Véase
     <https://prosody.im/doc/http#external_url>.

 -- parámetro de ‘prosody-configuration’:
          lista-virtualhost-configuration virtualhosts
     Una máquina (host) en Prosody es un dominio en el que se pueden
     crear cuentas de usuaria.  Por ejemplo, si desea que sus usuarias
     tengan direcciones como ‘"juan.herrero@example.com"’ necesitará
     añadir una máquina ‘"example.com"’.  Todas las opciones en esta
     lista son efectivas únicamente en esa máquina.

          Nota: The name _virtual_ host is used in configuration to
          avoid confusion with the actual physical host that Prosody is
          installed on.  A single Prosody instance can serve many
          domains, each one defined as a VirtualHost entry in Prosody’s
          configuration.  Conversely a server that hosts a single domain
          would have just one VirtualHost entry.

          Véase
          <https://prosody.im/doc/configure#virtual_host_settings>.

     Los campos disponibles de ‘virtualhost-configuration’ son:

     todos estos campos de ‘prosody-configuration’: ‘admins’,
     ‘use-libevent?’, ‘modules-enabled’, ‘modules-disabled’,
     ‘groups-file’, ‘allow-registration?’, ‘ssl’,
     ‘c2s-require-encryption?’, ‘disable-sasl-mechanisms’,
     ‘s2s-require-encryption?’, ‘s2s-secure-auth?’,
     ‘s2s-insecure-domains’, ‘s2s-secure-domains’, ‘authentication’,
     ‘log’, ‘http-max-content-size’, ‘http-external-url’, ‘raw-content’,
     además de:
      -- parámetro de ‘virtualhost-configuration’: string domain
          Dominio en el que desea que Prosody proporcione servicio.

 -- parámetro de ‘prosody-configuration’:
          lista-int-component-configuration int-components
     Los componentes son servicios adicionales en un servidor que están
     disponibles a los clientes, habitualmente en un subdominio del
     servidor principal (como por ejemplo ‘"micomponente.example.com"’).
     Algunos ejemplos de componentes pueden ser los servidores de salas
     de conversación, los directorios de usuarias o las pasarelas a
     otros protocolos.

     Los componentes internos se implementan con módulos específicos de
     Prosody.  Para añadir un componente interno, simplemente rellene el
     campo del nombre de máquina, y el módulo que desea usar para el
     componente.

     Véase <https://prosody.im/doc/components>.  Su valor predeterminado
     es ‘()’.

     Los campos disponibles de ‘int-component-configuration’ son:

     todos estos campos de ‘prosody-configuration’: ‘admins’,
     ‘use-libevent?’, ‘modules-enabled’, ‘modules-disabled’,
     ‘groups-file’, ‘allow-registration?’, ‘ssl’,
     ‘c2s-require-encryption?’, ‘disable-sasl-mechanisms’,
     ‘s2s-require-encryption?’, ‘s2s-secure-auth?’,
     ‘s2s-insecure-domains’, ‘s2s-secure-domains’, ‘authentication’,
     ‘log’, ‘http-max-content-size’, ‘http-external-url’, ‘raw-content’,
     además de:
      -- parámetro de ‘int-component-configuration’: string hostname
          Nombre de máquina del componente.

      -- parámetro de ‘int-component-configuration’: string plugin
          Módulo que desea usar para el componente.

      -- parámetro de ‘int-component-configuration’:
               maybe-mod-muc-configuration mod-muc
          Multi-user chat (MUC) es el módulo de Prosody que permite la
          creación de salas de conversación/conferencias para usuarias
          XMPP.

          Información general sobre la configuración y el uso de las
          salas de conversación multi-usuaria puede encontrarse en la
          documentación “Chatrooms”
          (<https://prosody.im/doc/chatrooms>), que debería leer si no
          conoce las salas de conversación de XMPP.

          Véase también <https://prosody.im/doc/modules/mod_muc>.

          Los campos disponibles de ‘mod-muc-configuration’ son:

           -- parámetro de ‘mod-muc-configuration’: string name
               El nombre devuelto en las respuestas de descubrimiento de
               servicios.  Su valor predeterminado es ‘"Prosody
               Chatrooms"’.

           -- parámetro de ‘mod-muc-configuration’: string-o-boolean
                    restrict-room-creation
               Si es ‘#t’, únicamente se permitirá a las administradoras
               la creación de nuevas salas de conversación.  En otro
               caso cualquiera puede crear una sala.  El valor ‘"local"’
               restringe la creación a usuarias en el dominio superior
               del servicio.  Por ejemplo ‘usuaria@example.com’ puede
               crear grupos en ‘rooms.example.com’.  El valor ‘"admin"’
               restringe el servicio a las administradoras únicamente.
               Su valor predeterminado es ‘#f’.

           -- parámetro de ‘mod-muc-configuration’: entero-no-negativo
                    max-history-messages
               Número máximo de mensajes históricos que se enviarán a
               quien se acabe de unir a la sala.  Su valor
               predeterminado es ‘20’.

 -- parámetro de ‘prosody-configuration’:
          lista-ext-component-configuration ext-components
     Los componentes externos usan XEP-0114, el cual se implementa en la
     mayor parte de componentes independientes.  Para añadir un
     componente externo, simplemente rellene el campo de nombre de
     máquina (hostname).  Véase <httos://prosody.im/doc/components>.  Su
     valor predeterminado es ‘()’.

     Los campos disponibles de ‘ext-component-configuration’ son:

     todos estos campos de ‘prosody-configuration’: ‘admins’,
     ‘use-libevent?’, ‘modules-enabled’, ‘modules-disabled’,
     ‘groups-file’, ‘allow-registration?’, ‘ssl’,
     ‘c2s-require-encryption?’, ‘disable-sasl-mechanisms’,
     ‘s2s-require-encryption?’, ‘s2s-secure-auth?’,
     ‘s2s-insecure-domains’, ‘s2s-secure-domains’, ‘authentication’,
     ‘log’, ‘http-max-content-size’, ‘http-external-url’, ‘raw-content’,
     además de:
      -- parámetro de ‘ext-component-configuration’: string
               component-secret
          Contraseña usada por el componente para el ingreso al sistema.

      -- parámetro de ‘ext-component-configuration’: string hostname
          Nombre de máquina del componente.

 -- parámetro de ‘prosody-configuration’: lista-entero-no-negativo
          component-ports
     Puerto o puertos en los que prosody escucha conexiones de
     componentes.  Su valor predeterminado es ‘(5347)’.

 -- parámetro de ‘prosody-configuration’: string component-interface
     Interfaz en la que Prosody escucha conexiones de componentes.  Su
     valor predeterminado es ‘"127.0.0.1"’.

 -- parámetro de ‘prosody-configuration’: maybe-raw-content raw-content
     Contenido que se añadirá directamente al archivo de configuración.

   Puede ser que únicamente desee usar un archivo ‘prosody.cfg.lua’ ya
creado.  En ese caso, puede proporcionar un registro
‘opaque-prosody-configuration’ como el valor de ‘prosody-service-type’.
Como su nombre en inglés indica, una configuración opaca no tiene gran
capacidad reflexiva.  Los campos disponibles de
‘opaque-prosody-configuration’ son:

 -- parámetro de ‘opaque-prosody-configuration’: package prosody
     El paquete prosody.

 -- parámetro de ‘opaque-prosody-configuration’: string prosody.cfg.lua
     El contenido usado para ‘prosody.cfg.lua’.

   Por ejemplo, si su ‘prosody.cfg.lua’ es simplemente la cadena vacía,
podría instanciar el servicio de Prosody de esta manera:

     (service prosody-service-type
              (opaque-prosody-configuration
               (prosody.cfg.lua "")))

Servicio BitlBee
................

BitlBee (https://bitlbee.org) es una pasarela que proporciona una
interfaz IRC a una variedad de protocolos como XMPP.

 -- Variable Scheme: bitlbee-service-type
     Este es el tipo de servicio para el daemon de pasarela IRC BitlBee
     (https://bitlbee.org).  Su valor es un ‘bitlbee-configuration’
     (véase a continuación).

     Para que BitlBee escuche en el puerto 6667 de localhost, añada esta
     línea a sus servicios:

          (service bitlbee-service-type)

 -- Tipo de datos: bitlbee-configuration
     Esta es la configuración para BitlBee, con los siguientes campos:

     ‘interface’ (predeterminada: ‘"127.0.0.1"’)
     ‘port’ (predeterminado: ‘6667’)
          Escucha en la interfaz de red correspondiente a la dirección
          IP especificada en INTERFACE, en el puerto PORT.

          Cuando INTERFACE es ‘127.0.0.1’, únicamente se permite la
          conexión de clientes locales; cuando es ‘0.0.0.0’, las
          conexiones pueden venir de cualquier interfaz de red.

     ‘bitlbee’ (predeterminado: ‘bitlbee’)
          El paquete BitlBee usado.

     ‘plugins’ (predeterminados: ‘'()’)
          Lista de paquetes de módulos usados—por ejemplo,
          ‘bitlbee-discord’.

     ‘extra-settings’ (predeterminado: ‘""’)
          Fragmento de configuración añadido tal cual al archivo de
          configuración de BitlBee.

Servicio Quassel
................

Quassel (https://quassel-irc.org/) es un cliente IRC distribuido, lo que
significa que uno o más clientes se pueden conectar y desconectar del
núcleo central.

 -- Variable Scheme: quassel-service-type
     Es el tipo de servicio del daemon del motor IRC de Quassel
     (https://quassel-irc.org/).  Su valor es un ‘quassel-configuration’
     (véase a continuación).

 -- Tipo de datos: quassel-configuration
     Es la configuración para Quassel, con los siguientes campos:

     ‘quassel’ (predeterminado: ‘quassel’)
          El paquete Quassel usado.

     ‘interface’ (predeterminada: ‘"::,0.0.0.0"’)
     ‘port’ (predeterminado: ‘4242’)
          Escucha en la o las interfaces de red que correspondan con las
          direcciones IPv4 o IPv6 delimitadas por comas especificadas en
          INTERFACE, en el puerto PORT.

     ‘loglevel’ (predeterminado: ‘"Info"’)
          El nivel de registro deseado.  Los valores aceptados son
          Debug, Info, Warning y Error.


File: guix.es.info,  Node: Servicios de telefonía,  Next: File-Sharing Services,  Prev: Servicios de mensajería,  Up: Servicios

12.9.14 Servicios de telefonía
------------------------------

The ‘(gnu services telephony)’ module contains Guix service definitions
for telephony services.  Currently it provides the following services:

Jami
....

This section describes how to configure a Jami server that can be used
to host video (or audio) conferences, among other uses.  The following
example demonstrates how to specify Jami account archives (backups) to
be provisioned automatically:

     (service jami-service-type
              (jami-configuration
               (accounts
                (list (jami-account
                       (archive "/etc/jami/unencrypted-account-1.gz"))
                      (jami-account
                       (archive "/etc/jami/unencrypted-account-2.gz"))))))

   When the accounts field is specified, the Jami account files of the
service found under ‘/var/lib/jami’ are recreated every time the service
starts.

   Jami accounts and their corresponding backup archives can be
generated using the ‘jami’ or ‘jami-gnome’ Jami clients.  The accounts
should not be password-protected, but it is wise to ensure their files
are only readable by ‘root’.

   The next example shows how to declare that only some contacts should
be allowed to communicate with a given account:

     (service jami-service-type
              (jami-configuration
               (accounts
                (list (jami-account
                       (archive "/etc/jami/unencrypted-account-1.gz")
                       (peer-discovery? #t)
                       (rendezvous-point? #t)
                       (allowed-contacts
                        '("1dbcb0f5f37324228235564b79f2b9737e9a008f"
                          "2dbcb0f5f37324228235564b79f2b9737e9a008f")))))))

   In this mode, only the declared ‘allowed-contacts’ can initiate
communication with the Jami account.  This can be used, for example,
with rendezvous point accounts to create a private video conferencing
space.

   To put the system administrator in full control of the conferences
hosted on their system, the Jami service supports the following actions:

     # herd doc jami list-actions
     (list-accounts
      list-account-details
      list-banned-contacts
      list-contacts
      list-moderators
      add-moderator
      ban-contact
      enable-account
      disable-account)

   The above actions aim to provide the most valuable actions for
moderation purposes, not to cover the whole Jami API. Users wanting to
interact with the Jami daemon from Guile may be interested in
experimenting with the ‘(gnu build jami-service)’ module, which powers
the above Shepherd actions.

   The ‘add-moderator’ and ‘ban-contact’ actions accept a contact
_fingerprint_ (40 characters long hash) as first argument and an account
fingerprint or username as second argument:

     # herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \
       f3345f2775ddfe07a4b0d95daea111d15fbc1199

     # herd list-moderators jami
     Moderators for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
       - 1dbcb0f5f37324228235564b79f2b9737e9a008f


   In the case of ‘ban-contact’, the second username argument is
optional; when omitted, the account is banned from all Jami accounts:

     # herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f

     # herd list-banned-contacts jami
     Banned contacts for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
       - 1dbcb0f5f37324228235564b79f2b9737e9a008f


   Banned contacts are also stripped from their moderation privileges.

   The ‘disable-account’ action allows to completely disconnect an
account from the network, making it unreachable, while ‘enable-account’
does the inverse.  They accept a single account username or fingerprint
as first argument:

     # herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199

     # herd list-accounts jami
     The following Jami accounts are available:
       - f3345f2775ddfe07a4b0d95daea111d15fbc1199 (dummy) [disabled]


   The ‘list-account-details’ action prints the detailed parameters of
each accounts in the Recutils format, which means the ‘recsel’ command
can be used to select accounts of interest (*note (recutils)Selection
Expressions::).  Note that period characters (‘.’) found in the account
parameter keys are mapped to underscores (‘_’) in the output, to meet
the requirements of the Recutils format.  The following example shows
how to print the account fingerprints for all accounts operating in the
rendezvous point mode:

     # herd list-account-details jami | \
       recsel -p Account.username -e 'Account.rendezVous ~ "true"'
     Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199

   The remaining actions should be self-explanatory.

   The complete set of available configuration options is detailed
below.

 -- Data Type: jami-configuration
     Available ‘jami-configuration’ fields are:

     ‘libjami’ (default: ‘libjami’) (type: package)
          The Jami daemon package to use.

     ‘dbus’ (default: ‘dbus-for-jami’) (type: package)
          The D-Bus package to use to start the required D-Bus session.

     ‘nss-certs’ (default: ‘nss-certs’) (type: package)
          The nss-certs package to use to provide TLS certificates.

     ‘enable-logging?’ (default: ‘#t’) (type: boolean)
          Whether to enable logging to syslog.

     ‘debug?’ (default: ‘#f’) (type: boolean)
          Whether to enable debug level messages.

     ‘auto-answer?’ (default: ‘#f’) (type: boolean)
          Whether to force automatic answer to incoming calls.

     ‘accounts’ (type: maybe-jami-account-list)
          A list of Jami accounts to be (re-)provisioned every time the
          Jami daemon service starts.  When providing this field, the
          account directories under ‘/var/lib/jami/’ are recreated every
          time the service starts, ensuring a consistent state.

 -- Data Type: jami-account
     Available ‘jami-account’ fields are:

     ‘archive’ (type: string-or-computed-file)
          The account archive (backup) file name of the account.  This
          is used to provision the account when the service starts.  The
          account archive should _not_ be encrypted.  It is highly
          recommended to make it readable only to the ‘root’ user (i.e.,
          not in the store), to guard against leaking the secret key
          material of the Jami account it contains.

     ‘allowed-contacts’ (type: maybe-account-fingerprint-list)
          The list of allowed contacts for the account, entered as their
          40 characters long fingerprint.  Messages or calls from
          accounts not in that list will be rejected.  When left
          specified, the configuration of the account archive is used
          as-is with respect to contacts and public inbound
          calls/messaging allowance, which typically defaults to allow
          any contact to communicate with the account.

     ‘moderators’ (type: maybe-account-fingerprint-list)
          The list of contacts that should have moderation privileges
          (to ban, mute, etc.  other users) in rendezvous conferences,
          entered as their 40 characters long fingerprint.  When left
          unspecified, the configuration of the account archive is used
          as-is with respect to moderation, which typically defaults to
          allow anyone to moderate.

     ‘rendezvous-point?’ (type: maybe-boolean)
          Whether the account should operate in the rendezvous mode.  In
          this mode, all the incoming audio/video calls are mixed into a
          conference.  When left unspecified, the value from the account
          archive prevails.

     ‘peer-discovery?’ (type: maybe-boolean)
          Whether peer discovery should be enabled.  Peer discovery is
          used to discover other OpenDHT nodes on the local network,
          which can be useful to maintain communication between devices
          on such network even when the connection to the Internet has
          been lost.  When left unspecified, the value from the account
          archive prevails.

     ‘bootstrap-hostnames’ (type: maybe-string-list)
          A list of hostnames or IPs pointing to OpenDHT nodes, that
          should be used to initially join the OpenDHT network.  When
          left unspecified, the value from the account archive prevails.

     ‘name-server-uri’ (type: maybe-string)
          The URI of the name server to use, that can be used to
          retrieve the account fingerprint for a registered username.

Mumble server
.............

This section describes how to set up and run a Mumble
(https://mumble.info) server (formerly known as Murmur).

 -- Data Type: mumble-server-configuration
     The service type for the Mumble server.  An example configuration
     can look like this:

          (service mumble-server-service-type
                   (mumble-server-configuration
                    (welcome-text
                      "Welcome to this Mumble server running on Guix!")
                    (cert-required? #t) ;disallow text password logins
                    (ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
                    (ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))

     After reconfiguring your system, you can manually set the
     mumble-server ‘SuperUser’ password with the command that is printed
     during the activation phase.

     Se recomienda el registro de una cuenta de usuaria normal de Mumble
     y la concesión de permisos de administración o moderación.  Puede
     usar el cliente ‘mumble’ para ingresar como una nueva usuaria
     normal, registrarse usted misma, y salir del sistema.  En el
     siguiente paso ingrese en el sistema con el nombre ‘SuperUser’, use
     la contraseña de ‘SuperUser’ que fue establecida con anterioridad,
     y conceda los permisos de administración o moderación a su usuaria
     de nombre creada anteriormente y cree algunos canales.

     Available ‘mumble-server-configuration’ fields are:

     ‘package’ (predeterminado: ‘mumble’)
          Package that contains ‘bin/mumble-server’.

     ‘user’ (default: ‘"mumble-server"’)
          User who will run the Mumble-Server server.

     ‘group’ (default: ‘"mumble-server"’)
          Group of the user who will run the mumble-server server.

     ‘port’ (predeterminado: ‘64738’)
          Puerto en el que escucha el servidor.

     ‘welcome-text’ (predeterminado: ‘""’)
          Mensaje de bienvenida enviado a clientes tras su conexión.

     ‘server-password’ (predeterminada: ‘""’)
          Contraseña que debe introducirse para poder conectarse.

     ‘max-users’ (predeterminados: ‘100’)
          Número máximo de usuarias que pueden estar conectadas a la vez
          al servidor.

     ‘max-user-bandwidth’ (predeterminado: ‘#f’)
          Tráfico de voz máximo que una usuaria puede mandar por
          segundo.

     ‘database-file’ (default: ‘"/var/lib/mumble-server/db.sqlite"’)
          Nombre de archivo de la base de datos sqlite.  La usuaria del
          servicio se convertirá en propietaria del directorio.

     ‘log-file’ (default: ‘"/var/log/mumble-server/mumble-server.log"’)
          Nombre de archivo del archivo de registro.  La usuaria del
          servicio se convertirá en propietaria del directorio.

     ‘autoban-attempts’ (predeterminados: ‘10’)
          Número máximo de ingresos al sistema que una usuaria puede
          llevar a cabo en ‘autoban-timeframe’ sin bloquearse su acceso
          durante ‘autoban-time’.

     ‘autoban-timeframe’ (predeterminado: ‘120’)
          Marco de tiempo del bloqueo automático en segundos.

     ‘autoban-time’ (predeterminado: ‘300’)
          Duración en segundos del periodo que permanecerá bloqueado un
          cliente cuando viole los límites de bloqueo automático.

     ‘opus-threshold’ (predeterminado: ‘100’)
          Porcentaje de clientes que tienen que permitir opus antes de
          cambiar al algoritmo de sonido opus.

     ‘channel-nesting-limit’ (predeterminado: ‘10’)
          Cual puede ser el nivel de recursión de los canales.

     ‘channelname-regex’ (predeterminado: ‘#f’)
          Una cadena en forma de expresión regular Qt que deben cumplir
          los nombres de canal.

     ‘username-regex’ (predeterminado: ‘#f’)
          Una cadena en forma de expresión regular Qt que deben cumplir
          los nombres de usuaria.

     ‘text-message-length’ (predeterminado: ‘5000’)
          Número máximo de bytes que una usuaria puede enviar en un
          mensaje de texto.

     ‘image-message-length’ (predeterminado: ‘(* 128 1024)’)
          Número máximo de bytes que una usuaria puede enviar en un
          mensaje de imagen.

     ‘cert-required?’ (predeterminado: ‘#f’)
          If it is set to ‘#t’ clients that use weak password
          authentication will not be accepted.  Users must have
          completed the certificate wizard to join.

     ‘remember-channel?’ (predeterminado: ‘#f’)
          Should mumble-server remember the last channel each user was
          in when they disconnected and put them into the remembered
          channel when they rejoin.

     ‘allow-html?’ (predeterminado: ‘#f’)
          Si se permite html en mensajes de texto, comentarios de
          usuaria y descripciones de canal.

     ‘allow-ping?’ (predeterminado: ‘#f’)
          Setting to true exposes the current user count, the maximum
          user count, and the server’s maximum bandwidth per client to
          unauthenticated users.  In the Mumble client, this information
          is shown in the Connect dialog.

          Desactivar esta opción impedirá la escucha pública en el
          servidor.

     ‘bonjour?’ (predeterminado: ‘#f’)
          Si el servidor debe anunciarse a sí mismo en la red local a
          través del protocolo “bonjour”.

     ‘send-version?’ (predeterminado: ‘#f’)
          Should the mumble-server server version be exposed in ping
          requests.

     ‘log-days’ (predeterminado: ‘31’)
          Mumble also stores logs in the database, which are accessible
          via RPC. The default is 31 days of months, but you can set
          this setting to 0 to keep logs forever, or -1 to disable
          logging to the database.

     ‘obfuscate-ips?’ (predeterminado: ‘#t’)
          Si las IP registradas deben ofuscarse para proteger la
          privacidad de las usuarias.

     ‘ssl-cert’ (predeterminado: ‘#f’)
          Nombre del archivo del certificado SSL/TLS usado para
          conexiones cifradas.

               (ssl-cert "/etc/letsencrypt/live/example.com/fullchain.pem")
     ‘ssl-key’ (predeterminada: ‘#f’)
          Ruta de archivo de la clave privada de ssl usada para las
          conexiones cifradas.
               (ssl-key "/etc/letsencrypt/live/example.com/privkey.pem")

     ‘ssl-dh-params’ (predeterminado: ‘#f’)
          Nombre del archivo codificado con PEM con parámetros
          Diffie-Hellman para el cifrado SSL/TLS. De manera alternativa
          puede establecer su valor a ‘"@ffdhe2048"’, ‘"@ffdhe3072"’,
          ‘"@ffdhe4096"’, ‘"@ffdhe6144"’ o ‘"@ffdhe8192"’ para usar los
          parámetros contenidos en el RFC 7919.

     ‘ssl-ciphers’ (predeterminado: ‘#f’)
          La opción ‘ssl-ciphers’ selecciona los protocolos de cifrado
          disponibles para su uso en SSL/TLS.

          Esta opción se especifica mediante el uso de la notación de
          listas de prot.  de cifrado de OpenSSL
          (https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT).

          It is recommended that you try your cipher string using
          ’openssl ciphers <string>’ before setting it here, to get a
          feel for which cipher suites you will get.  After setting this
          option, it is recommend that you inspect your Mumble server
          log to ensure that Mumble is using the cipher suites that you
          expected it to.

               Nota: Changing this option may impact the backwards
               compatibility of your Mumble-Server server, and can
               remove the ability for older Mumble clients to be able to
               connect to it.

     ‘public-registration’ (predeterminado: ‘#f’)
          Must be a ‘<mumble-server-public-registration-configuration>’
          record or ‘#f’.

          Puede registrar de manera opcional su servidor en la lista
          pública de servidores que el cliente ‘mumble’ muestra al
          inicio.  No puede registrar su servidor si tiene establecida
          una contraseña para el servidor (‘server-password’), o
          establece ‘allow-ping’ como ‘#f’.

          Puede tomar algunas horas hasta que se muestre en la lista
          pública.

     ‘file’ (predeterminado: ‘#f’)
          Forma opcional alternativa de forzar el valor de esta
          configuración.

 -- Data Type: mumble-server-public-registration-configuration
     Configuration for public registration of a mumble-server service.

     ‘name’
          This is a display name for your server.  Not to be confused
          with the hostname.

     ‘password’
          A password to identify your registration.  Subsequent updates
          will need the same password.  Don’t lose your password.

     ‘url’
          Debe ser un enlace ‘http://’ o ‘https://’ a su página web.

     ‘hostname’ (predeterminado: ‘#f’)
          De manera predeterminada su servidor se enumerará por sus
          direcciones IP. Si se usa esta opción, en vez de eso se
          enlazará a través de este nombre de máquina.

     Deprecation notice: Due to historical reasons, all of the above
     ‘mumble-server-’ procedures are also exported with the ‘murmur-’
     prefix.  It is recommended that you switch to using
     ‘mumble-server-’ going forward.


File: guix.es.info,  Node: File-Sharing Services,  Next: Servicios de monitorización,  Prev: Servicios de telefonía,  Up: Servicios

12.9.15 File-Sharing Services
-----------------------------

The ‘(gnu services file-sharing)’ module provides services that assist
with transferring files over peer-to-peer file-sharing networks.

Transmission Daemon Service
...........................

Transmission (https://transmissionbt.com/) is a flexible BitTorrent
client that offers a variety of graphical and command-line interfaces.
A ‘transmission-daemon-service-type’ service provides Transmission’s
headless variant, ‘transmission-daemon’, as a system service, allowing
users to share files via BitTorrent even when they are not logged in.

 -- Scheme Variable: transmission-daemon-service-type
     The service type for the Transmission Daemon BitTorrent client.
     Its value must be a ‘transmission-daemon-configuration’ object as
     in this example:

          (service transmission-daemon-service-type
                   (transmission-daemon-configuration
                    ;; Restrict access to the RPC ("control") interface
                    (rpc-authentication-required? #t)
                    (rpc-username "transmission")
                    (rpc-password
                     (transmission-password-hash
                      "transmission" ; desired password
                      "uKd1uMs9"))   ; arbitrary salt value

                    ;; Accept requests from this and other hosts on the
                    ;; local network
                    (rpc-whitelist-enabled? #t)
                    (rpc-whitelist '("::1" "127.0.0.1" "192.168.0.*"))

                    ;; Limit bandwidth use during work hours
                    (alt-speed-down (* 1024 2)) ;   2 MB/s
                    (alt-speed-up 512)          ; 512 kB/s

                    (alt-speed-time-enabled? #t)
                    (alt-speed-time-day 'weekdays)
                    (alt-speed-time-begin
                     (+ (* 60 8) 30))           ; 8:30 am
                    (alt-speed-time-end
                     (+ (* 60 (+ 12 5)) 30))))  ; 5:30 pm

   Once the service is started, users can interact with the daemon
through its Web interface (at ‘http://localhost:9091/’) or by using the
‘transmission-remote’ command-line tool, available in the ‘transmission’
package.  (Emacs users may want to also consider the
‘emacs-transmission’ package.)  Both communicate with the daemon through
its remote procedure call (RPC) interface, which by default is available
to all users on the system; you may wish to change this by assigning
values to the ‘rpc-authentication-required?’, ‘rpc-username’ and
‘rpc-password’ settings, as shown in the example above and documented
further below.

   The value for ‘rpc-password’ must be a password hash of the type
generated and used by Transmission clients.  This can be copied verbatim
from an existing ‘settings.json’ file, if another Transmission client is
already being used.  Otherwise, the ‘transmission-password-hash’ and
‘transmission-random-salt’ procedures provided by this module can be
used to obtain a suitable hash value.

 -- Scheme Procedure: transmission-password-hash PASSWORD SALT
     Returns a string containing the result of hashing PASSWORD together
     with SALT, in the format recognized by Transmission clients for
     their ‘rpc-password’ configuration setting.

     SALT must be an eight-character string.  The
     ‘transmission-random-salt’ procedure can be used to generate a
     suitable salt value at random.

 -- Scheme Procedure: transmission-random-salt
     Returns a string containing a random, eight-character salt value of
     the type generated and used by Transmission clients, suitable for
     passing to the ‘transmission-password-hash’ procedure.

   These procedures are accessible from within a Guile REPL started with
the ‘guix repl’ command (*note Invocación de guix repl::).  This is
useful for obtaining a random salt value to provide as the second
parameter to ‘transmission-password-hash‘, as in this example session:

     $ guix repl
     scheme@(guix-user)> ,use (gnu services file-sharing)
     scheme@(guix-user)> (transmission-random-salt)
     $1 = "uKd1uMs9"

   Alternatively, a complete password hash can generated in a single
step:

     scheme@(guix-user)> (transmission-password-hash "transmission"
     (transmission-random-salt))
     $2 = "{c8bbc6d1740cd8dc819a6e25563b67812c1c19c9VtFPfdsX"

   The resulting string can be used as-is for the value of
‘rpc-password’, allowing the password to be kept hidden even in the
operating-system configuration.

   Torrent files downloaded by the daemon are directly accessible only
to users in the “transmission” user group, who receive read-only access
to the directory specified by the ‘download-dir’ configuration setting
(and also the directory specified by ‘incomplete-dir’, if
‘incomplete-dir-enabled?’ is ‘#t’).  Downloaded files can be moved to
another directory or deleted altogether using ‘transmission-remote’ with
its ‘--move’ and ‘--remove-and-delete’ options.

   If the ‘watch-dir-enabled?’ setting is set to ‘#t’, users in the
“transmission” group are able also to place ‘.torrent’ files in the
directory specified by ‘watch-dir’ to have the corresponding torrents
added by the daemon.  (The ‘trash-original-torrent-files?’ setting
controls whether the daemon deletes these files after processing them.)

   Some of the daemon’s configuration settings can be changed
temporarily by ‘transmission-remote’ and similar tools.  To undo these
changes, use the service’s ‘reload’ action to have the daemon reload its
settings from disk:

     # herd reload transmission-daemon

   The full set of available configuration settings is defined by the
‘transmission-daemon-configuration’ data type.

 -- Data Type: transmission-daemon-configuration
     The data type representing configuration settings for Transmission
     Daemon.  These correspond directly to the settings recognized by
     Transmission clients in their ‘settings.json’ file.

   Available ‘transmission-daemon-configuration’ fields are:

 -- ‘transmission-daemon-configuration’ parameter: package transmission
     The Transmission package to use.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          stop-wait-period
     The period, in seconds, to wait when stopping the service for
     ‘transmission-daemon’ to exit before killing its process.  This
     allows the daemon time to complete its housekeeping and send a
     final update to trackers as it shuts down.  On slow hosts, or hosts
     with a slow network connection, this value may need to be
     increased.

     El valor predeterminado es ‘10’.

 -- ‘transmission-daemon-configuration’ parameter: string download-dir
     The directory to which torrent files are downloaded.

     Defaults to ‘"/var/lib/transmission-daemon/downloads"’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          incomplete-dir-enabled?
     If ‘#t’, files will be held in ‘incomplete-dir’ while their torrent
     is being downloaded, then moved to ‘download-dir’ once the torrent
     is complete.  Otherwise, files for all torrents (including those
     still being downloaded) will be placed in ‘download-dir’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: maybe-string
          incomplete-dir
     The directory in which files from incompletely downloaded torrents
     will be held when ‘incomplete-dir-enabled?’ is ‘#t’.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: umask umask
     The file mode creation mask used for downloaded files.  (See the
     ‘umask’ man page for more information.)

     Defaults to ‘18’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          rename-partial-files?
     When ‘#t’, “.part” is appended to the name of partially downloaded
     files.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: preallocation-mode
          preallocation
     The mode by which space should be preallocated for downloaded
     files, one of ‘none’, ‘fast’ (or ‘sparse’) and ‘full’.  Specifying
     ‘full’ will minimize disk fragmentation at a cost to file-creation
     speed.

     Defaults to ‘fast’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          watch-dir-enabled?
     If ‘#t’, the directory specified by ‘watch-dir’ will be watched for
     new ‘.torrent’ files and the torrents they describe added
     automatically (and the original files removed, if
     ‘trash-original-torrent-files?’ is ‘#t’).

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: maybe-string
          watch-dir
     The directory to be watched for ‘.torrent’ files indicating new
     torrents to be added, when ‘watch-dir-enabled’ is ‘#t’.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          trash-original-torrent-files?
     When ‘#t’, ‘.torrent’ files will be deleted from the watch
     directory once their torrent has been added (see
     ‘watch-directory-enabled?’).

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: boolean
          speed-limit-down-enabled?
     When ‘#t’, the daemon’s download speed will be limited to the rate
     specified by ‘speed-limit-down’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          speed-limit-down
     The default global-maximum download speed, in kilobytes per second.

     El valor predeterminado es ‘100’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          speed-limit-up-enabled?
     When ‘#t’, the daemon’s upload speed will be limited to the rate
     specified by ‘speed-limit-up’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          speed-limit-up
     The default global-maximum upload speed, in kilobytes per second.

     El valor predeterminado es ‘100’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          alt-speed-enabled?
     When ‘#t’, the alternate speed limits ‘alt-speed-down’ and
     ‘alt-speed-up’ are used (in place of ‘speed-limit-down’ and
     ‘speed-limit-up’, if they are enabled) to constrain the daemon’s
     bandwidth usage.  This can be scheduled to occur automatically at
     certain times during the week; see ‘alt-speed-time-enabled?’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          alt-speed-down
     The alternate global-maximum download speed, in kilobytes per
     second.

     El valor predeterminado es ‘50’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          alt-speed-up
     The alternate global-maximum upload speed, in kilobytes per second.

     El valor predeterminado es ‘50’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          alt-speed-time-enabled?
     When ‘#t’, the alternate speed limits ‘alt-speed-down’ and
     ‘alt-speed-up’ will be enabled automatically during the periods
     specified by ‘alt-speed-time-day’, ‘alt-speed-time-begin’ and
     ‘alt-time-speed-end’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: day-list
          alt-speed-time-day
     The days of the week on which the alternate-speed schedule should
     be used, specified either as a list of days (‘sunday’, ‘monday’,
     and so on) or using one of the symbols ‘weekdays’, ‘weekends’ or
     ‘all’.

     Defaults to ‘all’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          alt-speed-time-begin
     The time of day at which to enable the alternate speed limits,
     expressed as a number of minutes since midnight.

     Defaults to ‘540’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          alt-speed-time-end
     The time of day at which to disable the alternate speed limits,
     expressed as a number of minutes since midnight.

     Defaults to ‘1020’.

 -- ‘transmission-daemon-configuration’ parameter: string
          bind-address-ipv4
     The IP address at which to listen for peer connections, or
     “0.0.0.0” to listen at all available IP addresses.

     El valor predeterminado es ‘"0.0.0.0"’.

 -- ‘transmission-daemon-configuration’ parameter: string
          bind-address-ipv6
     The IPv6 address at which to listen for peer connections, or “::”
     to listen at all available IPv6 addresses.

     Defaults to ‘"::"’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          peer-port-random-on-start?
     If ‘#t’, when the daemon starts it will select a port at random on
     which to listen for peer connections, from the range specified
     (inclusively) by ‘peer-port-random-low’ and
     ‘peer-port-random-high’.  Otherwise, it listens on the port
     specified by ‘peer-port’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: port-number
          peer-port-random-low
     The lowest selectable port number when ‘peer-port-random-on-start?’
     is ‘#t’.

     Defaults to ‘49152’.

 -- ‘transmission-daemon-configuration’ parameter: port-number
          peer-port-random-high
     The highest selectable port number when ‘peer-port-random-on-start’
     is ‘#t’.

     Defaults to ‘65535’.

 -- ‘transmission-daemon-configuration’ parameter: port-number peer-port
     The port on which to listen for peer connections when
     ‘peer-port-random-on-start?’ is ‘#f’.

     Defaults to ‘51413’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          port-forwarding-enabled?
     If ‘#t’, the daemon will attempt to configure port-forwarding on an
     upstream gateway automatically using UPnP and NAT-PMP.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: encryption-mode
          encryption
     The encryption preference for peer connections, one of
     ‘prefer-unencrypted-connections’, ‘prefer-encrypted-connections’ or
     ‘require-encrypted-connections’.

     Defaults to ‘prefer-encrypted-connections’.

 -- ‘transmission-daemon-configuration’ parameter: maybe-string
          peer-congestion-algorithm
     The TCP congestion-control algorithm to use for peer connections,
     specified using a string recognized by the operating system in
     calls to ‘setsockopt’.  When left unspecified, the operating-system
     default is used.

     Note that on GNU/Linux systems, the kernel must be configured to
     allow processes to use a congestion-control algorithm not in the
     default set; otherwise, it will deny these requests with “Operation
     not permitted”.  To see which algorithms are available on your
     system and which are currently permitted for use, look at the
     contents of the files ‘tcp_available_congestion_control’ and
     ‘tcp_allowed_congestion_control’ in the ‘/proc/sys/net/ipv4’
     directory.

     As an example, to have Transmission Daemon use the TCP Low Priority
     congestion-control algorithm
     (http://www-ece.rice.edu/networks/TCP-LP/), you’ll need to modify
     your kernel configuration to build in support for the algorithm,
     then update your operating-system configuration to allow its use by
     adding a ‘sysctl-service-type’ service (or updating the existing
     one’s configuration) with lines like the following:

          (service sysctl-service-type
                   (sysctl-configuration
                    (settings
                     ("net.ipv4.tcp_allowed_congestion_control" .
                      "reno cubic lp"))))

     The Transmission Daemon configuration can then be updated with

          (peer-congestion-algorithm "lp")

     and the system reconfigured to have the changes take effect.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: tcp-type-of-service
          peer-socket-tos
     The type of service to request in outgoing TCP packets, one of
     ‘default’, ‘low-cost’, ‘throughput’, ‘low-delay’ and ‘reliability’.

     Defaults to ‘default’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          peer-limit-global
     The global limit on the number of connected peers.

     Defaults to ‘200’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          peer-limit-per-torrent
     The per-torrent limit on the number of connected peers.

     El valor predeterminado es ‘50’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          upload-slots-per-torrent
     The maximum number of peers to which the daemon will upload data
     simultaneously for each torrent.

     Defaults to ‘14’.

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          peer-id-ttl-hours
     The maximum lifespan, in hours, of the peer ID associated with each
     public torrent before it is regenerated.

     Defaults to ‘6’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          blocklist-enabled?
     When ‘#t’, the daemon will ignore peers mentioned in the blocklist
     it has most recently downloaded from ‘blocklist-url’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: maybe-string
          blocklist-url
     The URL of a peer blocklist (in P2P-plaintext or eMule ‘.dat’
     format) to be periodically downloaded and applied when
     ‘blocklist-enabled?’ is ‘#t’.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          download-queue-enabled?
     If ‘#t’, the daemon will be limited to downloading at most
     ‘download-queue-size’ non-stalled torrents simultaneously.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          download-queue-size
     The size of the daemon’s download queue, which limits the number of
     non-stalled torrents it will download at any one time when
     ‘download-queue-enabled?’ is ‘#t’.

     El valor predeterminado es ‘5’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          seed-queue-enabled?
     If ‘#t’, the daemon will be limited to seeding at most
     ‘seed-queue-size’ non-stalled torrents simultaneously.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          seed-queue-size
     The size of the daemon’s seed queue, which limits the number of
     non-stalled torrents it will seed at any one time when
     ‘seed-queue-enabled?’ is ‘#t’.

     El valor predeterminado es ‘10’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          queue-stalled-enabled?
     When ‘#t’, the daemon will consider torrents for which it has not
     shared data in the past ‘queue-stalled-minutes’ minutes to be
     stalled and not count them against its ‘download-queue-size’ and
     ‘seed-queue-size’ limits.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          queue-stalled-minutes
     The maximum period, in minutes, a torrent may be idle before it is
     considered to be stalled, when ‘queue-stalled-enabled?’ is ‘#t’.

     El valor predeterminado es ‘30’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          ratio-limit-enabled?
     When ‘#t’, a torrent being seeded will automatically be paused once
     it reaches the ratio specified by ‘ratio-limit’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-rational
          ratio-limit
     The ratio at which a torrent being seeded will be paused, when
     ‘ratio-limit-enabled?’ is ‘#t’.

     Defaults to ‘2.0’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          idle-seeding-limit-enabled?
     When ‘#t’, a torrent being seeded will automatically be paused once
     it has been idle for ‘idle-seeding-limit’ minutes.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          idle-seeding-limit
     The maximum period, in minutes, a torrent being seeded may be idle
     before it is paused, when ‘idle-seeding-limit-enabled?’ is ‘#t’.

     El valor predeterminado es ‘30’.

 -- ‘transmission-daemon-configuration’ parameter: boolean dht-enabled?
     Enable the distributed hash table (DHT) protocol
     (http://bittorrent.org/beps/bep_0005.html), which supports the use
     of trackerless torrents.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: boolean lpd-enabled?
     Enable local peer discovery
     (https://en.wikipedia.org/wiki/Local_Peer_Discovery) (LPD), which
     allows the discovery of peers on the local network and may reduce
     the amount of data sent over the public Internet.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: boolean pex-enabled?
     Enable peer exchange (https://en.wikipedia.org/wiki/Peer_exchange)
     (PEX), which reduces the daemon’s reliance on external trackers and
     may improve its performance.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: boolean utp-enabled?
     Enable the micro transport protocol
     (http://bittorrent.org/beps/bep_0029.html) (uTP), which aims to
     reduce the impact of BitTorrent traffic on other users of the local
     network while maintaining full utilization of the available
     bandwidth.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: boolean rpc-enabled?
     If ‘#t’, enable the remote procedure call (RPC) interface, which
     allows remote control of the daemon via its Web interface, the
     ‘transmission-remote’ command-line client, and similar tools.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: string
          rpc-bind-address
     The IP address at which to listen for RPC connections, or “0.0.0.0”
     to listen at all available IP addresses.

     El valor predeterminado es ‘"0.0.0.0"’.

 -- ‘transmission-daemon-configuration’ parameter: port-number rpc-port
     The port on which to listen for RPC connections.

     Defaults to ‘9091’.

 -- ‘transmission-daemon-configuration’ parameter: string rpc-url
     The path prefix to use in the RPC-endpoint URL.

     Defaults to ‘"/transmission/"’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          rpc-authentication-required?
     When ‘#t’, clients must authenticate (see ‘rpc-username’ and
     ‘rpc-password’) when using the RPC interface.  Note this has the
     side effect of disabling host-name whitelisting (see
     ‘rpc-host-whitelist-enabled?’.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: maybe-string
          rpc-username
     The username required by clients to access the RPC interface when
     ‘rpc-authentication-required?’ is ‘#t’.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter:
          maybe-transmission-password-hash rpc-password
     The password required by clients to access the RPC interface when
     ‘rpc-authentication-required?’ is ‘#t’.  This must be specified
     using a password hash in the format recognized by Transmission
     clients, either copied from an existing ‘settings.json’ file or
     generated using the ‘transmission-password-hash’ procedure.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          rpc-whitelist-enabled?
     When ‘#t’, RPC requests will be accepted only when they originate
     from an address specified in ‘rpc-whitelist’.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: string-list
          rpc-whitelist
     The list of IP and IPv6 addresses from which RPC requests will be
     accepted when ‘rpc-whitelist-enabled?’ is ‘#t’.  Wildcards may be
     specified using ‘*’.

     Defaults to ‘("127.0.0.1" "::1")’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          rpc-host-whitelist-enabled?
     When ‘#t’, RPC requests will be accepted only when they are
     addressed to a host named in ‘rpc-host-whitelist’.  Note that
     requests to “localhost” or “localhost.”, or to a numeric address,
     are always accepted regardless of these settings.

     Note also this functionality is disabled when
     ‘rpc-authentication-required?’ is ‘#t’.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: string-list
          rpc-host-whitelist
     The list of host names recognized by the RPC server when
     ‘rpc-host-whitelist-enabled?’ is ‘#t’.

     El valor predeterminado es ‘()’.

 -- ‘transmission-daemon-configuration’ parameter: message-level
          message-level
     The minimum severity level of messages to be logged (to
     ‘/var/log/transmission.log’) by the daemon, one of ‘none’ (no
     logging), ‘error’, ‘info’ and ‘debug’.

     El valor predeterminado es ‘info’

 -- ‘transmission-daemon-configuration’ parameter: boolean
          start-added-torrents?
     When ‘#t’, torrents are started as soon as they are added;
     otherwise, they are added in “paused” state.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: boolean
          script-torrent-done-enabled?
     When ‘#t’, the script specified by ‘script-torrent-done-filename’
     will be invoked each time a torrent completes.

     El valor predeterminado es ‘#f’

 -- ‘transmission-daemon-configuration’ parameter: maybe-file-object
          script-torrent-done-filename
     A file name or file-like object specifying a script to run each
     time a torrent completes, when ‘script-torrent-done-enabled?’ is
     ‘#t’.

     El valor predeterminado es ‘disabled’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          scrape-paused-torrents-enabled?
     When ‘#t’, the daemon will scrape trackers for a torrent even when
     the torrent is paused.

     El valor predeterminado es ‘#t’

 -- ‘transmission-daemon-configuration’ parameter: non-negative-integer
          cache-size-mb
     The amount of memory, in megabytes, to allocate for the daemon’s
     in-memory cache.  A larger value may increase performance by
     reducing the frequency of disk I/O.

     Defaults to ‘4’.

 -- ‘transmission-daemon-configuration’ parameter: boolean
          prefetch-enabled?
     When ‘#t’, the daemon will try to improve I/O performance by
     hinting to the operating system which data is likely to be read
     next from disk to satisfy requests from peers.

     El valor predeterminado es ‘#t’

