Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
m (minor improvements)
(rewritten. One line is better than 3, and an alias is better instead of appending "&> ~/.xlog" at the end. This way, the "~/.xlog" file is updated not just when you log in, but also in case the X session crashes or is closed, and you run 'startx'.)
Line 22: Line 22:
  
 
== Shell profile file ==
 
== Shell profile file ==
 
{{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 {{ic|~/.bash_profile}}. If the file does not exist, copy a skeleton version from {{ic|/etc/skel/.bash_profile}}.
 
* 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}}.
Line 29: Line 27:
 
* For [[Zsh]], add the following to {{ic|~/.zprofile}} instead.
 
* For [[Zsh]], add the following to {{ic|~/.zprofile}} instead.
  
{{hc|~/.bash_profile or ~/.zprofile|<nowiki>
+
<nowiki>[[ $(fgconsole) = 1 ]] && startx -- vt1</nowiki>
vt=$(fgconsole 2>/dev/null)
+
(( vt == 1 )) && exec startx -- vt$vt &> ~/.xlog
+
unset vt
+
</nowiki>}}
+
  
The user will be logged out when X is killed. In order to avoid this, remove the {{ic|exec}} part from the script. Also note the redirection of the output to {{ic|~/.xlog}}.
+
== Tips ==
  
{{Tip|This method can be combined with [[automatic login to virtual console]] to provide autologin.}}
+
* This method can be combined with [[automatic login to virtual console]].
 +
* If you would like to also log out when X is killed, use {{ic|exec startx}} instead of just {{ic|startx}}.
 +
* To redirect the output of the X session to a file, create an [[alias]]:
 +
: {{bc|1=alias startx='startx &> ~/.xlog'}}
 +
* Alternatively, you can use {{ic|xinit}} instead of {{ic|startx}} (since {{ic|startx}} is an extension anyway).

Revision as of 21:23, 9 October 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 using an existing virtual terminal.

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 file

  • 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.
[[ $(fgconsole) = 1 ]] && startx -- vt1

Tips

  • This method can be combined with automatic login to virtual console.
  • If you would like to also log out when X is killed, use exec startx instead of just startx.
  • To redirect the output of the X session to a file, create an alias:
alias startx='startx &> ~/.xlog'
  • Alternatively, you can use xinit instead of startx (since startx is an extension anyway).