Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(Undo revision 221359 by Thestinger (talk) unbreak)
(reword/cleanup)
Line 25: Line 25:
 
{{Note|This runs X on the same tty used to login, which is required in order to maintain local permissions.}}
 
{{Note|This runs X on the same tty used to login, which is required in order to maintain local permissions.}}
  
An alternative to a login manager is to add the following to the bottom of your {{ic|~/.bash_profile}} (if {{ic|~/.bash_profile}} does not yet exist, copy a skeleton version from {{ic|/etc/skel/.bash_profile}}. If you use [[zsh]] as your preferred shell, add the following lines to your {{ic|~/.zprofile}} instead.):
+
For bash, add the following to the bottom of {{ic|~/.bash_profile}}. If the file does not exist, copy a skeleton version from {{ic|/etc/skel/.bash_profile}}.
  
{{hc|~/.bash_profile|<nowiki>
+
For zsh, add the following to {{ic|~/.zprofile}} instead.
 +
 
 +
{{hc|shell profile file|<nowiki>
 
vt=$(fgconsole 2>/dev/null)
 
vt=$(fgconsole 2>/dev/null)
 
(( vt == 1 )) && exec startx -- vt$vt &> ~/.xlog
 
(( vt == 1 )) && exec startx -- vt$vt &> ~/.xlog

Revision as of 18:36, 3 September 2012

Summary help replacing me
Starting X automatically at login to a virtual terminal.
Related
Automatic login to virtual console
Display Manager
Xinitrc

A display manager can be used to provide a login screen and start the X server. This article explains how this can be done automatically without using a display manager.

To manually start X, startx or xinit are used. Both will execute ~/.xinitrc, which may be customized to start the window manager of choice as described in the xinitrc article.

shell profile

Note: This runs X on the same tty used to login, which is required in order to maintain local permissions.

For bash, add the following to the bottom of ~/.bash_profile. If the file does not exist, copy a skeleton version from /etc/skel/.bash_profile.

For zsh, add the following to ~/.zprofile instead.

shell profile file
vt=$(fgconsole 2>/dev/null)
(( vt == 1 )) && exec startx -- vt$vt &> ~/.xlog
unset vt

The user will be logged out when X is killed. In order to avoid this, remove the exec part from the script.

Note: This method can be combined with automatic login to virtual console to provide autologin.