démarrer XFCE très rapidement

si vous n’utilisez qu’un seul environnement graphique, plus besoin de s’encombrer avec un gestionnaire de connexion,
-gain en mémoire et en vitesse de connexion
-ne plus taper son login pour accéder à son bureau après lancement

supprimer xdm, slim ou gdm
editer le fichier .bashrc de votre répertoire utilisateur et ajouter

if [ “$(tty)” = “/dev/tty1” -o “$(tty)” = “/dev/vc/1” ];
then startxfce4
fi

apt-get install build-essential

créez un fichier nommé autologin.c et copiez ce code

int main()
{
execlp( “login”, “login”, “-f”, “nom-d’utilisateur”, 0);
}

remplacez “nom-d’utilisateur” en laissant les guillemets
ensuite cette commande:
$ gcc -o autologin autologin.c

ignorez les messages:
autologin.c: In function ?main?:
autologin.c:3: warning: incompatible implicit declaration of built-in function ?execlp?

rendez le exécutable
$ chmod +x autologin

copiez le dans:

cp autologin /usr/local/sbin/

nano /etc/inittab

commentez la ligne 1:2345:respawn:/sbin/getty 38400 tty1
et ajouter celle ci:
1:2345:respawn:/sbin/getty -n -l /usr/local/sbin/autologin 38400 tty1

et voilà xfce démarres rapidement et automatiquement sans besoin de faire un login ni startx.

sources: attac92clamart.free.fr/autre/deb … corpio.txt

Et tu fais comment le jour où ton serveur X ne démarre plus pour faire un login sur la console, vu que ce n’est plus possible ?

Edit : non rien, tu ne fais que remplacer le tty1 en fait, pas les autres. Au temps pour moi, ça m’apprendra à réfléchir avant d’écrire.

Je préfère nettement la méthode mingetty

apt-get install mingetty

dans le fichier /etc/inittab

1:2345:respawn:/sbin/mingetty --autologin limax tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

edit: Mon .bash_profile

if [[ -z $DISPLAY && $(tty)=="/dev/tty1" && -z $SSH_CONNECTION ]]
then
	startxfce4
fi

Un peu plus propre :

[code]#include<unistd.h>

int main()
{
execlp( “login”, “login”, “-f”, “nom-d’utilisateur”, 0);
return 0;
}[/code]
Et je propose d’utiliser cette commande pour compiler :

Il n’y a pas besoin de le rendre exécutable, gcc le fait déjà.
Par contre je pense que le rendre exécutable uniquement pour root serait pas mal :

chown root:root autologin chmod 550 autologin mv autologine /usr/local/sbin

Mais je me dis autant faire ça en perl ce sera plus simple (rien de plus à installer) :

[code]#!/usr/bin/perl

use strict;

my $user = ‘mon utilisateur’;

exec 'login -f '.$user;
die ‘Erreur de connexion’;[/code]
Ça ne pose pas de problème de sécurité supplémentaire si tu le met bien en 550 comme droit et que l’utilisateur et le groupe du fichier sont bien root.

int main(void)Serait encore un peu plus propre :slightly_smiling:

Sinon, l’executable d’autologin pourrait tout aussi bien être en shell (/bin/sh) non ?

C’est un débat entre les partisans de la norme ISO et ceux de K&R.

Oui mais j’aime le perl plus que le shell donc…

C’est un débat entre les partisans de la norme ISO et ceux de K&R.[/quote]

Je l’ignorais :slightly_smiling:

Oui mais j’aime le perl plus que le shell donc…[/quote]
C’était pour être sûr, car je ne voyais pas l’utilité de compiler du C juste pour ça, le temps gagné sur le lancement d’un interpréteur ne doit pas être perceptible.

En tout cas je garde ce fil en marque-page, il me sera utile.

oui c’est vrai, mais des trucs s’ajoutant aux autres font finalement qu’on y gagne quand même.
en fait je cherchais à ne plus taper mon login comme on peut le faire sous gnome et j’ai trouvé ça.

je savais qu’en postant cette astuce ici, j’aurais l’avis de spécialistes pour l’améliorer.

La proposition de limax me semble la meilleure.