Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
m (Reverted edits by Thestinger (talk) to last revision by Jstjohn)
Line 28: Line 28:
  
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
 +
case `tty` in
 +
  /dev/tty1) VT=vt1 ;;
 +
  /dev/tty2) VT=vt2 ;;
 +
  /dev/tty3) VT=vt3 ;;
 +
  /dev/tty4) VT=vt4 ;;
 +
  /dev/tty5) VT=vt5 ;;
 +
  /dev/tty6) VT=vt6 ;;
 +
esac
 +
case 'tty' in
 +
  /dev/tty1) exec startx -- $VT ;;
 +
  /dev/tty2) exec startx -- $VT ;;
 +
  /dev/tty3) exec startx -- $VT ;;
 +
  /dev/tty4) exec startx -- $VT ;;
 +
  /dev/tty5) exec startx -- $VT ;;
 +
  /dev/tty6) exec startx -- $VT ;;
 +
esac
  
[[ $(fgconsole 2>/dev/null) == 1 ]] && exec startx -- vt1
 
  
 
== Tips ==
 
== Tips ==

Revision as of 19:22, 26 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

Note: This runs X on the same tty used to login, which is required in order to maintain the login session.
  • 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 it to ~/.zprofile instead.
case `tty` in
 /dev/tty1) VT=vt1 ;;
 /dev/tty2) VT=vt2 ;;
 /dev/tty3) VT=vt3 ;;
 /dev/tty4) VT=vt4 ;;
 /dev/tty5) VT=vt5 ;;
 /dev/tty6) VT=vt6 ;;
esac
case 'tty' in
 /dev/tty1) exec startx -- $VT ;;
 /dev/tty2) exec startx -- $VT ;;
 /dev/tty3) exec startx -- $VT ;;
 /dev/tty4) exec startx -- $VT ;;
 /dev/tty5) exec startx -- $VT ;;
 /dev/tty6) exec startx -- $VT ;;
esac


Tips

  • This method can be combined with automatic login to virtual console.
  • If you would like to remain logged in when the X session ends, remove exec.
  • To redirect the output of the X session to a file, create an alias:
alias startx='startx &> ~/.xlog'