Difference between revisions of "Start X at login"

From ArchWiki
Jump to: navigation, search
(Q: How can I start X at boot time in Arch?)
(Starting X as prefered user without logging in: output piping)
Line 56: Line 56:
 
  [...]
 
  [...]
 
   
 
   
  x:5:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>/dev/null"
+
  x:5:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
  
 
where PREFERED_USER is the user of your choice.
 
where PREFERED_USER is the user of your choice.
Line 63: Line 63:
 
you can then choose window manager by editing <code>~/.xinitrc</code>.
 
you can then choose window manager by editing <code>~/.xinitrc</code>.
 
----
 
----
Putting <code>startxfce4</code> in <code>/etc/rc.local</code> is also an option, but note that both X and xfce (or the WM/DE of your choice) will start as super-user, which is generally not recommended.
+
Putting <code>startxfce4</code> in <code>/etc/rc.local</code> is also an option, but note that both X and xfce (or the WM/DE of your choice) will start as super-user, which is generally not recommended. Of course you could use the same trick as above and execute your desktop with a <code>/bin/su</code>.
 
----
 
----

Revision as of 11:23, 14 April 2007

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Q: How can I start X at boot time in Arch?

A: Edit your /etc/inittab The first uncommented line should be something like this:

id:3:initdefault:

Change it to:

id:5:initdefault:

Forum Topic

You may also want to change the last line of the /etc/inittab to start kdm or gdm instead of xdm.


Another way to the same result is to add a display manager (kdm, gdm, or xdm) to the DAEMONS array in /etc/rc.conf


An alternative is to add something like the following to the bottom of your ~/.bash_profile (if not is ~/.bash_profile yuo can create it):

if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/vc/1 ]]; then
  startx
  logout
fi

or

if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/vc/1 ]]; then
  xinit
  logout
fi

This way X is automatically started when you log in at the first console. Furthermore your user will be logged out when you kill X using ctrl+alt+backspace. next time you log in, X will start again automatically, and if you followed the mingetty instructions in Automatically_login_some_user_to_a_virtual_console_on_startup you will be able to have X automatically respawn with a fresh environment and everything ready to go.

Starting X as prefered user without logging in

A way of circumventing display managers and boot straight into prefered window manager or desktop environment is the following.
In /etc/inittab change:

id:3:initdefault:

[...]

x:5:respawn:/usr/X11R6/bin/xdm -nodaemon

to

id:5:initdefault:

[...]

x:5:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"

where PREFERED_USER is the user of your choice.

Instead of startx, you can of course have any program or self-written script you wish to execute. Myself, I have startx -- -nolisten tcp -br -deferglyphs 16 instead of just startx
you can then choose window manager by editing ~/.xinitrc.


Putting startxfce4 in /etc/rc.local is also an option, but note that both X and xfce (or the WM/DE of your choice) will start as super-user, which is generally not recommended. Of course you could use the same trick as above and execute your desktop with a /bin/su.