Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(add zh_TW link)
(fix double redirect)
 
(44 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:X Server]]
+
#REDIRECT [[Xinit#Autostart_X_at_login]]
[[Category:Boot process]]
+
[[es:Start X at Boot]]
+
[[fr:Startx]]
+
[[hu:Start X at Boot]]
+
[[it:Start X at Boot]]
+
[[ja:Start X at Login]]
+
[[pt:Start X at Boot]]
+
[[ru:Start X at Boot]]
+
[[th:Start X at Boot]]
+
[[zh-CN:Start X at Login]]
+
[[zh-TW:Start X at Login]]
+
{{Related articles start}}
+
{{Related|systemd/User}}
+
{{Related|Automatic login to virtual console}}
+
{{Related|Display Manager}}
+
{{Related|Silent boot}}
+
{{Related|Xinitrc}}
+
{{Related articles end}}
+
 
+
This article explains how to have the [[X server]] start automatically right after logging in at a virtual terminal. This is achieved by running the ''startx'' command, whose behaviour can be customized as described in the [[xinitrc]] article, for example for choosing what [[window manager]] to launch. Alternatively, a [[display manager]] can be used to start X automatically and provide a graphical login screen.
+
 
+
== Shell profile files ==
+
 
+
{{Note|These solutions run 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 {{ic|~/.bash_profile}}. If the file does not exist, copy a skeleton version from {{ic|/etc/skel/.bash_profile}}. <br> For [[Zsh]], add it to {{ic|~/.zprofile}} instead.
+
{{bc|1=<nowiki>
+
[[ -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.
+
* 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}}.
+
}}
+
 
+
* For [[Fish]], add the following to the bottom of your {{ic|~/.config/fish/config.fish}}.
+
{{bc|1=<nowiki>
+
# start X at login
+
if status --is-login
+
    if test -z "$DISPLAY" -a $XDG_VTNR = 1
+
        exec startx
+
    end
+
end
+
</nowiki>}}
+
 
+
== Tips and tricks ==
+
 
+
* 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}}.
+
* To redirect the output of the X session to a file, create an [[alias]]:
+
: {{bc|1=alias startx='startx &> ~/.xlog'}}
+

Latest revision as of 10:37, 24 July 2016