Difference between revisions of "Automatic login to virtual console"

From ArchWiki
Jump to: navigation, search
(Service)
Line 13: Line 13:
 
This article describes how to automatically log in to a ''virtual console'' at the end of the [[boot process]]. This article only covers console log-ins; methods for starting an [[Xorg|X server]] are described in [[Start X at Login]].
 
This article describes how to automatically log in to a ''virtual console'' at the end of the [[boot process]]. This article only covers console log-ins; methods for starting an [[Xorg|X server]] are described in [[Start X at Login]].
  
== Service ==
+
== Installation ==
 +
=== Creating the {{ic|.service}} ===
 
Create a new service file similar to {{ic|getty@.service}} by copying it to {{ic|/etc/systemd/system/}}:
 
Create a new service file similar to {{ic|getty@.service}} by copying it to {{ic|/etc/systemd/system/}}:
  
Line 34: Line 35:
 
{{Tip|The option {{ic|1=Type=simple}} will delay the execution of agetty until all jobs (state change requests to units) are completed. On the other hand it may cause systemd boot-up messages to pollute the login prompt. This option is more useful when [[Start X at Login|starting X automatically]]. See {{ic|man systemd.service}} for more info.}}
 
{{Tip|The option {{ic|1=Type=simple}} will delay the execution of agetty until all jobs (state change requests to units) are completed. On the other hand it may cause systemd boot-up messages to pollute the login prompt. This option is more useful when [[Start X at Login|starting X automatically]]. See {{ic|man systemd.service}} for more info.}}
  
 +
=== Enabling the {{ic|.service}} ===
 
Finally, you need to disable the old {{ic|getty@tty''X''.service}} for the specified tty and enable the new {{ic|autologin@tty''X''.service}}, e.g.:
 
Finally, you need to disable the old {{ic|getty@tty''X''.service}} for the specified tty and enable the new {{ic|autologin@tty''X''.service}}, e.g.:
 
  # systemctl daemon-reload
 
  # systemctl daemon-reload
Line 44: Line 46:
 
{{Warning|If you are currently in an X session on the same tty configured in the service file, starting {{ic|autologin@tty''X''.service}} will kill your X server.}}
 
{{Warning|If you are currently in an X session on the same tty configured in the service file, starting {{ic|autologin@tty''X''.service}} will kill your X server.}}
  
 +
== Tips & Tricks ==
 +
 +
=== Avoid unnecessary dmesg errors ===
 
To avoid errors related to {{ic|display-manager.service}} in dmesg, you should set the default target to multi-user instead of graphical:
 
To avoid errors related to {{ic|display-manager.service}} in dmesg, you should set the default target to multi-user instead of graphical:
 
  # systemctl enable multi-user.target
 
  # systemctl enable multi-user.target
  
===See also===
+
==See also==
 
* [[Systemd#Change_default_target_to_boot_into|Change default runlevel/target to boot into]].
 
* [[Systemd#Change_default_target_to_boot_into|Change default runlevel/target to boot into]].

Revision as of 04:35, 16 April 2013

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

This article describes how to automatically log in to a virtual console at the end of the boot process. This article only covers console log-ins; methods for starting an X server are described in Start X at Login.

Installation

Creating the .service

Create a new service file similar to getty@.service by copying it to /etc/systemd/system/:

# cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
Note: /etc/systemd/system/ takes precedence over /usr/lib/systemd/system/.

Then change the ExecStart line to include the -a USERNAME parameter:

/etc/systemd/system/autologin@.service
[Service]
[...]
ExecStart=-/sbin/agetty --noclear -a USERNAME %I 38400
[...]

[Install]
WantedBy=getty.target
Tip: The option Type=simple will delay the execution of agetty until all jobs (state change requests to units) are completed. On the other hand it may cause systemd boot-up messages to pollute the login prompt. This option is more useful when starting X automatically. See man systemd.service for more info.

Enabling the .service

Finally, you need to disable the old getty@ttyX.service for the specified tty and enable the new autologin@ttyX.service, e.g.:

# systemctl daemon-reload
# systemctl disable getty@tty1
# systemctl enable autologin@tty1

To test it out, use:

# systemctl start autologin@tty1
Warning: If you are currently in an X session on the same tty configured in the service file, starting autologin@ttyX.service will kill your X server.

Tips & Tricks

Avoid unnecessary dmesg errors

To avoid errors related to display-manager.service in dmesg, you should set the default target to multi-user instead of graphical:

# systemctl enable multi-user.target

See also