Difference between revisions of "Automatic login to virtual console (Español)"

From ArchWiki
Jump to: navigation, search
(Usando mingetty)
(Utilizar la función drop-in de systemd para iniciar sesión automática de getty: Actualizar)
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Boot process (Español)]]
 
[[Category:Boot process (Español)]]
[[Category:Security]]
+
[[Category:Security (Español)]]
 
[[en:Automatic login to virtual console]]
 
[[en:Automatic login to virtual console]]
 
[[it:Automatic login to virtual console]]
 
[[it:Automatic login to virtual console]]
Line 6: Line 6:
 
{{Article summary text|Describe cómo acceder automáticamente a una consola virtual.}}
 
{{Article summary text|Describe cómo acceder automáticamente a una consola virtual.}}
 
{{Article summary heading|Relacionado}}
 
{{Article summary heading|Relacionado}}
{{Article summary wiki|Display Manager}}
+
{{Article summary wiki|Display Manager (Español)}}
{{Article summary wiki|Start X at Login}}
+
{{Article summary wiki|Start X at Login (Español)}}
 
{{Article summary end}}
 
{{Article summary end}}
  
En este artículo se describe cómo acceder automáticamente a una ''consola virtual'' al final del [[boot process|proceso de arranque ]]. Este artículo sólo cubre el acceso a la consola (o tty); los métodos para iniciar un [[Xorg|servidor X]] se describen en [[Start X at Boot]].
+
En este artículo se describe cómo acceder automáticamente a una ''consola virtual'' al final del [[boot process|proceso de arranque ]]. Este artículo sólo cubre el acceso a la consola (o tty); los métodos para iniciar un [[Xorg (Español)|servidor X]] se describen en [[Start X at Login_(Español)|Start X at Login]].
  
__TOC__
+
== Instalación ==
== Initscript==
+
=== Utilizar la función drop-in de systemd para iniciar sesión automática de getty ===
 +
[http://cgit.freedesktop.org/systemd/systemd/tree/NEWS#n655 Desde systemd 198] los archivos de unidad ahora pueden extenderse a través de los archivos drop-in sin tener que modificar/sobrescribirr los archivos de unidad en sí. Para aprender más sobre esta característica, consulte [http://www.freedesktop.org/software/systemd/man/systemd.unit.html systemd.unit(5)] y busque por ''Along with a unit file foo.service a directory foo.service.d/ may exist.''
  
=== Usando agetty ===
+
Hay dos tipos de consolas: virtuales y de serie. En la mayoría de los casos en que se desea configurar el inicio de sesión automático en la consola virtual, el nombre del dispositivo es ''ttyN'', donde ''N'' es un número. La configuración del inicio de sesión automático para las consolas de serie será un poco diferente. Los nombres de los dispositivos de las consolas de serie aparecen como ''ttySN'', donde ''N'' es un número.
Este es el método preferido y más limpio. Edite {{ic|/etc/inittab}} así:
+
{{hc|/etc/inittab|
+
c1:2345:respawn:/sbin/agetty -a ''USERNAME'' -8 -s 38400 tty1 linux
+
c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux
+
c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux
+
c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux
+
c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux
+
c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux
+
}}
+
para iniciar sesión automáticamente del usuario {{ic|''USERNAME''}} en la primera consola (tty1).
+
  
Si desea que su usuario inicie automáticamente sesión, pero sin saltarse la contraseña del sistema, añada la siguiente línea:
+
Para la consola virtual proceda con los siguientes pasos; el caso de consola de serie se aborda más abajo.
  
c1:2345:respawn:/sbin/agetty -a ''USERNAME'' -o "-- \u" -8 -s 38400 tty1 linux
+
Primero, cree un directorio nuevo llamado {{ic|getty@tty1.service.d}} en {{ic|/etc/systemd/system}}:
  
=== Usando mingetty ===
+
# mkdir /etc/systemd/system/getty@tty1.service.d
{{Nota|Aunque derivado de {{pkg|mingetty}}, {{AUR|fgetty}} no es compatible con el parámetro {{ic|--autologin}}.}}
+
  
Como alternativa, puede instalar el paquete {{pkg|mingetty}} desde los [[Official Repositories|repositorios oficiales]]. Mingetty está diseñado para ser un [[getty]] minimalista y permitir automáticamente el inicio de sesión:
+
Después, cree un archivo nuevo llamado {{ic|autologin.conf}} y añádalo a dicho directorio:
{{hc|/etc/inittab|
+
c1:2345:respawn:/sbin/mingetty --autologin ''USERNAME'' tty1 linux
+
c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux
+
c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux
+
c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux
+
c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux
+
c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux
+
}}
+
  
Utilizando los métodos anteriores, obtendrá un bucle de reinicio de sesión al intentar cerrar la sesión, por lo que no será posible salir de la tty1. Si desea iniciar sesión sólo en el arranque, y que sea posible salir, modifique el archivo en los siguientes términos:
+
{{hc|/etc/systemd/system/getty@tty1.service.d/autologin.conf|
{{hc|/etc/inittab|
+
2=[Service]
c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux
+
ExecStart=
c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux
+
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux
+
c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux
+
c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux
+
a1:2345:wait:/sbin/mingetty --autologin ''USERNAME'' tty1 linux
+
c1:2345:respawn:/sbin/agetty -8 -s 38400 tty1 linux
+
 
}}
 
}}
  
=== Usando un programa de acceso en C ===
+
{{Sugerencia|La opción {{ic|1=Type=simple}} retrasará la ejecución de agetty hasta que todos los trabajos (peticiones de cambio de estado de las unidades) se completen. Por otro lado, puede producir mensajes relativos el arranque de systemd que se arrojen en el prompt del login. Esta opción es útil cuando  [[Start X at Login (Español)|se inicia X automáticamente]]. Consulte {{ic|man systemd.service}} para obtener más información.}}
  
Como alternativa, puede ser escrito un programa de acceso en C:
+
Si desea usar la opción {{ic|1=Type=simple}}, entonces el archivo {{ic|autologin.conf}} debe mostrar este aspecto:
  
{{hc|autologin.c|
+
{{hc|/etc/systemd/system/getty@tty1.service.d/autologin.conf|
#include <unistd.h>
+
2=[Service]
 
+
ExecStart=
int main(void) {
+
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
  execlp("login", "login", "-f", "''USERNAME''", NULL);
+
Type=simple
}
+
 
}}
 
}}
  
Aquí, la función en C {{ic|execlp}}  ejecuta el comando  {{ic|login -f ''USERNAME''}}.
+
En el caso de una consola de serie debe crear un directorio diferente:
  
El programa debe ser compilado y copiado a un lugar adecuado:
+
# mkdir /etc/systemd/system/serial-getty@ttyS0.service.d
  
  $ gcc -o autologin autologin.c
+
El archivo {{ic|autologin.conf}} también se mostrará diferente:
# cp autologin /usr/local/sbin/
+
  
Por último, modificar {{ic|/etc/inittab}} para usarlo:
+
{{hc|/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf|
{{hc|/etc/inittab|
+
2=[Service]
c1:2345:respawn:/sbin/agetty -n -l /usr/local/sbin/autologin -s 38400 tty1 linux
+
ExecStart=
c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux
+
ExecStart=-/sbin/agetty --autologin <username> -s %I 115200,38400,9600 vt102
c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux
+
Type=simple
c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux
+
c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux
+
c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux
+
 
}}
 
}}
  
== Systemd ==
+
== Consejos y trucos ==
{{Merge|Systemd|Esta sección debe ser fusionada con [[systemd]] y reemplazada con un enlace allí}}
+
Cree un archivo de servicio similar a {{ic|getty@.service}} y cópielo en {{ic|/etc/systemd/system/}}:
+
 
+
# cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
+
 
+
{{Nota|{{ic|/etc/systemd/system/}} tiene prioridad sobre {{ic|/usr/lib/systemd/system/}}}}
+
 
+
Una vez creado, puede establecer un enlace con el nuevo {{ic|autologin@.service}} a la tty elegida, por ejemplo {{ic|tty1}}, {{ic|tty2}}, [...] {{ic|tty8}}, etc., especificándole un alias en la sección {{ic|[Install]}} del correspondiente archivo unit. Además, cambie el valor de {{ic|ExecStart}} en {{ic|autologin@.service}}, para que quede en algo similar a lo siguiente:
+
 
+
{{hc|/etc/systemd/system/autologin@.service|
+
2=[Service]
+
[...]
+
ExecStart&#61;-/sbin/agetty --noclear -a ''USERNAME'' %I 38400
+
Type=idle
+
[...]
+
[Install]
+
Alias=getty.target.wants/getty@tty1.service
+
}}
+
{{Tip|Es posible cambiar {{ic|1=Type=idle}} a {{ic|1=Type=simple}} para permitir una ligera demora en la ejecución de agetty hasta que todos los procesos (peticiones de cambio de estado de las unidades) se hayan completado. Esta opción es más útil [[Start X at Boot|iniciando X automáticamente]]. Consulte {{ic|man systemd.service}} para más información. {{Nota|{{ic|1=Type=simple}} puede hacer que los mensajes de arranque de systemd contaminen el mensaje del login.}}}}
+
  
Por razones de seguridad es posible que también desee cambiar {{ic|1=Restart=always}} a {{ic|1=Restart=no}}.
+
=== Cómo evitar volcar errores innecesarios en dmesg ===
 +
Para evitar errores relacionados con {{ic|display-manager.service}} en dmesg, debe establecer el target predeterminado para multiusuario en lugar de gráfico:
 +
# systemctl enable multi-user.target
  
Por ultimo, debe volver a cargar los demonios y habilitar e iniciar el servicio:
+
===Véase también===
# systemctl daemon-reload
+
# systemctl enable autologin@tty1.service
+
*[[Systemd_(Español)#Cambiar_el_target_predeterminado_para_arrancar|Cambiar el runlevel/target predefinido al arrancar]].
# systemctl start autologin@tty1.service
+

Revision as of 16:33, 2 October 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

En este artículo se describe cómo acceder automáticamente a una consola virtual al final del proceso de arranque . Este artículo sólo cubre el acceso a la consola (o tty); los métodos para iniciar un servidor X se describen en Start X at Login.

Instalación

Utilizar la función drop-in de systemd para iniciar sesión automática de getty

Desde systemd 198 los archivos de unidad ahora pueden extenderse a través de los archivos drop-in sin tener que modificar/sobrescribirr los archivos de unidad en sí. Para aprender más sobre esta característica, consulte systemd.unit(5) y busque por Along with a unit file foo.service a directory foo.service.d/ may exist.

Hay dos tipos de consolas: virtuales y de serie. En la mayoría de los casos en que se desea configurar el inicio de sesión automático en la consola virtual, el nombre del dispositivo es ttyN, donde N es un número. La configuración del inicio de sesión automático para las consolas de serie será un poco diferente. Los nombres de los dispositivos de las consolas de serie aparecen como ttySN, donde N es un número.

Para la consola virtual proceda con los siguientes pasos; el caso de consola de serie se aborda más abajo.

Primero, cree un directorio nuevo llamado getty@tty1.service.d en /etc/systemd/system:

# mkdir /etc/systemd/system/getty@tty1.service.d

Después, cree un archivo nuevo llamado autologin.conf y añádalo a dicho directorio:

/etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
Sugerencia: La opción Type=simple retrasará la ejecución de agetty hasta que todos los trabajos (peticiones de cambio de estado de las unidades) se completen. Por otro lado, puede producir mensajes relativos el arranque de systemd que se arrojen en el prompt del login. Esta opción es útil cuando se inicia X automáticamente. Consulte man systemd.service para obtener más información.

Si desea usar la opción Type=simple, entonces el archivo autologin.conf debe mostrar este aspecto:

/etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
Type=simple

En el caso de una consola de serie debe crear un directorio diferente:

# mkdir /etc/systemd/system/serial-getty@ttyS0.service.d

El archivo autologin.conf también se mostrará diferente:

/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin <username> -s %I 115200,38400,9600 vt102
Type=simple

Consejos y trucos

Cómo evitar volcar errores innecesarios en dmesg

Para evitar errores relacionados con display-manager.service en dmesg, debe establecer el target predeterminado para multiusuario en lugar de gráfico:

# systemctl enable multi-user.target

Véase también