Difference between revisions of "Start X at login"
Thestinger (talk | contribs) (note about why fgconsole has to be used) |
m (Added systemd/User link to `Related`) |
||
(48 intermediate revisions by 13 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]] | ||
[[th:Start X at Boot]] | [[th:Start X at Boot]] | ||
− | [[zh-CN:Start X at | + | [[zh-CN:Start X at Login]] |
{{Article summary start}} | {{Article summary start}} | ||
{{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}} | ||
− | 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 | + | 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}} | + | 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 == |
− | {{Note|This runs X on the same tty used to login, which is required in order to maintain | + | {{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 {{ic|~/.bash_profile}}. If the file does not exist, copy a skeleton version from {{ic|/etc/skel/.bash_profile}}. | |
− | {{ | + | * For [[Zsh]], add it to {{ic|~/.zprofile}} instead. |
− | + | {{bc|1=<nowiki> | |
− | + | [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && 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|This method can be combined with [[automatic login to virtual console]] to | + | {{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 == | ||
+ | |||
+ | * 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}}. | ||
+ | * To redirect the output of the X session to a file, create an [[alias]]: | ||
+ | : {{bc|1=alias startx='startx &> ~/.xlog'}} |
Revision as of 12:26, 10 January 2013
zh-CN:Start X at Login 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. (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'