Difference between revisions of "Start X at login"

From ArchWiki
Jump to navigation Jump to search
m
Line 64: Line 64:
 
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> (or <code>xinit</code>, and putting to <code>/.xinitrc</code> for example <code>icewm</code>, and copping <code>~/.icewm</code> to <code>/.icewm</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>.
+
Putting <code>startxfce4</code> (or <code>xinit</code>, and putting to <code>/.xinitrc</code> for example <code>icewm</code>, and copying <code>~/.icewm</code> to <code>/.icewm</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 19:20, 1 January 2008


Template:I18n links start Template:I18n entry 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 ~/.bash_profile doesn't exist, you 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 (or xinit, and putting to /.xinitrc for example icewm, and copying ~/.icewm to /.icewm) 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.