LXSession

De LXDE.org
Aller à : navigation, rechercher
LXSession
Fenêtre de l'éditeur de LXSession
Fenêtre de l'éditeur de LXSession
Développeurs L'équipe LXDE
Dernière version 0.5.3 (sortie le 10 décembre 2016)
Type Gestionnaire de sessions
Licence GNU General Public License
Site web lxde.org (en anglais)

LXSession est le gestionnaire de sessions utilisé par LXDE. LXSession est utilisé pour démarrer automatiquement un ensemble d'applications et mettre en place un bureau fonctionnel. Il est en plus capable de se souvenir des applications restées ouvertes lors d'une déconnexion et de les redémarrer automatiquement à la connexion suivante. Il est indépendant du bureau et peut être utilisé avec n'importe quel gestionnaire de fenêtres.

Note :
Certaines options ne sont diponibles qu'à partir de la version 0.4.9.


Options de compilation

  • --enable-man : génère les pages de manuel ;
  • --enable-more-warnings : permet plus d'avertissements de compilation lors de la compilation ;
  • --enable-gtk : compile avec GTK3 lorsque le composant est compatible (incomplet) ;
  • --enable-buildin-clipboard : ajoute le support intégré de fonctionnalités de presse-papier en utilisant GTK2 ;
  • --enable-buildin-polkit : ajoute le support intégré d'un agent de polkit (basé sur GTK) ;
  • --enable-debug : permet plus de débogage ;
  • --enable-gtk : permet l'utilisation de programmes GTK+ et la compilation. Utiliser --disable-gtk pour compiler sans aucun composant GTK+ (utile si on veut LXSession dans un environnement Qt).

Options d'exécution

  • --session ou -s : spécifie le nom de session (utilisé pour la configuration, les réglages, les fichiers de journalisation, etc.) ; par défaut, LXDE ;
  • --de ou -e : spécifie le nom d'environnement de bureau à utiliser pour les fichiers de bureau (tels que LXDE, GNOME ou Xfce) ;
  • --reload ou -r : recharge les configurations (pour le démon de Xsettings) ;
  • --noxsettings ou -n : désactive le support du démon de Xsettings ;
  • --noautostart ou -a : désactive le démarrage automatique d'applications (en mode gestionnaire de fenêtres seulement) ;
  • --compatibility ou -c : spécifie un mode de compatibilité pour les réglages (supporté uniquement par razor-qt).

Fichiers de configuration

Les fichiers de configuration sont conservés dans ~/.config/lxsession/<Nom du profil>.

Si ces fichiers sont manquants, LXSession utilise, à leur place, les fichiers de configuration « système » depuis /etc/xdg/lxsession/<nom du profil>.

Note :
Si l'argument -session n'a pas été utilisé par la ligne de commande lxsession, le nom du profil par défaut est LXDE.


Interface Dbus

Tous les réglages sont disponibles via Dbus, en utilisant l'interface Dbus org.lxde.SessionManager /org/lxde/SessionManager org.lxde.SessionManager.

Il y a plusieurs groupes de méthodes reflétant les groupes du fichier de clés. Tous les réglages ont deux clés (clé 1 et clé 2). La première (niveau 1) est la principale. La seconde (niveau 2) est liée à la première et peut être vide, suivant les réglages. Par exemple, composite_manager/command est le réglage qui contient le nom de l'exécutable pour lancer le gestionnaire d'affichage. composite_manager/autostart est celui de gestion du démarrage automatique de composite_manager.

Pour récupérer tous les réglages, il faut utiliser la méthode ***Support qui récupère la liste des options disponibles. Pour obtenir les détails des réglages de niveau 2 disponibles pour un réglage de niveau 1, il faut utiliser la méthode ***SupportDetail.

Types disponibles pour des méthodes :

  • Session ;
  • Dbus ;
  • Environment ;
  • Keymap ;
  • Proxy ;
  • Security ;
  • State ;
  • Updates ;
  • XRandr ;
  • Xsettings ;
  • a11y.

Méthodes disponibles pour tout type (remplacer *** par le type voulu [comme Session, Dbus, etc.]) :

  • ***Get (key1, key2) : récupère le réglage pour clé 1 / clé 2 ;
  • ***Set (key1, key2, value_to_set) : sauvegarde le réglage pour clé 1 / clé 2 ;
  • ***Support () : liste toutes les options disponibles ;
  • ***SupportDetail (lvl1) : liste toutes les options de niveau 2 pour un réglage de niveau 1 ;
  • ***Activate () : lance l'option (disponible pour tout type de méthode hormis Session).

Méthodes spéciales : SessionLaunch (commande) : lance l'application (commande est le réglage de la clé 1 de l'application à lancer).

Méthodes de gestionnaire de sessions :

  • CanShutdown ;
  • Logout ;
  • RequestReboot ;
  • RequestShutdown ;
  • Shutdown ;
  • ReloadSettingsDaemon.

Options et réglages

Toutes les options sont disponibles dans le fichier desktop.conf.example suivant : http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxsession;a=blob;f=data/desktop.conf.example;hb=HEAD.

Fichiers de configuration personnalisés

On peut utiliser des fichiers de configuration personnalisés pour certaines applications. LXSession les copiera automatiquement au bon endroit pour les applications. La configuration de ces fichiers est faite dans des fichiers fichier_de_conf.conf dans /etc/xdg/lxsession/<profile>/ ou bien dans ~/.config/lxsession/<profile>/.

Applications et binaires

  • lxclipboard : application d'activation du support de presse-papier qui utilise GTK ;
  • lxlock : application de verrouillage d'écran qui utilise des applications externes ;
  • lxpolkit : agent polkit ;
  • lxsession-default : application d'appel autour de Dbus pour lancer des applications définies dans les fichiers de configuration de LXSession ;
  • lxsession-default-apps : application de configuration pour LXSession (principalement dédiée au débogage) ;
  • lxsession-edit : ancienne application de configuration pour LXSession ;
  • lxsession-utils : autres outils pour LXSession ;
  • lxsettings-daemon : démon de Xsettings.

Applications démarrées automatiquement en utilisant LXSession

LXSession gère les applications qui sont démarrées à l'identification. C'est géré par plusieurs éléments.

Réglages

On peut activer ou bien désactiver partiellement ou complètement des applications démarrées automatiquement en utilisant les réglages « disable_autostart » avec différentes valeurs :

  • all : désactive toutes les applications (spécifier home et system dans ce fichier de configuration) ;
  • config-only : désactive des applications home et system (démarre uniquement celles du fichier de configuration desktop.conf) ;
  • no : démarre automatiquement toutes les applications.

Utiliser « all » et « config-only » désactivera les applications démarrées automatiquement avec les deux méthodes ci-dessous.

Fichier de configuration autostart

Ce fichier garde les commandes qui seront exécutées au début de la session.

Ce n'est pas un script shell mais chaque ligne représente une commande différente à exécuter.

Si une ligne commence avec un arobase, la commande le suivant sera automatiquement ré-exécutée si elle plante.

Les lignes commençant par un dièse sont des commentaires.

Les commande exécutées globalement sont gardées dans le fichier /etc/xdg/lxsession/<profile>/autostart. De plus, d'autres commandes peuvent être spécifiées localement dans le fichier ~/.config/lxsession/<profile>/autostart. Si les deux fichiers sont présents, seules les entrées du fichier local seront exécutées.

La façon exacte dont les fichiers autostart sont examinés avec le version 0.4.9.2 de LXSession est données dans le code suivant dans autostart.vala :

while ((line = dis.read_line (null)) != null)
{
    string first = line[0:1];

    switch (first)
    {
        case ("@"):
            var builder = new StringBuilder ();
            builder.append(line);
            builder.erase(0,1);
            string[] command = builder.str.split_set(" ",0);
            AppType app = { command[0], command, true, "" };
            app_list.add (app);
            break;
        case ("#"):
            /* Commenté, passer */
            break;
        default:
            string[] command = line.split_set(" ",0);
            AppType app = { command[0], command, false, "" };
            app_list.add (app);
            break;
    }
 }

Notez que les lignes sont séparées par des caractères d'espace mais qu'aucune forme d'échappement ou de commentaire n'est prise en charge. Les commandes multi-lignes ne le sont pas non plus. Donc, si vous avez besoin, par exemple, d'une commande avec une espace dans un de ses arguments, placez-la dans un script shell et appelez-le depuis le fichier autosart.

Répertoires autostart

LXSession supporte les spécifications d'autostart (en anglais) de freedesktop.org (en anglais). En plaçant des fichiers *.desktop de ces applications dans ~/.config/autostart/, elles seront exécutées au démarrage de la session.

Note :
IMPORTANT ! Certaines applications de GNOME ont la clé « OnlyShowIn=GNOME » dans leurs fichiers *.desktop. Cette clé signifie « ne charger cette application que dans GNOME » et empêche le chargement de l'application dans d'autres environnements de bureau. En fait, la plupart de ces applications peuvent fonctionner correctement avec d'autres bureaux ; mais elles revendiquent de n'être que pour GNOME.


Si vous ne parvenez pas à faire démarrer une application automatiquement et que vous avez déjà un fichier *.desktop pour elle dans le répertoire autostart, il faut alors vérifier le réglage de la clé « OnlyShowIn ». Il faut essayer de la commenter ou de la retirer.

Si l'application fonctionne toujours bien, ce n'est alors pas spécifique à GNOME -- il faut alors rapporter un bogue pour cette application à son auteur ou empaqueteur. Par exemple, l'appliquette de NetworkManager (nm-applet) a le réglage « OnlyShowIn=Gnome » mais fonctionne correctement dans LXDE. Pour la démarrer automatiquement, il suffit de commenter ou de supprimer « OnlyShowIn=Gnome » dans le fichier ~/.config/autostart/nm-applet.desktop. Si vous utilisez différents environnements de bureau sur différentes sessions et voulez utiliser NetworkManager dans LXDE, Xfce et GNOME mais pas dans KDE, il faut ajouter « OnlyShowIn=Gnome;XFCE;LXDE; » ou bien « NotShowIn=KDE; ».

Ancien LXSession et LXSession Lite (avant la version 0.4.9)

LXSession Lite est un ancien nom de paquet qui n'est plus utilisé. LXSession avait pour ojectif de supporter la gestion de sessions X11. Mais l'implémentation était boguée et rarement utilisée. À la version 0.4.4, il n'y avait toujours pas de support de la gestion de sessions X11.

Une version lègère, nommée LXSession Lite, débarrassée de la gestion de sessions X a été dévelopée en parallèle. Elle existe toujours dans les dépôts pour d'anciennes distributions. Dans ces cas, c'est un remplaçant acceptable à LXSession. LXSession Lite a été renommé LXSession à partir de la version 0.3.8.

Fichiers de configuration principaux utilisés par LXSession Lite

autostart

Ce fichier conserve les commandes qui devront être lancées avec la session.

Ce n'est pas un script shell, mais chaque ligne représente une commande différente à éxécuter.

Si une ligne commence avec un arobase, la commande suivant l'arobase sera automatiquement réexécutée si elle plante.

config

Ce fichier maintient quelques options de configuration.

Fichiers de configuration principaux utilisés par LXSession (désuet)

default

Paramètres par défaut.

Dans les versions futures, LXSession utilisera les mêmes fichiers que LXSession Lite.

Lancer automatiquement des applications à la connexion

LXSession comme LXSession Lite supportent les spécifications de démarrage automatique (en anglais) de freedesktop.org (en anglais). Mettez vos fichiers *.desktop de ces applications dans ~/.config/autostart et elles seront lancées au démarrage de session.

Note :
IMPORTANT ! Certaines applications de GNOME ont la clé « OnlyShowIn=GNOME » dans leurs fichiers *.desktop. Cette clé signifie « ne charger cette application que dans GNOME » et empêche le chargement de l'application dans d'autres environnements de bureau. En fait, la plupart de ces applications peuvent fonctionner correctement avec d'autres bureaux ; mais elles revendiquent de n'être que pour GNOME.


Si vous ne parvenez pas à faire démarrer une application automatiquement et que vous avez déjà un fichier *.desktop pour elle dans le répertoire autostart, il faut alors vérifier le réglage de la clé « OnlyShowIn ». Il faut essayer de la commenter ou de la retirer.

Si l'application fonctionne toujours bien, ce n'est alors pas spécifique à GNOME -- il faut alors rapporter un bogue pour cette application à son auteur ou empaqueteur. Par exemple, l'appliquette de NetworkManager (nm-applet) a le réglage « OnlyShowIn=Gnome » mais fonctionne correctement dans LXDE. Pour la démarrer automatiquement, il suffit de commenter ou de supprimer « OnlyShowIn=Gnome » dans le fichier ~/.config/autostart/nm-applet.desktop. Si vous utilisez différents environnements de bureau sur différentes sessions et voulez utiliser NetworkManager dans LXDE, Xfce et GNOME mais pas dans KDE, il faut ajouter « OnlyShowIn=Gnome;XFCE;LXDE; » ou bien « NotShowIn=KDE; ».

Déconnexion

Pour vous déconnecter, vous pouvez entrer la commande lxsession-logout. Ceci ouvrira une fenêtre vous proposant le choix entre extinction, redémarrage, changement de session, etc.