Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(Tips)
(Shell profile file)
Line 26: Line 26:
 
== Shell profile file ==
 
== Shell profile file ==
  
{{Note|This runs X on the same tty used to login, which is required in order to maintain the login session.}}
+
To easily accomplish this, add to your shell's rc config:
 +
* Bash - {{ic|~/.bashrc}}
 +
* Zsh - {{ic|~/.zshrc}}
 +
* Csh - {{ic|~/.cshrc}}
 +
* Ksh - {{ic|~/.kshrc}}
  
* 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}}.
+
The following:
 
+
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
+
 
{{bc|1=<nowiki>
 
{{bc|1=<nowiki>
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
+
[[ $TTY == "/dev/tty1" ]] && exec startx
 
</nowiki>}}
 
</nowiki>}}
 
{{Note|You can replace the {{ic|-eq 1}} comparison with one like {{ic|-le 3}} (for vt1 to vt3) if you want to use graphical logins on more than one VT.}}
 
 
{{Note|X must always be run on the same tty where the login occurred, to preserve the logind session. This is handled by the default {{ic|/etc/X11/xinit/xserverrc}}.}}
 
  
 
== Tips ==
 
== Tips ==

Revision as of 00:27, 16 May 2013

Summary help replacing me
Starting X automatically at login to a virtual terminal.
Related
systemd/User
Automatic login to virtual console
Display Manager
Silent boot
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 using an existing virtual terminal.

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

Shell profile file

To easily accomplish this, add to your shell's rc config:

  • Bash - ~/.bashrc
  • Zsh - ~/.zshrc
  • Csh - ~/.cshrc
  • Ksh - ~/.kshrc

The following:

[[ $TTY == "/dev/tty1" ]] && exec startx

Tips

  • This method can be combined with automatic login to virtual console. When doing this you have to set correct dependencies for the autologin systemd service to ensure that dbus is started before ~/.xinitrc is read and hence pulseaudio started (see: BBS#155416)
  • 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'