Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(shell profile: rw, consolekit is not necessary thanks to logind, and the inittab is gone now)
(note about why fgconsole has to be used)
Line 22: Line 22:
  
 
== shell profile ==
 
== shell profile ==
 +
 +
{{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.):
 
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.):
Line 27: Line 29:
 
{{hc|~/.bash_profile|<nowiki>
 
{{hc|~/.bash_profile|<nowiki>
 
vt=$(fgconsole 2>/dev/null)
 
vt=$(fgconsole 2>/dev/null)
(( vt == 1 )) && exec startx -- vt$vt
+
(( vt == 1 )) && exec startx -- vt$vt &> ~/.xlog
 
unset vt
 
unset vt
 
</nowiki>}}
 
</nowiki>}}

Revision as of 18:31, 3 September 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

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.

An alternative to a login manager is to add the following to the bottom of your ~/.bash_profile (if ~/.bash_profile does not yet exist, copy a skeleton version from /etc/skel/.bash_profile. If you use zsh as your preferred shell, add the following lines to your ~/.zprofile instead.):

~/.bash_profile
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.