Un gestionnaire de connexion, ça sert à quoi ? normalement, à saisir son mot de passe, choisir son environnement (quand on en a plusieurs)...
et du coup, si on a qu'un environnement, qu'on est seul à utiliser la machine, et qu'on a activé l'autologin, on a un gestionnaire de connexion qu'on ne voit jamais, qui ne sert à rien
le mieux serait de s'en passer, ça ferait un service en moins qui tourne en tâche de fond...
ce qu'on va apprendre à faire maintenant peut être dissocié, c'est à dire que l'on va réaliser 3 actions différentes, qui toutes ensembles font démarrer l'ordinateur jusqu'au bureau sans demander le mot de passe, mais on peut n'en utiliser que certaines pour des buts particuliers.
1)Se faire un ~/.xinitrc qui peut lancer un environnement
Ce point permet d'utiliser la commande "startx" sans passer d'argument: l'environnement choisi sera lancé par l'utilisateur...
le meilleur point de départ, c'est de récupérer une copie de celui fourni avec le système:
cp /etc/X11/xinit/xinitrc ~/.xinitrc
dans notre nouveau ~/.xinitrc (caché) on ne va pas toucher au contenu existant (certaines choses sont utiles), on va juste désactiver ce qui ne nous sert pas, et mettre la commande pour notre environnement:
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
# ici on désactive le lancement du gestionnaire de fenêtre de Xorg
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
# et on lance NOTRE environnement
exec startxfce4
il y a plusieurs écoles sur un point, certains disent qu'il doit être exécutable, d'autres non; dans le doute:
chmod u+x ~/.xinitrc
ici, on a mis Xfce, mais on peut démarrer d'autres environnements; pour trouver la ligne de commande adéquate, il suffit de regarder le fichier *.desktop correspondant à la session qu'on veut lancer dans /usr/share/xsessions, à la ligne "Exec=".
ça c'est fait, quand on lancera "startx", ça démarrera notre environnement...
2)Faire en sorte que "startx" soit lancé automatiquement au login de l'utilisateur
si on arrive sur un terminal après le boot, on saisit son login, son mot de passe, et après il faut lancer la commande "startx" pour obtenir l'environnement graphique; ici, on fera en sorte que ce soit automatique dès que le mot de passe a été entré...
il faut éditer le fichier ~/.bash_profile (s'il n'existe pas, copier celui de /etc/skel ) et s'assurer d'avoir ceci dedans:
sauvegarder, c'est tout: "startx" sera automatique quand l'user se connectera...
3)Autologin dans le TTY1 de l'utilisateur
Ici, on fait en sorte que l'utilisateur désigné soit connecté automatiquement à la fin du boot, sans demande de mot de passe, et sur le TTY1 (celui qui fera tourner Xorg).
ça se fait en modifiant le service getty@tty1, au moyen des outils fournis avec Systemd; la modification est placée dans /etc/systemd/system/getty@tty1.service.d et donc pas modifiée par les mises à jour.
Edit 2021
Systemd a évolué et cette commande ne crée plus le fichier . On peux toutefois le créer manuellement avec :
[Obsolète]sudo systemctl edit getty@tty1.service[/Obsolète] ceci ouvre un nouveau fichier avec votre éditeur (Nano par défaut) dans lequel il faut mettre ceci:
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin username --noclear %I 38400 linux
il faut bien sûr remplacer "username" par le vrai nom de l'utilisateur.
il peut arriver que DBus ne se lance pas assez vite, et on se retrouve avec certains daemon de la session (comme Thunar sous Xfce) qui tournent sans lui, avec pour résultat, un problème de permissions (sur les clés USB par exemple). on peut donc s'arranger pour que la session ne démarre qu'une fois DBus lancé, en mettant ceci (à la place du code précédent):
et c'est tout...
à ce stade, on peut désactiver le gestionnaire de connexion utilisé, par exemple pour Lightdm
sudo systemctl disable lightdm.service
ou si Plymouth est utilisé
sudo systemctl disable lightdm-plymouth.service
(au passage, je pense qu'il serait utile de supprimer Plymouth aussi pour gagner de la vitesse).
et on redémarre...
si tout est OK, on pourra désinstaller le gestionnaire de connexion; en cas de pépin, on peut réactiver en remplaçant "disable" par "enable" dans la commande.
NB: on avait déjà un tuto pour ça dans le forum, mais il est trop succin et l'accent n'est pas mis sur le fait que les 3 points sont utilisables séparément; et ce présent tuto est à jour.
Asus AIO - AMD E2 - Radeon HD 7340 - Manjaro 64 + Kf5 + Linux 3.14
Intéressant ton truc, j'ai tentée la première modif, de xinitrc, mais ça marche pas, je me retrouve toujours avec l'écran de connexion! J'ai fais les modifs sur mon portable pour pas risquer de refoutre ma tour en l'air! Distrib installée 0.8.13 kde5
Tour - Manjaro KDE stable - CPU Core 2 quad Q8300 Ram 8 Go
Nv GT116 (GeF GTX550Ti) - 1 SSD 120 Go+2 HD Sata 500 Go
Portable Acer Aspire 7720Z Ram 2Go SSD64Go+DD 250Go Q4Os KDE
c'est parce que tu n'as pas lu les explications entières; à la première partie, la création de ~/.xinitrc, il y a écrit ça:
Ce point permet d'utiliser la commande "startx" sans passer d'argument: l'environnement choisi sera lancé par l'utilisateur...
concrètement le point 1 sert juste à avoir le bon environnement quand tu fais la commande "startx". si tu veux tester que cette partie fonctionne, il faut: -te déconnecter de ton environnement, tu arrives donc à la fenêtre de login -passer sur un autre TTY avec la combinaison de touche Ctrl-Alt-F2 -te connecter sur ce TTY (ton login et ton MDP) -désactiver temporairement le gestionnaire de login (si j'en juge par ta signature, tu as Kde5, donc c'est Sddm)
sudo systemctl stop sddm.service
comme je l'ai dit, c'est temporaire, et si quelque chose ne va pas, au reboot tout sera normal. -à ce moment là, tu reviens sur le TTY1 (Ctrl-Alt-F1) et tu verras qu'il n'y a plus ton gestionnaire de login ----> tu peux donc te logguer en texte (comme tu l'as fait sur le TTY2), et essayer la commande:
startx
si ton environnement de bureau se lance normalement, c'est tout bon, tu peux rebooter et passer à l'étape suivante
attention, pour ton ~/.xinitrc, comme tu es sous Kde, il faut remplacer
exec startxfce4
par
exec startkde
chaque étape peut être testée séparément; par exemple, quand tu auras fini l'étape 2, tu pourras tester de la même façon que pour l'étape 1, mais là, tu te rendras compte que ton environnement se lance sans que tu aies à taper "startx", dès que tu as fini de saisir ton MDP l'étape 3 quand à elle sera testée en désactivant ton gestionnaire de connexion
sudo systemctl disable sddm.service
et tu redémarres...
si pour une raison ou une autre, tu t'aperçois au redémarrage que ça ne marche pas, n'oublie pas que les deux premières étapes étaient fonctionnelles, donc même sans gestionnaire de connexion, le simple fait de te logguer en texte sur le TTY1 lancera ton environnement, te permettant de faire le nécessaire pour revenir en arrière. dans ce cas, il suffit de supprimer le répertoire /etc/systemd/system/getty@tty1.service.d/ et le fichier override.conf qui est dedans:
Tour - Manjaro KDE stable - CPU Core 2 quad Q8300 Ram 8 Go
Nv GT116 (GeF GTX550Ti) - 1 SSD 120 Go+2 HD Sata 500 Go
Portable Acer Aspire 7720Z Ram 2Go SSD64Go+DD 250Go Q4Os KDE
je me suis dit que quand on a plusieurs environnements de bureau, ma solution pose un problème: il faut modifier le ~/.xinitrc à chaque fois qu'on veut changer d'environnement...
donc j'ai cherché une solution, et j'en suis arrivé à faire un petit menu sur mesure; la modification du tuto concerne uniquement le point 1 (le ~/.xinitrc).
d'abord, il faut installer Zenity si ce n'est pas déjà fait:
sudo pacman -S zenity
(on se sert de Zenity, et pas Dialog, parce que quand on lance startx, on passe en graphique, et que Dialog obligerait à ouvrir un terminal en plus)
puis la modif du ~/.xinitrc est simple, on remplace ce qu'il y avait à la ligne "exec..."
exec startxfce4
par ce bout de code:
CHOICE=$(zenity --title "Choix de l'environnement" --entry --text="Choisissez le bureau" \ --timeout=8 \ --entry-text="Xfce" Openbox Budgie TTY)
on enregistre et on quitte, et on peut tester tout de suite...
dans cet exemple, j'ai Xfce, Openbox, et Budgie; au lancement de Xorg, une petite fenêtre avec un menu déroulant s'affichera: il suffira de sélectionner l'environnement voulu et de cliquer sur OK. l'option "--entry-text="Xfce" permet d'avoir un choix par défaut (ici "Xfce") et combiné avec l'option "--timeout=8", ça signifie que si on ne touche à rien, ce choix par défaut sera lancé au bout de 8 secondes. le quatrième choix "TTY" permet de résoudre un problème de l'autologin: il était impossible de ne pas lancer un environnement et de rester en TTY1; ce choix rend la chose possible.
je vais remettre le code avec des couleurs pour qu'on voit bien ce qu'il faut modifier et comment pour mettre les environnements de son choix:
CHOICE=$(zenity --title "Choix de l'environnement" --entry --text="Choisissez le bureau" \ --timeout=8 \ --entry-text="Xfce" OpenboxBudgieTTY)
comme ça, on voit bien que si on modifie "Xfce" dans la commande avec Zenity, il faut modifier à l'identique dans le "case". et bien sûr, les commandes "exec...." pour chaque environnement sont à adapter pour votre environnement. si vous avez un doute, n'hésitez pas à demander comment faire dans votre cas précis...
NB: ça, je l'ai trouvé nulle part, c'est de mon cru, et je suis assez nul en bash, donc si quelqu'un voit quelque chose qui cloche, qu'il me le dise, je corrigerai; chez moi ça fonctionne très bien, mais possible que ce soit moche, ou qu'il manque un "exit" quelque part...
Asus AIO - AMD E2 - Radeon HD 7340 - Manjaro 64 + Kf5 + Linux 3.14
je me suis permis de le modifier un peu et de le mettre sur aur pour pouvoir le tester plus facilement
1) l'installer
yaourt plus-dm
il copie juste un fichier dans /etc/X11/xinit/, ne casse rien c'est sans danger
mettre ces 3(4) lignes dans ~/.xinitrc a la place du lanceur du bureau
#exec gnome-session-cinnamon (startkde ...) #export DESKTOP_SESSION='Cinnamon' # permet de forcer sans menu un bureau source /etc/X11/xinit/plus-dm.sh default_session='TTY' dm_timer=8 runDM
2) Usage démarrage en mode texte Avec systemd, si comme moi on n'a pas suivit le tuto de Loubrix:
systemctl set-default -f multi-user.target
ps: bien noter "graphical.target" a la place de multi-user.target pour un retour en arrière avec un login normal dans un gestionnaire de connection
La commande startx lancera le menu graphique pour choisir le bureau
Le dernier choix de bureau sera enregistré automatiquement (dans le fichier ~/.xinitrc)
3) Configuration optionnelle Pour une configuration manuelle: créer un fichier ~/plus-dm.menu.conf et l'éditer. Ce fichier permet d'avoir une liste personnalisée avec plus ou moins de choix et des commandes différentes.
Salut. En voyant ta capture, j'en profite pour faire un petit HS. C'en est ou Budgie?
Manjaro KDE 5 Stable
CM: ASRock Z97 PRO4
CPU: Intel Core i7-4790K @ 8x 4.4GHz
GPU: GeForce GTX 1050 Ti
RAM: 16 Go Installation sur SDD-M2 Crucial MX300 avec données sur HDD WD 1 To
ça reste utilisable et sans bug majeur, mais bien qu'ayant un peu évolué, ça reste maigre en possibilité de configuration. les points intéressants sont sa légèreté et le fait que bien que basé sur Gnome ça puisse tourner sans aucun élément Gnome; c'est donc adapté à la cohabitation avec d'autres environnements puisqu'on peut utiliser les éléments de ceux-ci.
Asus AIO - AMD E2 - Radeon HD 7340 - Manjaro 64 + Kf5 + Linux 3.14
j'ai eu quelques problèmes de permissions sur les clés et disques USB, et je me suis rendu compte que DBus ne démarrait pas assez vite, et n'était pas lancé quand le daemon Thunar démarrait. j'ai donc édité le tuto pour ajouter la solution (étape 3).
Asus AIO - AMD E2 - Radeon HD 7340 - Manjaro 64 + Kf5 + Linux 3.14
Peut-on conserver l'activation automatique du pavé numérique?
Ps: J'ai fait votre manip' sur un ultra-portable et cela fonctionne trés bien, et c'est pour cela que j'aimerais le faire sur ma machine principale, qui, elle, possède un pavé numérique activé par défaut grâce a numlockx et a la ligne 'greeter-setup-script =/usr/bin/numlockx on' dans lightdm.conf.
comme tu ne passes plus par lightdm, tu peux lancer Numlockx avec ton environnement de bureau; si c'est Xfce, tu vas dans "session et démarrage", "démarrage automatique d'applications", là tu fais "ajouter", et tu remplis la petite fenêtre: -Nom = numlockx -Description = verrouillage du pavé numérique -commande = numlockx on (inutile de mettre le chemin complet, ça marche sans ça)
Asus AIO - AMD E2 - Radeon HD 7340 - Manjaro 64 + Kf5 + Linux 3.14
Bonjour, J'ai Manjaro avec Xfce et j'ai testé la ligne "greeter-setup-script =/usr/bin/numlockx on" dans lightdm.conf mais visiblement, j'aurais pas du le faire comme ça car mon PC ne ne veut plus accéder à l'écran de connexion utilisateur au démarrage. Il est bloqué sur un écran noir avec un curseur blanc en haut à gauche qui clignote. Y'a un moyen de corriger le tir mis à part une réinstallation...
Bon, je te conseillerais dans un premier temps derebooter en console depuis Grub ou de passer en chroot depuis un autre système Linux, idéalement une Live de Manjaro. En console, tu te connecte en root, puis
nano /etc/lightdm/lightdm.conf
En navigant avec les flèches , tu modifie la ligne en remettant l'originale, puis Ctrl+x pour sortir du mode d'édition, "O" pour enregistrer. Normalement, tu n'aurais pas a avoir du modifier ce fichier, puisque le but est de ce passer de DM.... As tu bien relu ce tuto???
Noyau récent MANJARO x86_64 bits: 64 Xfce 4.16
ASUSTeK model: PRIME B350M-A v: Rev X.0x
6-Core: AMD Ryzen 5 2600X
AMD Baffin [Radeon RX 460/560D / Pro
driver: amdgpu v: kernel
Display: x11 server: X.Org driver: amdgpu,ati unloaded: modesetting
OpenGL: renderer: Radeon RX 560 Series
Arch en Dual. Aucun lien publicitaire ne saurait être toléré dans la signature!