Home / Sistemi operativi & mobile / Linux / Autologin con Xfce
Mattepuffo

Autologin con Xfce

Autologin con Xfce

In giro ci sono parecchi gestori di login: GDM, KDM, Slim.....

Se però dovete fare l'autologin e usate Xfce è un pò inutile installarli; soprattutto per quanto riguarda GDM e KDM che si portano appresso una marea di dipendenze.

Vediamo come eseguire l'autologin senza installare alcun login manager.

Le info le ho prese dall'ottimo Wiki di Archlinux; essendo però un pò dispersive vi riporto lo stretto necessario.

Per prima cosa dovete creare il file .xinitrc dentro la vostra home (più in generale dentro la home dell'utente che deve loggarsi automaticamente).

Volendo ne avete un esempio in /etc/skel/.xinitrc:

$ cat /etc/skel/.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi

# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice

Questo è quello che uso io:

$ cat /home/casa/.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi

# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice

exec ck-launch-session dbus-launch --exit-with-session startxfce4

In pratica è uguale tranne per il fatto che ho aggiunto l'ultima riga che è quella carica xfce con le varie impostazioni che ci servono.

Questo quello che riporta il wiki:

"dbus-launch starts a dbus-daemon instance to provide communication with PolicyKit. ck-launch-session starts a clean consolekit session needed by Xfce for power management, automounting, shutting down/rebooting etc. ConsoleKit/PolicyKit capable display managers such as gdm do this for you automatically. Notice dbus-launch must be placed after ck-launch-session, or there will be problems when mounting disks."

A questo punto dobbiamo modificare il file /etc/inittab; vi posto il mio:

$ cat /etc/inittab
#
# /etc/inittab
#

#  Runlevels:
#    0    Halt
#    1(S)       Single-user
#    2    Not used
#    3    Multi-user
#    4    Not used
#    5    X11
#    6    Reboot

## Only one of the following two lines can be uncommented!
# Boot to console
#id:3:initdefault:
# Boot to X11
id:5:initdefault:

rc::sysinit:/etc/rc.sysinit
rs:S1:wait:/etc/rc.single
rm:2345:wait:/etc/rc.multi
rh:06:wait:/etc/rc.shutdown
su:S:wait:/sbin/sulogin -p

# -8 options fixes umlauts problem on login
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux
c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux
c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux
c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux
c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux

# Serial Virtual Console for KVM and others VMs
#s0:2345:respawn:/sbin/agetty -8 9600 ttyS0 linux

# Hypervisor Virtual Console for Xen and KVM
#h0:2345:respawn:/sbin/agetty -8 38400 hvc0 linux

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# Example lines for starting a login manager
#x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1
x:45:once:/bin/su UTENTE -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
# End of file

Quelle che ci interessano sono le righe rosse.

Nella prima gli diciamo di far partire il runlevel 5 (lo stesso per qualsiasi DE).

Nella seconda impostiamo l'utente che si deve loggare e avviamo la sessione grafica.

In avvio il sistema leggerà il file .xinitrc dentro la nostra home.