• [^] # Re: un bout de reponse ?

    Posté par . En réponse au message Vue globale sur la couche graphique d'ubuntu 12.04. Évalué à 0.

    Je vais faire une réponse globale et préciser ma question

    Appli Gnome -> GTK/Glib -> compiz ->Xlib -> Pilote video -> carte video
    G…. est ton ami, si tu veux quelque chose de global, fais une recherche sur "pile graphique linux"

    Je ne cherche pas à descendre du serveur X vers le pilote vidéo jusqu'au niveau du noyau, google est assez bien documenté sur le sujet, ni même les définitions des différentes briques graphiques comme Unity ou lightdm, qui sont elles aussi bien documentées.
    Ce qui m’intéresse c'est leur interactions lors de l'initialisation et du fonctionnement de la couche graphique. Le choix des briques liées à la couche graphique et leur assemblage est un choix particulier à chaque distributions dans sa version par défaut. Je cherche plus particulièrement des infos sur les choix d'Ubuntu en version 12.04, mais ceux d'autres distributions dans leur environnement graphique par défaut, m’intéressent aussi.

    Pour être plus clair, j'ai lancé une Ubuntu 12.04 assez proche de la configuration de base, une fois en mode graphique, une fois en mode texte (équivalent à l'ancienne init 3). Dans les deux cas j'ai fait un ps -efH.

    J'affiche ici un ps -efH ne montrant que les processus supplémentaires lorsqu'on lance la couche graphique.

    UID PID PPID C STIME TTY TIME CMD
    root 1255 1 0 10:55 ? 00:00:00 lightdm
    root 1304 1255 1 10:55 tty7 00:00:02 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
    root 1650 1255 0 10:56 ? 00:00:00 lightdm --session-child 12 19
    roger 1809 1650 0 10:56 ? 00:00:00 gnome-session --session=ubuntu
    roger 1844 1809 0 10:56 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
    roger 1858 1809 0 10:56 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
    roger 1885 1858 0 10:56 ? 00:00:00 syndaemon -i 2.0 -K -R -t
    roger 1876 1809 2 10:56 ? 00:00:03 compiz
    roger 1945 1876 0 10:56 ? 00:00:00 /bin/sh -c /usr/bin/compiz-decorator
    roger 1946 1945 0 10:56 ? 00:00:00 /usr/bin/gtk-window-decorator
    roger 1893 1809 0 10:56 ? 00:00:00 bluetooth-applet
    roger 1894 1809 0 10:56 ? 00:00:00 nautilus -n
    roger 1897 1809 0 10:56 ? 00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    roger 1898 1809 0 10:56 ? 00:00:00 nm-applet
    roger 1900 1809 0 10:56 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
    roger 2046 1809 0 10:56 ? 00:00:00 /usr/lib/gnome-disk-utility/gdu-notification-daemon
    roger 2119 1809 0 10:56 ? 00:00:00 telepathy-indicator
    roger 2144 1809 0 10:56 ? 00:00:00 gnome-screensaver
    roger 2173 1809 0 10:57 ? 00:00:00 update-notifier
    root 1329 1 0 10:56 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
    root 1459 1 0 10:56 ? 00:00:00 /usr/lib/upower/upowerd
    rtkit 1685 1 0 10:56 ? 00:00:00 /usr/lib/rtkit/rtkit-daemon
    colord 1696 1 0 10:56 ? 00:00:00 /usr/lib/x86_64-linux-gnu/colord/colord
    roger 1798 1 0 10:56 ? 00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
    roger 1847 1 0 10:56 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
    roger 1848 1 0 10:56 ? 00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
    roger 1866 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfsd
    roger 1868 1 0 10:56 ? 00:00:00 /usr/lib/gvfs//gvfs-fuse-daemon -f /home/roger/.gvfs
    roger 1884 1 0 10:56 ? 00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
    roger 1890 1 0 10:56 ? 00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
    roger 1927 1890 0 10:56 ? 00:00:00 /usr/lib/pulseaudio/pulse/gconf-helper
    roger 1892 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfsd-metadata
    roger 1910 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
    root 1912 1 0 10:56 ? 00:00:00 /usr/lib/udisks/udisks-daemon
    root 1913 1912 0 10:56 ? 00:00:00 udisks-daemon: not polling any devices
    roger 1917 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor
    roger 1920 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
    roger 1929 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.6 /org/gtk/gvfs/exec_spaw/0
    roger 1932 1 0 10:56 ? 00:00:00 /usr/lib/gvfs/gvfsd-burn --spawner :1.6 /org/gtk/gvfs/exec_spaw/1
    roger 1937 1 0 10:56 ? 00:00:00 /usr/lib/bamf/bamfdaemon
    roger 1948 1 0 10:56 ? 00:00:00 /usr/lib/unity/unity-panel-service
    roger 1950 1 0 10:56 ? 00:00:00 /usr/lib/indicator-appmenu/hud-service
    roger 1962 1 0 10:56 ? 00:00:00 /usr/lib/indicator-printers/indicator-printers-service
    roger 1964 1 0 10:56 ? 00:00:00 /usr/lib/indicator-session/indicator-session-service
    roger 1967 1 0 10:56 ? 00:00:00 /usr/lib/indicator-sound/indicator-sound-service
    roger 1968 1 0 10:56 ? 00:00:00 /usr/lib/indicator-application/indicator-application-service
    roger 1974 1 0 10:56 ? 00:00:00 /usr/lib/indicator-messages/indicator-messages-service
    roger 1975 1 0 10:56 ? 00:00:00 /usr/lib/indicator-datetime/indicator-datetime-service
    roger 2010 1 0 10:56 ? 00:00:00 /usr/lib/geoclue/geoclue-master
    roger 2015 1 0 10:56 ? 00:00:00 /usr/lib/ubuntu-geoip/ubuntu-geoip-provider
    roger 2048 1 0 10:56 ? 00:00:00 /usr/lib/unity-lens-applications/unity-applications-daemon
    roger 2050 1 0 10:56 ? 00:00:00 /usr/lib/unity-lens-files/unity-files-daemon
    roger 2052 1 0 10:56 ? 00:00:00 /usr/lib/unity-lens-music/unity-music-daemon
    roger 2054 1 0 10:56 ? 00:00:00 /usr/bin/python /usr/lib/unity-lens-video/unity-lens-video
    roger 2078 1 0 10:56 ? 00:00:00 /usr/bin/zeitgeist-daemon
    roger 2091 1 0 10:56 ? 00:00:00 /usr/lib/zeitgeist/zeitgeist-fts
    roger 2095 2091 0 10:56 ? 00:00:00 /bin/cat
    roger 2093 1 0 10:56 ? 00:00:00 zeitgeist-datahub
    roger 2110 1 0 10:56 ? 00:00:00 /usr/lib/unity-lens-music/unity-musicstore-daemon
    roger 2121 1 0 10:56 ? 00:00:00 /usr/bin/python /usr/lib/unity-scope-video-remote/unity-scope-video-remote
    roger 2125 1 0 10:56 ? 00:00:00 /usr/lib/telepathy/mission-control-5
    roger 2130 1 0 10:56 ? 00:00:00 /usr/lib/gnome-online-accounts/goa-daemon
    root 2192 1 4 10:57 ? 00:00:02 /usr/bin/python /usr/sbin/aptd
    
    

    On voit que Lightdm lance le serveur X, puis forke pour lancer Unity, compiz et quelques applets qui vont se positionner dans l'application indicator (bluetooth-applet, nm-applet, telepathy-indicator, update-notifier). Il ouvre également le gestionnaire de fichier nautilus, le démon de notification SMART, l'économiseur d'écran, l'agent d’élévation de privilèges (polkit) et l'automonteur de gnome je suppose (gnome-fallback-mount-helper).

    Néanmoins il reste un paquet de services dans la liste qui sont démarrés par init, uniquement en mode graphique. Ils ne dépendent ni d'Unity, ni de Lightdm mais doivent interagir avec eux. Ce que je cherche c'est des infos* qui décrivent les interactions de ces services avec un environnement de bureau, à quoi servent-ils et les alternatives choisies par d'autres distributions. Un ou des schémas explicatifs en plus serait formidable.

    • Qui peuvent être des liens, mais aussi des bouquins (en vrai papier) ou des présentations (en vidéo ou en live) donc pas forcement que des url.