Difference between revisions of "Automatic login to virtual console (Italiano)"

From ArchWiki
Jump to: navigation, search
m (killing X; pagina ok)
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Boot process (Italiano)]]
 
[[Category:Boot process (Italiano)]]
 
[[Category:Security (Italiano)]]
 
[[Category:Security (Italiano)]]
{{i18n|Automatic login to virtual console}}
+
[[en:Automatic login to virtual console]]
 +
[[es:Automatic login to virtual console]]
 
{{Article summary start|Sommario}}
 
{{Article summary start|Sommario}}
 
{{Article summary text|Descrive come accedere automaticamente a una consolle virtuale.}}
 
{{Article summary text|Descrive come accedere automaticamente a una consolle virtuale.}}
 
{{Article summary heading|Articoli correlati}}
 
{{Article summary heading|Articoli correlati}}
 
{{Article summary wiki|Display Manager (Italiano)}}
 
{{Article summary wiki|Display Manager (Italiano)}}
{{Article summary wiki|Start X at Boot (Italiano)}}
+
{{Article summary wiki|Silent boot}}
 +
{{Article summary wiki|Start X at Login (Italiano)}}
 
{{Article summary end}}
 
{{Article summary end}}
 +
Questo articolo descrive come accedere automaticamente a una “console virtuale” o tty alla fine del [[Arch Boot Process (Italiano)|processo di boot]]. Questo articolo tratta solamente dell'accesso alla console; i metodi per avviare [[Xorg (Italiano)|il server X]] sono descritti in [[Start X at Login (Italiano)|Start X at Login]].
  
Questo articolo descrive come accedere automaticamente a una “consolle virtuale” o tty alla fine del [[Arch Boot Process (Italiano)|processo di boot]]. Questo articolo tratta solamente dell'accesso alla consolle; i metodi per avviare [[Xorg (Italiano)|il server X]] sono descritti in [[Start X at Boot (Italiano)|Start X at Boot]].
+
== Service ==
 +
Creare un nuovo servizio tipo {{ic|getty@.service}} e copiarlo in {{ic|/etc/systemd/system/}}
 +
# cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
 +
{{Nota|{{ic|/etc/systemd/system/}} ha la precedenza su {{ic|/usr/lib/systemd/system/}}}}
 +
Cambiare la linea{{ic|ExecStart}} per includere il parametro {{ic|-a "USERNAME"}}:
 +
{{hc|/etc/systemd/system/autologin@.service|2=
 +
[Service]
 +
''[...]''
 +
ExecStart=-/sbin/agetty --noclear -a ''USERNAME'' %I 38400
 +
''[...]''
 +
[Install]
 +
WantedBy=getty.target}}
 +
{{Tip|È possibile cambiare {{ic|1=Type=idle}} in {{ic|1=Type=simple}} per permettere un leggero ritardo per l'esecuzione di agetty fino a che tutti i processi non siano completati. Questa opzione è molto utile quando si [[Far partire X al boot|avvia X al boot in modo automatico]]. Vedere {{ic|man systemd.service}} per ulterioti informazioni.
 +
{{Nota|{{ic|1=Type=simple}} può provocare messaggi di debug da parte di systemd che vanno a "sovrascrivere" le tty.}}}}
 +
{{Nota|Se si usa mingetty, cambiare /sbin/agetty con /sbin/mingetty}}.
 +
Infine, disabilitare il vecchio {{ic|getty@tty''X''.service}} per la TTY specifica e abilitare il relativo {{ic|autologin@tty''X''.service}} per la stessa TTY:
 +
# systemctl daemon-reload
 +
# systemctl disable getty@''tty1''
 +
# systemctl enable autologin@''tty1''
 +
# systemctl start autologin@''tty1''
 +
{{Attenzione|Se si è in una sessione di X sulla stessa tty configurata nel file .service, avviare {{ic|autologin@tty''X''.service}} farà crashare il server X.}}
 +
Per evitare errori relativi a display-manager.service in dsmeg, è possibile settare come default il target "multi-user":
 +
# systemctl enable multi-user.target
  
== Usare agetty o mingetty ==
+
===Killare X===
{{Nota|Sebbene sia una derivata di mingetty, fgetty non supporta il parametro --autologin}}
+
{{accuracy}}
 +
Per killare X e prevenirne l'immediato ricaricamento, stoppare il servizio {{ic|autologin@tty1.service}}:
 +
# # systemctl stop autologin@tty1.service
  
 
+
===Vedere anche===
Questo è il metodo migliore e più "pulito". Modificare le seguenti righe di {{ic|/etc/inittab}} da:
+
* [[Systemd (Italiano)#Cambiare il runlevel/target predefinito all'avvio|Cambiare il runlevel/target predefinito all'avvio]].)
{{bc|
+
c1:2345:respawn:/sbin/agetty -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
+
}}
+
 
+
in:
+
 
+
{{bc|
+
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
+
}}
+
per avere un autologin al boot dell'utente USERNAME sulla prima console (tty1).
+
 
+
 
+
Alternativamente, installare il pacchetto {{pkg|mingetty}} dai [[Official Repositories (Italiano)| repository ufficiali]]. Mingetty è progettato per essere un [[getty]] minimale e per permettere login automatici. Poi bisogna cambiare {{ic|/etc/inittab}} in:
+
{{bc|
+
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
+
}}
+
 
+
Con questo metodo non sarà possibile uscire da tty1, in quanto si accederà di nuovo all'infinito. Se si desidera che l'accesso automatico avvenga solo all'avvio, e che sia possibile uscire, è possibile modificare {{ic|/etc/inittab}} in questo modo (nota: così non sarà possibile accedere alle altre consolle virtuali fino a dopo l'uscita):
+
{{Nota| con questo metodo non si potrà effetturare login su altre tty se non dopo l'uscita da tty1
+
}}
+
{{bc|
+
a1:2345:wait:/sbin/mingetty --autologin USERNAME tty1 linux
+
c1:2345:respawn:/sbin/agetty -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
+
}}
+
 
+
 
+
 
+
== Usare un programma di accesso in C ==
+
 
+
Come alternativa può essere scritto un programma di accesso in C:
+
 
+
{{hc|autologin.c|<nowiki>
+
#include <unistd.h>
+
 
+
int main(void) {
+
  execlp("login", "login", "-f", "USERNAME", NULL);
+
}
+
</nowiki>}}
+
 
+
 
+
Qui la funzione in C {{ic|execlp}} esegue il comando {{ic|login -f NOMEUTENTE}}.
+
 
+
Il programma deve essere compilato e copiato in una posizione appropriata:
+
 
+
$ gcc -o autologin autologin.c
+
# cp autologin /usr/local/sbin/
+
 
+
Alla fine modificare {{ic|etc/inittab}} e cambiare:
+
 
+
{{bc|
+
c1:2345:respawn:/sbin/agetty -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
+
}}
+
 
+
in:
+
 
+
{{bc|
+
c1:2345:respawn:/sbin/agetty -n -l /usr/local/sbin/autologin -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
+
}}
+

Revision as of 10:10, 21 December 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end Questo articolo descrive come accedere automaticamente a una “console virtuale” o tty alla fine del processo di boot. Questo articolo tratta solamente dell'accesso alla console; i metodi per avviare il server X sono descritti in Start X at Login.

Service

Creare un nuovo servizio tipo getty@.service e copiarlo in /etc/systemd/system/

# cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
Nota: /etc/systemd/system/ ha la precedenza su /usr/lib/systemd/system/

Cambiare la lineaExecStart per includere il parametro -a "USERNAME":

/etc/systemd/system/autologin@.service
[Service]
[...]
ExecStart=-/sbin/agetty --noclear -a USERNAME %I 38400
[...]
[Install]
WantedBy=getty.target
Tip: È possibile cambiare Type=idle in Type=simple per permettere un leggero ritardo per l'esecuzione di agetty fino a che tutti i processi non siano completati. Questa opzione è molto utile quando si avvia X al boot in modo automatico. Vedere man systemd.service per ulterioti informazioni.
Nota: Type=simple può provocare messaggi di debug da parte di systemd che vanno a "sovrascrivere" le tty.
Nota: Se si usa mingetty, cambiare /sbin/agetty con /sbin/mingetty
.

Infine, disabilitare il vecchio getty@ttyX.service per la TTY specifica e abilitare il relativo autologin@ttyX.service per la stessa TTY:

# systemctl daemon-reload
# systemctl disable getty@tty1
# systemctl enable autologin@tty1
# systemctl start autologin@tty1
Attenzione: Se si è in una sessione di X sulla stessa tty configurata nel file .service, avviare autologin@ttyX.service farà crashare il server X.

Per evitare errori relativi a display-manager.service in dsmeg, è possibile settare come default il target "multi-user":

# systemctl enable multi-user.target

Killare X

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Automatic login to virtual console (Italiano)#)

Per killare X e prevenirne l'immediato ricaricamento, stoppare il servizio autologin@tty1.service:

# # systemctl stop autologin@tty1.service

Vedere anche