Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(Undo revision 229067 by Thestinger (talk) rv again, prints an error within the session)
m
(22 intermediate revisions by 8 users not shown)
Line 5: Line 5:
 
[[hu:Start X at Boot]]
 
[[hu:Start X at Boot]]
 
[[it:Start X at Boot]]
 
[[it:Start X at Boot]]
 +
[[ja:Start X at Login]]
 
[[pt:Start X at Boot]]
 
[[pt:Start X at Boot]]
 
[[ru:Start X at Boot]]
 
[[ru:Start X at Boot]]
Line 14: Line 15:
 
{{Article summary wiki|Automatic login to virtual console}}
 
{{Article summary wiki|Automatic login to virtual console}}
 
{{Article summary wiki|Display Manager}}
 
{{Article summary wiki|Display Manager}}
 +
{{Article summary wiki|Silent boot}}
 
{{Article summary wiki|Xinitrc}}
 
{{Article summary wiki|Xinitrc}}
 
{{Article summary end}}
 
{{Article summary end}}
Line 19: Line 21:
 
A [[Display Manager|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.
 
A [[Display Manager|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, {{ic|startx}} or {{ic|xinit}} are used. Both will execute {{ic|~/.xinitrc}}, which may be customized to start the window manager of choice as described in the [[xinitrc]] article.
+
To manually start X, {{ic|startx}} is used, which will execute {{ic|~/.xinitrc}}, which may be customized to start the window manager of choice as described in the [[xinitrc]] article.
  
 
== Shell profile file ==
 
== Shell profile file ==
Line 28: Line 30:
  
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
 +
{{bc|1=<nowiki>
 +
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
 +
</nowiki>}}
  
[[ $(fgconsole 2>/dev/null) == 1 ]] && exec startx -- vt1
+
{{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 ==
  
* This method can be combined with [[automatic login to virtual console]].
+
* 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. (cf this [https://bbs.archlinux.org/viewtopic.php?id=155416 post])
 
* If you would like to remain logged in when the X session ends, remove {{ic|exec}}.
 
* If you would like to remain logged in when the X session ends, remove {{ic|exec}}.
 
* To redirect the output of the X session to a file, create an [[alias]]:
 
* To redirect the output of the X session to a file, create an [[alias]]:
 
: {{bc|1=alias startx='startx &> ~/.xlog'}}
 
: {{bc|1=alias startx='startx &> ~/.xlog'}}
* Alternatively, you can use {{ic|xinit -- -nolisten tcp}} instead of {{ic|startx}} (since {{ic|startx}} is just a wrapper).
 

Revision as of 05:53, 2 January 2013

Summary help replacing me
Starting X automatically at login to a virtual terminal.
Related
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

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.
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
Note: You can replace the -eq 1 comparison with one like -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 /etc/X11/xinit/xserverrc.

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. (cf this post)
  • 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'