« Trucs:Se logguer automatiquement sous X » : différence entre les versions
(Comment connecter automatiquement un utilisateur au démarrage ?) |
Aucun résumé des modifications |
||
(12 versions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Trucs X Window]] | |||
= Comment connecter automatiquement un utilisateur au démarrage ? = | = Comment connecter automatiquement un utilisateur au démarrage ? = | ||
<div class="leatitre">Comment connecter automatiquement un utilisateur au démarrage ? | <div class="leatitre">Comment connecter automatiquement un utilisateur au démarrage ?</div> | ||
Comme ça peut être agréable de se retrouver directement devant son bureau après le démarrage de son ordinateur, sans avoir besoin de rentrer un quelconque mot de passe ! Il est possible d'obtenir ce résultat sous Linux en configurant un gestionnaire de démarrage comme GDM | Comme ça peut être agréable de se retrouver directement devant son bureau après le démarrage de son ordinateur, sans avoir besoin de rentrer un quelconque mot de passe ! Il est possible d'obtenir ce résultat sous Linux en configurant un gestionnaire de démarrage comme KDM, GDM ou WDM mais c'est une méthode "lourde" qui ralentit le démarrage. Il existe une autre méthode, c'est celle qui est décrite dans cette fiche ... | ||
'''REMARQUE : Pour la suite, X désigne le login de l'utilisateur à connecter et ~ son répertoire personnel.''' | '''REMARQUE : Pour la suite, X désigne le login de l'utilisateur à connecter et ~ son répertoire personnel.''' | ||
== | == Prérequis == | ||
* Une installation qui fonctionne | * Une installation qui fonctionne | ||
* GCC | * GCC | ||
== | == Un peu de code == | ||
Pour commencer, nous allons devoir compiler un petit programme en C. Pas d'inquiétude, tout est détaillé ! | Pour commencer, nous allons devoir compiler un petit programme en C. Pas d'inquiétude, tout est détaillé ! | ||
Commencez par ouvrir un éditeur de texte et collez le code suivant (en n'oubliant pas de remplacer X par le nom de l'utilisateur à connecter) : | Commencez par ouvrir un éditeur de texte et collez le code suivant (en n'oubliant pas de remplacer X par le nom de l'utilisateur à connecter) : | ||
<code>int main() {execlp("login","login","-f","X",0);}</code> | <code>int main() | ||
{execlp("login","login","-f","X",0);}</code> | |||
Sauvegardez dans un dossier sous le nom log_X.c et, dans ce même dossier, ouvrez un terminal avec les droits de root et | Sauvegardez dans un dossier sous le nom log_X.c et, dans ce même dossier, ouvrez un terminal avec les droits de root et tapez : | ||
<code>gcc -o log_X log_X.c</code> | <code>gcc -o log_X log_X.c | ||
mv ./log_X /usr/sbin/ | |||
chown root /usr/sbin/log_X | |||
chmod a+x /usr/sbin/log_X</code>. | |||
== Lancer log_X au démarrage == | |||
<code> | Ouvrez, toujours en root, le fichier <code>/etc/inittab</code> et cherchez, dans la session <code>#TERMINALS</code>, une ligne du type : | ||
<code> | : <code>c1:2345:respawn:/sbin/agetty 38400 tty1 linux </code> '''(1)''' | ||
puis remplacez-la par : | puis remplacez-la par : | ||
: <code>c1:2345:respawn:/sbin/agetty -n -l /usr/sbin/log_X 38400 tty1 linux </code> '''(2)''' | |||
(Pour cette étape, on peut observer des différences selon les distributions. Si votre ligne n'est pas exactement '''(1)''', ne faites pas un copier-coller de '''(2)''', ajoutez simplement au bon endroit | (Pour cette étape, on peut observer des différences selon les distributions. Si votre ligne n'est pas exactement '''(1)''', ne faites pas un copier-coller de '''(2)''', ajoutez simplement au bon endroit <code>-n -l /usr/sbin/log_X</code>.) | ||
== | == Démarrer l'environnement graphique == | ||
Si vous voulez uniquement vous connecter en mode texte, restez-en là, mais ce n'est probablement pas votre cas. | Si vous voulez uniquement vous connecter en mode texte, restez-en là, mais ce n'est probablement pas votre cas. | ||
<code> | Redémarrez l'ordinateur. Vous devriez vous retrouver connecté avec votre utilisateur dans une console. Tapez <code>echo $(tty)</code> et notez le résultat, de la forme ''/dev/tty1''. | ||
Ouvrez le fichier ~/.bashrc et collez ces lignes au début, en remplaçant ''/dev/tty1'' par la ligne obtenue : | |||
<code>if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ] ; then | |||
startx | |||
fi</code> | |||
<code>if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ] ; then | |||
Ensuite, pour que vous soyez connecté sur votre environnement de bureau préféré, ajoutez la ligne suivante au fichier ~/.xinitrc : | Ensuite, pour que vous soyez connecté sur votre environnement de bureau préféré, ajoutez la ligne suivante au fichier ~/.xinitrc : | ||
<code>exec Z</code> | <code>exec Z</code> | ||
où Z est ''fluxbox'' (ou ''startfluxbox'') si vous utilisez Fluxbox, ''startgnome'' pour Gnome, ''startkde'' pour KDE, etc ... | où Z est ''fluxbox'' (ou ''startfluxbox'') si vous utilisez Fluxbox, ''startgnome'' pour Gnome, ''startkde'' pour KDE, etc ... | ||
Ligne 69 : | Ligne 61 : | ||
Redémarrez, ça devrait marcher maintenant ! | Redémarrez, ça devrait marcher maintenant ! | ||
== | == Avertissement == | ||
Bien que cette méthode soit pratique et rapide, elle n'est pas très bonne d'un point de vue sécurité et ne devrait en aucun cas être utilisée sur un ordinateur accessible physiquement à des personnes en qui vous n'avez pas confiance ou se trouvant sur un réseau local important. | Bien que cette méthode soit pratique et rapide, elle n'est pas très bonne d'un point de vue sécurité et ne devrait en aucun cas être utilisée sur un ordinateur accessible physiquement à des personnes en qui vous n'avez pas confiance ou se trouvant sur un réseau local important. | ||
{{Copy|10/2005|[[Utilisateur:AlSim]]|CC-BY-SA}} |
Dernière version du 30 mars 2011 à 15:54
Comment connecter automatiquement un utilisateur au démarrage ?
Comme ça peut être agréable de se retrouver directement devant son bureau après le démarrage de son ordinateur, sans avoir besoin de rentrer un quelconque mot de passe ! Il est possible d'obtenir ce résultat sous Linux en configurant un gestionnaire de démarrage comme KDM, GDM ou WDM mais c'est une méthode "lourde" qui ralentit le démarrage. Il existe une autre méthode, c'est celle qui est décrite dans cette fiche ...
REMARQUE : Pour la suite, X désigne le login de l'utilisateur à connecter et ~ son répertoire personnel.
Prérequis
- Une installation qui fonctionne
- GCC
Un peu de code
Pour commencer, nous allons devoir compiler un petit programme en C. Pas d'inquiétude, tout est détaillé ! Commencez par ouvrir un éditeur de texte et collez le code suivant (en n'oubliant pas de remplacer X par le nom de l'utilisateur à connecter) :
int main()
{execlp("login","login","-f","X",0);}
Sauvegardez dans un dossier sous le nom log_X.c et, dans ce même dossier, ouvrez un terminal avec les droits de root et tapez :
gcc -o log_X log_X.c
mv ./log_X /usr/sbin/
chown root /usr/sbin/log_X
chmod a+x /usr/sbin/log_X
.
Lancer log_X au démarrage
Ouvrez, toujours en root, le fichier /etc/inittab
et cherchez, dans la session #TERMINALS
, une ligne du type :
c1:2345:respawn:/sbin/agetty 38400 tty1 linux
(1)
puis remplacez-la par :
c1:2345:respawn:/sbin/agetty -n -l /usr/sbin/log_X 38400 tty1 linux
(2)
(Pour cette étape, on peut observer des différences selon les distributions. Si votre ligne n'est pas exactement (1), ne faites pas un copier-coller de (2), ajoutez simplement au bon endroit -n -l /usr/sbin/log_X
.)
Démarrer l'environnement graphique
Si vous voulez uniquement vous connecter en mode texte, restez-en là, mais ce n'est probablement pas votre cas.
Redémarrez l'ordinateur. Vous devriez vous retrouver connecté avec votre utilisateur dans une console. Tapez echo $(tty)
et notez le résultat, de la forme /dev/tty1.
Ouvrez le fichier ~/.bashrc et collez ces lignes au début, en remplaçant /dev/tty1 par la ligne obtenue :
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ] ; then
startx
fi
Ensuite, pour que vous soyez connecté sur votre environnement de bureau préféré, ajoutez la ligne suivante au fichier ~/.xinitrc :
exec Z
où Z est fluxbox (ou startfluxbox) si vous utilisez Fluxbox, startgnome pour Gnome, startkde pour KDE, etc ...
Redémarrez, ça devrait marcher maintenant !
Avertissement
Bien que cette méthode soit pratique et rapide, elle n'est pas très bonne d'un point de vue sécurité et ne devrait en aucun cas être utilisée sur un ordinateur accessible physiquement à des personnes en qui vous n'avez pas confiance ou se trouvant sur un réseau local important.
Copyright
© 10/2005 Utilisateur:AlSim
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |