Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(Fail at formatting code.)
(Tips)
(11 intermediate revisions by 7 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 12: Line 13:
 
{{Article summary text|Starting X automatically at login to a virtual terminal.}}
 
{{Article summary text|Starting X automatically at login to a virtual terminal.}}
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
 +
{{Article summary wiki|systemd/User}}
 
{{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 22:
 
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 31:
  
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
 
* For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
* This line makes it possible to graphical login from 1 to 5 terminals, but 6 terminal to the console input.
+
{{bc|1=<nowiki>
[ -z $DISPLAY && $XDG_VTNR -eq 5 ] && exec startx &> ~/.xlog
+
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
 +
</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 ==
  
* 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 {{ic|~/.xinitrc}} is read and hence pulseaudio started (see: [https://bbs.archlinux.org/viewtopic.php?id=155416 BBS#155416])
 
* 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'}}

Revision as of 04:24, 16 April 2013

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 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 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 (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'