# Automatischer Login?

## gflash

Hallo!

Da ich der einzige Benutzer meines PCs bin, möchte ich mich nicht immer "mühevoll" beim System anmelden müssen. Ich möchte, dass dies automatisch geschieht. Als Windowmanager benutze ich xfce4, also soll das System nach dem booten Automatisch meinen User anmelden und xfce4 starten

Wie kann ich das machen?

Es geht mit gdm, aber nach möglichkeit will ich keinen graphischen Loginmanager benutzen. Gibt es noch eine Andere Möglichkeit?

Gruß,

Gregor

----------

## Deever

Mit KDM gehts vermutlich...nicht probiert, da ich das nicht so mache.

----------

## _hephaistos_

jo, mit kdm gehts!

----------

## dertobi123

Mit gdm gehts auch, nicht dass ich sowas gutheisen wuerde, aber es geht ...

----------

## zielscheibe

Eines vorweg, es gibt bestimmt eine bessere Lösung. (die Platzhalter "dein_username" und "autologin_your_user" sind nat. an deine Wünsche anzupassen!  :Wink:   )

1."Login Binary kompilieren" 

```

int main() {

   execlp( "login", "login", "-f", "dein_username", 0);

}

```

das ganze als Datei abspeichern, z.B. "autologin_your_user.c"

kompilieren mit

```

gcc -o autologin_your_user autologin_your_user.c

```

und die Binary "autologin_your_user" nach "/sbin" kopieren.

2. die "etc/inittab" editieren, dem Konfigabschnitt

```

c1:12345:respawn:/sbin/agetty 38400 tty1 linux

c2:12345:respawn:/sbin/agetty 38400 tty2 linux

c3:12345:respawn:/sbin/agetty 38400 tty3 linux

c4:12345:respawn:/sbin/agetty 38400 tty4 linux

c5:12345:respawn:/sbin/agetty 38400 tty5 linux

c6:12345:respawn:/sbin/agetty 38400 tty6 linux

```

folgende Zeile darunter hinzufügen (c7 und tty7 bezeichnen die virtuelle Konsole, du kannst auch andere Konsolen nutzen >7)

```

c7:12345:respawn:/sbin/agetty -n -l /sbin/autologin_your_user 38400 tty7

```

3. Jetzt noch die ".bash_profile" im "/home" - Verzeichnis, des in die Loginbinary eingetragenen Benutzers, editieren (verhindert, daß beim Öffnen einer Konsole unter X eine weitere Session gestart wird).

von:

```

# /etc/skel/.bash_profile:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bash_profile,v 1.10 2002/11/18 19:39:22 azarah Exp $

#This file is sourced by bash when you log in interactively.

[ -f ~/.bashrc ] && . ~/.bashrc

```

zu:

```

# /etc/skel/.bash_profile:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bash_profile,v 1.10 2002/11/18 19:39:22 azarah Exp $

#This file is sourced by bash when you log in interactively.

[ -f ~/.bashrc ] && . ~/.bashrc

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/vc/7]; then

startx

fi

```

Klar ist, das startx die gewünschte Session ohne Loginmanager starten sollte (.xinitrc)

Jetzt sollte bei jedem Bootvorgang der gewünschte User einen X-server vor sich finden können.  :Smile: 

HTH

----------

## gflash

Danke für diese großartige Anleitung!

Aber es funktioniert noch nicht so ganz. Ich werde zwar auf vt7 automatisch angemeldet, aber xfce4 startet sich nicht. Ich erhalte die Fehlermeldung, dass eine ']' fehlt, aber ich weiß beim besten Willen nicht, wo.

hier ist meine Datei:

```

# /etc/skel/.bash_profile:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bash_profile,v 1.10 2002/11/18 19:39:22 azarah Exp $

#This file is sourced by bash when you log in interactively.

[ -f ~/.bashrc ] && . ~/.bashrc

#automatischer start von xfce4

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/vc/7]; then

startxfce4

fi

```

----------

## zielscheibe

Mist, war ein Schreibfehler. Da ich den Ruby-Dualheadpatch verwende, melde ich meine beiden User gleichzeitig auf vt16 und vt17 an. Beim Berabeiten des Postings, habe ich den Triggerfinger zu lang auf DEL (zwischen "vc/7" und "]") hämmern lassen.

Soll heißen:

```

# /etc/skel/.bash_profile:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bash_profile,v 1.10 2002/11/18 19:39:22 azarah Exp $

#This file is sourced by bash when you log in interactively.

[ -f ~/.bashrc ] && . ~/.bashrc

#automatischer start von xfce4

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/vc/7 ]; then

startxfce4

fi 

```

Sorry

PS. Falls "dev/vc/7" nicht funktionieren sollte kannst du es ja auch mit "dev/tty7" versuchen.

----------

## xmoy

Sehr kreative Lösung, Respekt, zielscheibe  :Laughing: 

----------

## gflash

Es geht!

vielen Dank für Deine Hilfe, zielscheibe!

Habe nur noch eine kleine Frage:

Wie kann ich meinem User erlauben, den PC runterzufahren bzw. neuzustarten, ohne ihm gleichzeitig noch andere root-Rechte zu geben?

----------

## Gekko

Das würd idealerweise mit sudo gehen.

Du kannst die "sudoers" so konfigurieren, dass sie bestimmte Sachen machen dürfen - sei es ob sie dafür das root Passwort, ihr eigenes oder z.B. gar kein Passwort eingeben dürfen/müssen und das ganze natürlich noch eingeschränkt auf spezielle Befehle z.B.

Ist ganz praktisch find ich.

----------

## nes

 *CmdrDust wrote:*   

> 
> 
> Wie kann ich meinem User erlauben, den PC runterzufahren bzw. neuzustarten, ohne ihm gleichzeitig noch andere root-Rechte zu geben?

 

Klappt mit sudo:

```

emerge sudo
```

Danach muß noch /etc/sudoers angepasst werden. Ich sitze gerade an keinem Linux-Rechner, aber die müsste ungefähr so Zeilen enthalten:

```

%user   ALL=/sbin/reboot    NOPASSWD: ALL 

%user   ALL=/sbin/halt    NOPASSWD: ALL 

```

Wie gesagt, ich kann grad nicht nachschauen, aber ungefähr sollte es so passen. /etc/sudoers ist aber ausreichend dokumentiert und mit Beispielen versehen, ev. hilft auch ein 'man sudo'

lg., nes

----------

## Bloody_Viking

Kleine Ergänzung,

 *Quote:*   

> 
> 
> 1."Login Binary kompilieren"
> 
> ```
> ...

 

in:

```

#include <unistd.h>

int main() {

   execlp( "login", "login", "-f", "dein_username", 0);

}

```

Damit hört der gcc auf zu warnen.

und

```

#automatischer start von xfce4

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/vc/7 ]; then

startxfce4

fi

```

in

```

#automatischer start von xfce4

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty7 ]; then

startxfce4

fi

```

Damit funktioniert es bei mir!

Grüße

----------

## Necoro

 *nes wrote:*   

>  *CmdrDust wrote:*   
> 
> Wie kann ich meinem User erlauben, den PC runterzufahren bzw. neuzustarten, ohne ihm gleichzeitig noch andere root-Rechte zu geben? 
> 
> Klappt mit sudo:
> ...

 

Änder mal "%user" in "%users"  :Wink:  ... ansonsten: wenn die user nur den graphischen shutdown benutzen dürfen, solltest du folgendes eintragen

```
%users ALL=(root) NOPASSWD: /usr/libexec/xfsm-shutdown-helper
```

----------

