Traduction du post original de melodie dans « tips and tricks ».
J'ai fait ce qui suit dans une machine virtuelle sous Virtualbox avec Bento2 installé et à jour.
Tout d'abord, j'ai enlevé
lightdm avec ses fichiers de config, puis j'ai retiré tous les paquets plymouth sans casser le système. Les paquets Plymouth enlevés sont :
* plymouth-label
* plymouth-theme-solar
* plymouth-theme-text
* plymouth-theme-ubuntu-text
mais pas
libplymouth2 et plymouth, car en essayant de le faire, il est évident que ça casserait le système.
J'ai du modifié grub2 pour démarrer en init 3. Pour cela, j'ai édité /etc/default/grub. Pour commencer, j'ai fait une copie de sauvegarde du fichier :
$ cd /etc/default
$ sudo -s
# cp grub grub-BACKUP
Puis j'ai cherché ces deux lignes :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
et je les ai changé pour :
GRUB_CMDLINE_LINUX_DEFAULT=
GRUB_CMDLINE_LINUX="3"
puis toujours en tant que root :
# update-grub
Cela a mis à jour le fichier de config /boot/grub.cfg (il est aussi possible d'éditer grub.cfg mais je trouve que /etc/default/grub est moins brouillon, et donc plus facile d'emploi).
Puis quelque chose sera requis pour qu'obsession fonctionne correctement, c'est à dire permettre les fonctions telles que « éteindre », « redémarrer », « mettre en veille », « mettre en hibernation », « fermer la session », et « mettre en veille ». C'est un fichier de config pour polkit. Sinon nous aurons juste « fermer la session », et « annuler », ce qui semble un peu maigre.
Voici un fichier de config adapté à notre but, que vous pouvez appeler « 55-myconfig.pkla » ; changez son propriétaire pour root:root, et changez ses droits avec 644 en permissions et copiez le dans
/etc/polkit-1/localauthority/50-local.dVoici un code pour autoriser le premier utilisateur à éteindre et redémarrer, même si une autre session est en cours :
[Storage Permissions]
Identity=unix-group:sudo
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown;org.freedesktop.udisks.filesystem-unmount-others
ResultAny=yes
ResultActive=yes
ResultInactive=no
[Redemarrage kinik root]
Identity=unix-group:sudo
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.restart-multiple-users
ResultAny=yes
ResultActive=yes
ResultInactive=no
[UPowser suspend hibernate]
Identity=unix-group:sudo
Action=org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=yes
ResultActive=yes
ResultInactive=no
Si vous voulez que le système refuse le redémarrage et l'extinction quand d'autres sessions d'utilisateurs sont ouvertes, dans ce cas retirez ces lignes :
org.freedesktop.consolekit.system.stop-multiple-users and
org.freedesktop.consolekit.system.restart-multiple-usersMaintenant on peut se connecter depuis un tty. Si on veut se faciliter la tâche, on peut installer nodm. Nous sommes toujours root dans la console, et on part du principe qu'on a déjà fait « apt-get update » en tant que root au moins une fois, donc on tape :
# apt-get install nodm
ce qui retourne :
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
nodm
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/31,5 ko dans les archives.
Après cette opération, 123 ko d'espace disque supplémentaires seront utilisés.
Préconfiguration des paquets...
Sélection du paquet nodm précédemment désélectionné.
(Lecture de la base de données... 114560 fichiers et répertoires déjà installés.)
Dépaquetage de nodm (à partir de .../nodm_0.11-1.1ubuntu1_i386.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Traitement des actions différées (« triggers ») pour « ureadahead »...
ureadahead will be reprofiled on next reboot
Paramétrage de nodm (0.11-1.1ubuntu1) ...
update-rc.d: warning: nodm stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (none)
* Not starting nodm because NODM_ENABLED is 'false' in /etc/default/nodm
Donc on va éditer /etc/default/nodm et changer la ligne :
NODM_ENABLED=false
pour :
NODM_ENABLED=true
et aussi celle-là:
# User to autologin for
NODM_USER=root
pour notre login, car nous ne voulons pas nous connecter en root sous X :
NODM_USER=melodie
Déconnectez, démarrer le processus nodm depuis un tty avec "sudo service nodm start", aller sur le bureau. Pour maintenant tout marche bien.
Voyons ce qui se passe après.
On clique « Quittez » dans le menu openbox, on voit qu'on a les options, et on redémarre.
Ça marche ! nodm nous a mené au bureau. Redémarrer et éteignez encore, démarrer de nouveau, nodm nous ramène au bureau, session après session.
Ceci a fini par fonctionner après une suite d'essais et d'erreurs à différentes étapes. J'ai eu de l'aide en chemin, de la part de caymus et coyotus que je remercie tous deux.