Ma session XFCE ne se lance pas

Bonjour,

J’ai une Debian avec un bureau Cinnamon depuis un petit moment, que je voudrais faire cohabiter avec un bureau XFCE (je voudrais pouvoir avoir le choix entre les deux au démarrage). J’ai donc fait une installation minimale :

apt-get install xfce4

Tout s’installe bien, lightdm me propose XFCE au démarrage, mais impossible de la lancer : quand je la sélectionne, après avoir mouliné quelques secondes, mon écran affiche à nouveau la page de lightdm, vide.
J’ai cherché sur Internet, nulle trace de quelqu’un ayant le même problème que moi… je ne vois pas du tout où est le problème. Je précise que je suis sous Buster (j’ai fait la mise à niveau cet après-midi), mais j’avais déjà le même problème sous Stretch. À tout hasard, mon fichier /etc/X11/Xsession.d/55xfce4-session donne ceci :

# For Xfce, we add a directory to XDG_DATA_DIRS
# to allow the admin to set, for example, defaults.list properly
BASESTARTUP=$(basename "$STARTUP" | cut -d\  -f1)
if [ "$BASESTARTUP" = x-session-manager ]; then
    BASESTARTUP=$(basename $(readlink /etc/alternatives/x-session-manager))
fi
case "$BASESTARTUP" in
  xfce4-session|startxfce4)
    # We prepend /usr/share/xfce4 since its defaults.list actually points 
    # to /etc so it is configurable.
    if [ -z "$XDG_DATA_DIRS" ]; then
      XDG_DATA_DIRS=/usr/share/xfce4:/usr/local/share/:/usr/share/
    else
      XDG_DATA_DIRS=/usr/share/xfce4:"$XDG_DATA_DIRS"
    fi
    export XDG_DATA_DIRS
    ;;
esac

Quelqu’un aurait une idée ?

Tu dois avoir un log qui donne des détails de ce qui plante.
Je pense que /var/log/Xorg.0.log ne doit contenir que des traces du lancement de X, mais il est possible que tu aies des infos dans ~/.xsession-errors (à vérifier en console juste aprés ta session avortée xfce, parce que si tu rentres en session autre, c’est écrasé).

2 suggestions sinon: il ne manque peut être pas grand chose à xfce pour se lancer, mais comme je ne sais pas quoi, ça vaudrait peut être le coup d’installer task-xfce-desktop, quitte à désinstaller ensuite les trucs inutiles ?

Autre suggestion: changer de greeter pour voir si ça passe mieux avec autre chose que lightdm, genre xdm.

Bonjour,

Lightdm fonctionne avec systemd ou systemctl, c’est loin d’être clair pour moi.

Une page vers arch (si c’est permis) qui pourrait peut-être te donner la direction à suivre.

(Et si vers ubuntu c’est permi :blush:)RTFM
B’bye

Généralement, quand cela m’arrive, c’est que j’ai une partition pleine.
Restitue nous le résultat de df -h, stp !?

Merci pour vos retours ! Je ne réponds que maintenant, mais du coup je réponds à tout le monde :

@PengouinPdt
df -h donne ceci :

Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               1,9G       0  1,9G   0% /dev
tmpfs              387M     11M  376M   3% /run
/dev/sda2           24G     11G   13G  46% /
tmpfs              1,9G     28M  1,9G   2% /dev/shm
tmpfs              5,0M    4,0K  5,0M   1% /run/lock
tmpfs              1,9G       0  1,9G   0% /sys/fs/cgroup
/dev/sda4          7,7G    1,2G  6,1G  17% /var
/dev/sda5           12G    3,5G  7,9G  31% /opt
/dev/sda1          500M    5,2M  494M   2% /boot/efi
/dev/sda6          184G    123G   62G  67% /home
/dev/sda7          183G    104G   70G  60% /home/antoine/data
tmpfs              387M     36K  387M   1% /run/user/1000

Ce n’est clairement pas un problème de place.

@mattotop et @pam547
Ça ne vient pas de lightdm, j’ai essayé d’installer XDM et même de lancer startx en ligne de commande après avoir modifié le fichier ~/.xinitrc, rien à faire. Et task-xfce-desktop installe effectivement plein de paquets, qui ne résolvent en rien le problème.

Voilà le fichier .xsession-errors :

Xsession: X session started for antoine at samedi 28 septembre 2019, 13:35:54 (UTC+0200)
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting DISPLAY=:0
dbus-update-activation-environment: setting XAUTHORITY=/home/antoine/.Xauthority
localuser:antoine being added to access control list
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting USER=antoine
dbus-update-activation-environment: setting XDG_SESSION_TYPE=x11
dbus-update-activation-environment: setting HOME=/home/antoine
dbus-update-activation-environment: setting DESKTOP_SESSION=xfce
dbus-update-activation-environment: setting XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: setting LOGNAME=antoine
dbus-update-activation-environment: setting XDG_SESSION_CLASS=user
dbus-update-activation-environment: setting PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
dbus-update-activation-environment: setting GDM_LANG=fr_FR.utf8
dbus-update-activation-environment: setting XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/1000
dbus-update-activation-environment: setting DISPLAY=:0
dbus-update-activation-environment: setting LANG=fr_FR.UTF-8
dbus-update-activation-environment: setting XDG_CURRENT_DESKTOP=XFCE
dbus-update-activation-environment: setting XDG_SESSION_DESKTOP=xfce
dbus-update-activation-environment: setting XAUTHORITY=/home/antoine/.Xauthority
dbus-update-activation-environment: setting XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/antoine
dbus-update-activation-environment: setting SHELL=/bin/bash
dbus-update-activation-environment: setting GDMSESSION=xfce
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
dbus-update-activation-environment: setting PWD=/home/antoine
dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/xfce4:/usr/local/share/:/usr/share/
/usr/bin/startxfce4: X server already running on display :0
xfce4-session: error while loading shared libraries: libxfce4util.so.7: cannot open shared object file: No such file or directory

Ça viendrait donc de libxfce4util7, mais il est déjà installé sur ma Debian…

As tu essayé de le réinstaller ?
apt-get install --reinstall libxfce4util7

oui…

que donne
whereis libxfce4util.so.7

root@arch:/# whereis libxfce4util.so.7
libxfce4util.so: /usr/lib/x86_64-linux-gnu/libxfce4util.so.7

La séquence de démarrage d’une session xfce est assez complexe à suivre.
Toujours est-il que sur une stretch avec un XFCE fonctionnel , le fichier .xsession-errors est pratiquement identique à celui que vous avez

dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/xfce4:/usr/local/share/:/usr/share/
/usr/bin/startxfce4: X server already running on display :0

** (xfce4-session:2664): CRITICAL **: polkit_unix_process_set_property: assertion 'val != -1' failed
xfce4-session-Message: SSH authentication agent is already running

et la suite.
J’ai l’habitude, avant de lancer la session graphique de basculer pat Alt Ctrl F2 dans une console. Je m’identifie en console et comme j’ai installé keychain je dois taper la phrase de passe pour charger les clés SSH dans ssh-agent ce qui explique le message.

Pour en revenir à votre problème, /usr/bin/startxfce4 est un script shell, vous pouvez le visualiser et constater qu’à la fin comme un serveur X est déjà lancé c’est un script xinitrc (par exemple /etc/xdg/xfce4/xinitrc) qui est lancé par un exec $prog …xinitrc
Le fil d’exécution passe donc dans un script xinitrc qui lui lance le binaire /usr/bin/xfce4-session Avec plus d’une douzaine de variables d’environnement XDG_* et un labyrinthe de scripts qui s"enchaînent, c’est un peu pénible à suivre.
La commande

ldd -v /usr/bin/xfce4-session | less

devrait vous donner une sortie de 512 lignes sans erreur, enfin c’est ce que j’ai sur une Debian 9.11

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Un ordinateur c’est comme un frigo : on le branche et ça marche. »
Laurent Serano Directeur informatique, réunion Délégués du Personnel 2010

Re, est ce qu’elle est correctement installée cette librairie ?

Chez moi :

find /usr/share/ -name *libxfce4util*
/usr/share/doc/libxfce4util-common
/usr/share/doc/libxfce4util7
/usr/share/doc/libxfce4util-bin
/usr/share/locale/en_GB/LC_MESSAGES/libxfce4util.mo
/usr/share/locale/bg/LC_MESSAGES/libxfce4util.mo
/usr/share/locale/zh_TW/LC_MESSAGES/libxfce4util.mo
/usr/share/locale/gl/LC_MESSAGES/libxfce4util.mo
/usr/share/locale/sk/LC_MESSAGES/libxfce4util.mo
/usr/share/locale/ur/LC_MESSAGES/libxfce4util.mo
[...]
/usr/share/locale/ur_PK/LC_MESSAGES/libxfce4util.mo

C’est utiliser un marteau pilon pour écraser une mouche.
Pour avoir le nom du paquet associé à un chemin particulier, j’utilise in_pkg /path/to/file
Si en plus je veux afficher la documentation du paquet, je tape doc_file /path/to/file
et pour une commande doc_cmd commande
Fonctions shell, à mettre par exemple dans .bashrc

in_pkg() {
    dpkg-query --search $1 | tr ':' '\t' | cut -f 1
}
doc_file()
{
    pkg=$(in_pkg $1)
    debmany $pkg
}
# attention aux alternatives
doc_cmd () 
{ 
    pth=$(readlink -f $(which $1))
    doc_file $pth
}
fp2@debpacha:~$ in_pkg $(which debmany)
debian-goodies
fp2@debpacha:~$ 
fp2@debpacha:~$ in_pkg /usr/lib/x86_64-linux-gnu/libxfce4util.so.7
libxfce4util7
fp2@debpacha:~$ doc_file  /usr/lib/x86_64-linux-gnu/libxfce4util.so.7
fp2@debpacha:~$ 

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

les paquets desktop-base et xorg sont ils installés?

Toutes mes excuses pour ce délai extrêmement long de réponse (qui ne vous est certes pas dommageable, mais je sais que du coup, ceux qui m’aident perdent de vue mon problème…), même si mon côté cinéphile apprécie la mention “28 JOURS PLUS TARD” qui s’affiche avant mon message…

Bref, sur les conseils de @littlejohn75, j’ai appelé la commande

et j’ai tiqué sur une ligne :

libxfconf-0-2 était déjà installée, je l’ai réinstallée, et il y a une évolution : déjà, l’appel de cette dernière commande n’annonce plus “not found”, et si la session xfce ne se lance toujours pas, j’ai un message d’erreur un peu plus explicite quand j’essaye de démarrer :
Photo0155
Par ailleurs, @pam547, l’appel du marteau-pilon donne :

find /usr/share/ -name *libxfce4util*`
/usr/share/doc/libxfce4util7`

(@anonyme2, les paquets desktop-base et xorg sont bien installés, oui.)

Edit : Après ça, le fichier .xsession-errors ne donnait rien de probant :

xfce4-session-Message: 20:23:00.955: SSH authentication agent is already running
gpg-agent[1474]: Attention : « --write-env-file » est une option obsolète — non 
prise en compte
gpg-agent: une instance de gpg-agent fonctionne déjà —
pas de démarrage d'une nouvelle instance

(xfce4-session:1469): xfce4-session-WARNING **: 20:23:00.968: gpg-agent returned
 no PID in the variables

(xfce4-session:1469): xfce4-session-WARNING **: 20:23:00.994: xfsm_manager_load_
session: Something wrong with /home/antoine/.cache/sessions/xfce4-session-debian
:0, Does it exist? Permissions issue?

Du coup j’ai cherché le souci avec xfconf, que j’ai réinstallé, vu une erreur avec libxfconf quand je tentais de lancer xfquery -l, j’ai réinstallé libxfconf, et… maintenant, ça marche.

Merci beaucoup pour votre aide :slight_smile: