Comment installer et configurer Openbox?

Attention, bien que présent dans les dépôts, le développement du logiciel n'est plus actif depuis février 2010.

Openbox est un gestionnaire de fenêtres extrêmement rapide, souple et agréable. Cette interface graphique minimale est cohérente à plus d'un titre. Très légère, elle se suffit à elle-même et permet également d'accélérer considérablement la réactivité de Gnome lorsqu'elle remplace Metacity. Elle n'a pas de tableau de bord par défaut, mais il est possible d'accéder aux fenêtres avec le raccourci alt+tab, ou en ajoutant un tableau de bord personnalisé comme tint2:-) Openbox est un outil puissant qui n‘a de limite que l‘imagination de l‘utilisateur !

Openbox seul ou en gestionnaire de fenêtres pour Gnome est idéal pour ceux qui possèdent de vieux ordinateurs tout en souhaitant utiliser Gnome, ou pour ceux qui souhaitent une configuration minimale, afin de conserver au mieux la batterie de leur portable cela peut aller jusqu'à 1h30 de batterie supplémentaire. Après le test de plusieurs gestionnaires de fenêtres, tels que Fluxbox, Blackbox, il semble que Openbox soit un des moins gourmands et qui offre des fonctionnalités étendues, grâce auxquelles de nombreux choix de configuration sont possibles. Certains aimeront sa sur-légèreté, d'autres moins. Mais une chose est sûre, si vous cherchez la rapidité, vous êtes à la bonne porte !

Il existe aussi des variantes d'Ubuntu qui utilisent Openbox par défaut :

  • Bee, basé sur Ubuntu ou Debian, léger et rapide !
  • Cubuntu, Très complet avec 100% d'Ubuntu + le Bureau LXDE OPENBOX + Gnome et Cinnamon,
  • Obuntu, via un script d'installation,
  • U-lite, avec l'environnement LXDE, basé sur Openbox.
  • Bunsenlabs (anciennement CrunchBang) est cette fois ci un dérivé direct de Debian (comme Ubuntu). Ceci dit elle dispose d'un bureau Openbox vraiment bien fini ! Site en anglais, mais possibilité de mettre le système en français bien sûr.
2.jpg
Captures d'écran d'Openbox

Avantages

  • Requiert peu de ressources (un bureau configuré avec Openbox peut n'utiliser que 80 Mo de RAM seulement, lorsqu'aucune application n'est lancée),
  • Peu de dépendances,
  • Le menu principal au clic-droit sur le bureau,
  • Défilement des bureaux avec la molette de la souris,
  • Des comportements de fenêtres/bureaux, des raccourcis clavier et souris personnalisables via un unique fichier XML,
  • Gestion possible de l'écran tactile,
  • De nombreux thèmes,
  • Support de Xinerama pour la sortie en bi-écran,
  • Et avant tout, la rapidité !

Inconvénients

  • Minimaliste, ce que certains apprécieront, d'autres non…
  • Par défaut, ne gère pas le lissage des polices, ni dans le système ni dans les applications telles que les navigateurs internet. Cependant, une solution est reportée à la section Activer le lissage des polices de la présente page.
  • Cela peut prendre un peu de temps et de remue-méninge à tout configurer (d'où l'utilité de cette doc).
  • Ne supporte pas nativement certaines fonctions, comme la gestion du fond d'écran ou du tableau de bord. Cependant, toutes ces fonctions peuvent très simplement être accessibles avec d'autres petits programmes légers.

L'interface d'Openbox est minimaliste et basée principalement sur les raccourcis clavier et secondairement sur la souris. Elle offre les fonctions nécessaires pour interagir avec l'ordinateur :

  • clic droit sur le fond de bureau : menu des applications installées, et liste des bureaux,
  • clic molette sur le fond de bureau : fait apparaître un tableau de bord / barre de tâche flottant,
  • faire rouler la molette sur le fond de bureau : changement de bureau.

Pour rendre en permanence accessible le clic sur le bureau, il suffit de définir dans les paramètres une marge d'1 px tout autour de l'écran. Cette marge est invisible, mais elle garantie que même en plein écran le pointeur souris, s'il est collé au bord de l'écran, sera sur le fonds de bureau.

Grâce à ces fonctions, Openbox peut donc se passer de tableau de bord, même si on peut bien sûr en ajouter un (lxpanel, tint2,…).

Pour commencer, il suffit d'installer les paquets openbox,obconf,obmenu. Pour démarrer Openbox seul, choisissez « Openbox » depuis le menu « session » de LightDM. Pour l'utiliser comme gestionnaire de fenêtres sur Gnome, choisissez « GNOME/Openbox » dans le menu session de LightDM. (si cela ne fonctionne pas, voir ici). FIXME: cela ne fonctionne plus avec unity sauf gnome fallback. Pour l'utiliser comme gestionnaire de fenêtres sur KDE, choisissez « KDE/Openbox » dans le menu session de sddm.

Pour obtenir une installation très légère (une centaine de Mo d'utilisation mémoire sans tableau de bord ni fonds d'écran, et un peu plus avec), vous pouvez partir d'une installation minimale d'Ubuntu. Pour ce faire :

1. Utiliser une version minimal CD (la 32 bit est plus légère, pour de petites config). Dans l'écran d’installation "software selection", vous ne définissez aucun bureau (toutes les options restent désélectionnées).

  • Un système "nu" sera installé : pas de logiciel, pas de gestionnaire de connexion, pas d'interface graphique. Vous démarrez donc le système sur un simple prompt, qui ne vous donne accès qu'à la ligne de commande et à une connexion internet.
  • Mettez à jour votre nouvelle installation.

2. Les logiciels minimaux à installer :

  • xinit (pour pouvoir lancer Openbox),
  • pcmanfm (gestionnaire de fichier),
  • Falkon (navigateur web complet, léger et rapide - indispensable sur des config limitées type EEE PC),
  • xterm (terminal) ou encore lx-terminal, pas plus lourd en mémoire, et moins minimaliste.

Une fois installé, vous pourrez désormais démarrer Openbox en tapant startx à l'invite de commande (prompt).

3. Les applications utiles :

  • obconf : configuration de l'apparence d'Openbox ;
  • lxappearance : plus de configurations de l'apparence ;
  • Obmenu : configuration du menu ;
  • leafpad : éditeur de texte ;
  • Xarchiver : gestionnaire d'archives compressées (.zip, .rar, .7z,…) ;
  • Wicd : si vous utilisez le wifi et que vous ne voulez pas paramétrer à la main votre connexion) ;
  • Alsa : pilote son (gstreamer est aussi nécessaire, mais est normalement automatiquement installé comme dépendance par tout lecteur de musique),
  • menu, menu-xdg : gnome-menus, soit 3 paquets pour avoir automatiquement un menu des applications dans Openbox (au clic droit de la souris).
  • Gpicview : une visionneuse d'images extra-légère ;
  • Numlockx : activer le pavé numérique au démarrage (ne pas oublier d'ajouter une ligne numlockx & dans le fichier autostart) ;
  • cups : pour pouvoir imprimer ;
  • XPDF : lecteur de PDF ;

Pour que le son fonctionne, vous devez ajouter votre utilisateur au groupe audio, grâce à cette commande :

sudo adduser $USER audio

S'il n'y a pas de son, entrez dans un terminal la commande:

alsamixer

et vérifiez que les niveaux sonores des canaux qui vous concernent (en général "master", "PCM" et "Front") ne sont pas à "0" ou à "MM". Si c'est le cas pour pouvez modifier le statut "MM" via la touche M du clavier, et le niveau "0" via les touches "flèche haut" et flèche bas" du clavier.

4. Si vous souhaitez avoir une interface plus classique que le menu et le tableau de bord flottant, accessibles via le clic molette sur le bureau, vous pouvez installer un tableau de bord comme tint2.

5. Les configurations de base :

  • Pour démarrer automatiquement Openbox après le mot de passe de connexion : éditez le fichier ~/.bash_profile, ou s'il n'existe pas, ~/.profile mettez à la fin la ligne startx. À défaut, vous pouvez lancer Openbox en tapant startx au prompt, ou en installant un gestionnaire de connexion.
  • Pour que le thème d'icône installé avec Openbox (nuoveXT) soit activé, vous devez le sélectionner (dans lxappearance, onglet "thème d'icônes"). Vous pouvez aussi installer d'autre thèmes d'icônes, par exemple humanity-icon-theme.
  • Pour accéder aux applications que vous avez installées dans votre menu Openbox, utilisez obconf. Ils seront accessibles par clic droit sur le bureau.
  • Si vous n'utilisez pas de papiers peints, vous pouvez changer la couleur gris sombre du fond de bureau comme indiqué ici,
  • Pour activer automatiquement une application au démarrage reportez-vous à ce chapitre.
  • Pour disposer au clic-droit dans Pcmanfm de la possibilité de décompresser une archive, allez dans le menu de pcmanfm ⇒ Éditer / Préférences / onglet "Avancé" / Intégration de l'archiveur / choisir : Xarchiver
  • Pour disposer au clic droit sur le bureau d'une extinction de votre machine, allez dans obmenu, et créez un nouvel Item : "Éteindre", action : execute, commande : telinit 0. Et pour ne pas avoir à entrer votre mot de passe à l’exécution de chaque telinit 0, vous pouvez taper dans un terminal sudo chmod +s /sbin/telinit. Le mot de passe ne vous sera plus jamais demandé (une autre entrée avec telinit 6 redémarre le PC).
  • Vous avez normalement un menu dynamique des applications via le clic droit sur le fond de bureau. Si ce n'est pas le cas, vous avez 2 solutions :
    • La plus simple : Ouvrez dans un terminal obmenu et créer un item "Applications", avec dans le champs "execute" la commande suivante :
      pcmanfm menu://applications/

      PcManFm s'ouvrira sur sa page listant les applications installées.

    • ou éditez le fichier menu.xml et ajoutez la ligne:
      <menu id="xdg-menu" label="Applications" execute="obm-xdg"/>

      Sauvegardez et relancez Openbox (ou "reconfigure" dans menu clic droit). Pour en savoir plus regardez ici.

Openbox possède trois principaux fichiers de configuration :

  • rc.xml, où sont définis les paramètres de comportement d'Openbox et les raccourcis clavier,
  • menu.xml, qui liste ce qui doit apparaître dans le menu principal (clic-droit),
  • autostart, qui détermine les programmes et paramètres à lancer au démarrage.

Ceux-ci prennent place dans le dossier ~/.config/openbox.

Si le dossier ~/.config/openbox n'est pas créé après installation, ou si vous vous êtes complètement emmêlé les pinceaux dans votre configuration, les fichiers de configuration d'origine se trouvent dans /etc/xdg/openbox/. Dans ce cas, entrez les commandes suivantes dans un terminal:

mkdir -p ~/.config/openbox/ # Pour créer le dossier s'il n'existe pas encore
cp /etc/xdg/openbox/* ~/.config/openbox/

devrait tout remettre dans l'ordre.

Paramétrer Openbox : rc.xml

Le fichier ~/.config/openbox/rc.xml est le fichier de configuration qui sert à définir le comportement des fenêtres et des bureaux ainsi que les raccourcis clavier et souris à associer à des comportements ou au lancement d'applications. De plus, il contient les paramètres sur l'esthétique général de l'interface (thème, polices…).

Vous pourrez trouver sur cette page des explications à ce sujet. De plus, un exemple de fichier rc.xml très complet et commenté en français dont vous pourrez vous inspirer pour établir le vôtre est disponibleici.

Il est possible de configurer les comportements d'Openbox via l'interface graphique Obconf, mais pas les raccourcis clavier. Si vous souhaitez gérer graphiquement les raccourcis clavier, installez le paquet lxkeymap.

Les raccourcis

Comme nous venons de le voir, les raccourcis sont configurés dans le fichier rc.xml, vous pouvez le modifier à votre guise, mais le respect de la syntaxe est très important.

Il est possible de configurer des raccourcis pour une multitude d'actions (cf. le wiki officiel). Comme, par exemple, redimensionner les fenêtres, les déplacer, changer de chanson dans votre lecteur de musique… et tout cela au clavier ! C'est ce qui rend Openbox aussi puissant, et particulièrement adapté aux portables/netbooks.

Prenons, comme exemple, le raccourci alt+F2 afin de lancer gmrun, un lanceur d'applications.

Les touches "super", "alt","ctrl","shift", sont désignées respectivement par les lettres majuscules "W","A","C","S". Les touches "Espace", "Echap", "Tabulation" et "Impécr" sont désignées par "space", "Escape", "Tab" et "Print". Les touches de direction "haut", "bas", "gauche", "droite" sont désignées par "Up", "Down", "Left" et "Right"

La syntaxe est la suivante :

 <keybind key="A-F2">
    <action name="Execute">
      <name>Lancer GmRun</name>
      <command>gmrun</command>
    </action>
  </keybind>

Vous pouvez remplacer "A-F2" par le raccourci de votre choix, modifiez le nom et la commande à lancer à la place de gmrun, votre raccourci est configuré !

Pour éviter de lancer plusieurs fois gmrun sous Openbox en appuyant plusieurs fois sur alt+f2:

  • Remplacez le code précédent par le code suivant:
     <keybind key="A-F2">
        <action name="Execute">
          <name>Lancer GmRun</name>
          <command>$HOME/.bin/launcher.sh</command>
        </action>
      </keybind>
  • Ensuite créez le fichier ~/.bin/launcher.sh:
    #!/bin/sh
    # Little trick to get rid of the grep command 
    # https://stackoverflow.com/questions/6437602/shell-script-to-get-the-process-id-on-linux
    # We count how many instances of gmrun are running
    if [ "$(pgrep -c "gm?run")" -eq 0 ]; then
            gmrun
    else
            xdotool search --name "Execute program" windowfocus windowraise
    fi

Utiliser un pseudo comportement de tiling-WM

FIXME, ça veut dire quoi le titre??? Utiliser ces actions dans le rc.xml, permet de redimensionner les fenêtres vers le prochain bord de l'écran, ou de fenêtre : FIXME mettre le fichier sur la page de config?

    <keybind key="W-S-o">
      <action name="SendToTopLayer"/>
    </keybind>
    <keybind key="W-Right">
      <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-Left">
      <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-Down">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-Up">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-S-f">
      <action name="ToggleFullscreen"/>
    </keybind>
    <keybind key="W-S-m">
      <action name="ToggleMaximizeFull"/>
    </keybind>
    <keybind key="W-S-F1">
      <action name="SendToDesktop">
        <desktop>1</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F2">
      <action name="SendToDesktop">
        <desktop>2</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F3">
      <action name="SendToDesktop">
        <desktop>3</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F4">
      <action name="SendToDesktop">
        <desktop>4</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F5">
      <action name="SendToDesktop">
        <desktop>5</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F6">
      <action name="SendToDesktop">
        <desktop>6</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
  • SendToDesktop permet d'envoyer la fenêtre au bureau numéro "n". l'option follow permet de suivre la fenêtre sur ce bureau "n", ou non.
  • ToggleMaximizeFull permet de maximiser une fenêtre, ou de revenir à l'état précédent.
  • ToggleFullscreen permet de passer en plein écran, sans décoration de fenêtre (idem F11 mais avec la barre de menu apparente).
  • GrowToEdge permet d'agrandir la fenêtre, vers le prochain bord (d'écran ou de fenêtre). Lorsqu'elle a déjà rencontré un bord, elle se réduit par le coté opposé.
  • SendToTopLayer met la fenêtre au dessus de toutes les autres. Elle sera ainsi toujours au premier plan.
Toutes les actions sont disponibles sur le wiki officiel d'Openbox

Le fichier autostart

Pour lancer automatiquement des applications au démarrage, il vous faut éditer ou créer le fichier ~/.config/openbox/autostart et le rendre exécutable (chmod +x ~/.config/openbox/autostart). Son contenu pourrait être par exemple:

  • Pour démarrer nitrogen (avec un fonds d'écran), commencez par lancer nitrogen, et choisissez un fonds d'écran. Puis placez à la fin du fichier la ligne :
    nitrogen --restore &
  • Pour tint2, mettez la ligne
    tint2 &

Vous pouvez ajouter tous les programmes ou les scripts que vous voulez dans autostart La seule chose à ne pas oublier, c'est de rajouter un & à la fin de chaque ligne, sinon, le script s'arrête.

Vous pourrez ainsi lancer automatiquement votre fond d'écran, le gestionnaire d'icônes sur le bureau, un tableau de bord, Conky, activer la transparence (avec xcompmgr)…

Astuces : Si Openbox ne mémorise pas le nom des bureaux, ajouter ceci à votre fichier autostart:
xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP &

Pour temporiser l'apparition de conky sans passer par un script, ajouter ceci à votre fichier autostart:

sh -c "sleep 5; conky -c /home/[user]/.conkyrc;" &

Le menu

Le menu principal d'Openbox est disponible en faisant un clic-droit sur le bureau.

Vous pouvez le configurer manuellement ou avec des outils graphiques :

  • manuellement en éditant le fichier ~/.config/openbox/menu.xml. S'il n'est pas présent dans votre dossier personnel copiez-le avec cette commande: cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml. Vous trouverez ici un modèle de fichier de configuration.
  • Graphiquement en lançant l'utilitaire obmenu depuis un terminal ou via le menu Openbox.

Appeler le menu

Appeler le menu openbox par clic droit sur le fonds d'écran :

Normalement, le menu openbox s'appelle par un clic droit sur le fonds d'écran.

Pour que le fonds d'écran reste toujours accessible, vous pouvez créer un espace (invisible) d'un pixel à gauche, en haut et/ou à droite de votre écran, espace qui ne sera jamais couvert par les applications. Reste à forcer la souris sur cet espace, et à faire "clic droit".

Pour configurer cet espace, allez dans Obconf, onglet Marges.

Appeler le menu openbox par une combinaison de touches :

  • Aller dans ~/.config/openbox/rc.xml (si le répertoire et le fichier n'existent pas, copiez les depuis /etc/xdg/openbox).
  • dans rc.xml, en dessous de la ligne <!– Keybindings for running aplications –> on insère :
<keybind key="C-m">
  <action name="ShowMenu">
     <menu>root-menu</menu>
  </action>
</keybind>
  • Puis on "reconfigure" openbox (une fonction du menu, justement).
  • on peut désormais appeler le menu clic-droit par une combinaison de touches, ici ctrl m

Appeler le menu openbox par un bouton dans la barre de tâches tint2 :

  • Si on veut appeler le menu par un bouton tint2, il faut d'abord installer un programme qui s'appelle xdotool (dans les dépôts). Son rôle est de construire des commandes émulant une combinaison de touche.
  • Un fois xdotool installé, reste à introduire un bouton dans la barre tint2,
  • dans la zone "commande du clic gauche" du bouton , on met la commande xdotool key control+m
  • Le bouton cliquable dans la barre lance alors le menu openbox.

openbox-xdgmenu (créer un menu statique)

Normalement, le menu openbox est installé avec openbox. Mais si vous aviez déjà un interface graphique et que vous avez installé Openbox après coup, vous pourrez vous apercevoir que le menu "application" n'est pas généré automatiquement. Vous avez bien un menu "Debian" au clic-droit, mais il renvoie à une liste de programmes par défaut qu'il vous faut redéfinir vous-même. Pour éviter ce travail laborieux, installez le paquet openbox-xdgmenu. Cet utilitaire en ligne de commande permet de récupérer les menus d'Ubuntu et de générer des fichiers xml à insérer dans le fichier ~/.config/openbox/menu.xml.Pour cela:

  • Lancer l'application en entrant cette commande dans un terminal:
openbox-xdgmenu /etc/xdg/menus/gnome-applications.menu       #Pour le menu application de gnome
openbox-xdgmenu /etc/xdg/menus/gnome-flashback-applications.menu   #Pour le menu gnome classique

Adapter le fichier .menu à votre variante d'Ubuntu.

  • Cela vous génère un fichier xml dans le terminal, il vous reste à le copier/coller dans votre ~/.config/openbox/menu.xml ce qui ajoute une entrée "applicaitions" dans le "menu debian".

Pensez si vous ajoutez ou supprimez des applications, à mettre à jour votre menu :

openbox --reconfigure

Créer un menu dynamique

Si vous souhaitez avoir un menu dynamique installez les paquets menu, menu-xdg, gnome-menus. Puis éditez le fichier .config/openbox/menu.xml pour y ajouter ce qui suit:

<menu id="xdg-menu" label="Applications" execute="obm-xdg"/>

juste avant:

*<!-- This requires the presence of the 'menu' package to work -->

FIXME erreur sortie du pipe-menu invalide "obm-xdg"

Pour obtenir des menus Openbox dynamiques, il est possible d'installer openbox-menu présent dans les dépôts à partir de 14.04. Pour Precise il existe un paquet dans un ppa qui se trouve ici. Il est nécessaire d'installer les dépendances libmenu-cache ainsi que lxmenu-data. C'est une application très rapide, qui convient parfaitement à Openbox.

Pour créer les fichiers de configuration, on peut utiliser des fichiers de configuration prêts à l'emploi, et les personnaliser à son goût par la suite : mis à jour régulièrement, et adaptés pour Ubuntu, ils sont disponibles ici. (Il faut afficher les fichiers cachés pour découvrir le contenu du répertoire etc/skel).

Avec LXDE

Pour utiliser Lxde comme menu installez le paquet obmenu s'il n'est pas déjà présent. Le fichier de configuration par défaut est situé dans /usr/share/lxde/openbox/menu.xml ou /usr/share/lubuntu/openbox/menu.xml.

Extrait des modifications à réaliser (lignes avec commentaire) : FIXME passage qui manque de clarté - Ajouter la ligne avec le "execute". (Modifiez le label si vous souhaitez). - Ajouter une entrée dans la section "root-menu" pour préciser où placer le menu dynamique.

...
<menu execute="obm-xdg" id="xdg-menu" label="xdg" /> <!-- Ligne à ajouter pour générer le menu -->
 
<menu id="root-menu" label="LXDE">
  <separator label="LXDE" />
  <menu id="apps-menu" />
  <separator />
  <menu id="xdg-menu" /> <!-- Rajouter l'élément pour indiquer où placer le menu -->
  <separator />
  <menu id="client-list-menu" />
  ...

Regénérer le menu avec :

openbox --reconfigure

Internet, wifi

Pour vous connecter à votre réseau, rien de mieux que wicd. Pour l'utiliser installer les paquets wicd, wicd-client.

Wicd se décompose en 2 parties essentielles : un daemon, et une interface. Le principe consiste à lancer le daemon au démarrage ou avec la session, en mettant ceci dans votre fichier autostart :

wicd &
wicd-client &

Les "cool programs" à faire tourner sous Openbox

Openbox étant très minimaliste pour être le plus léger possible, il peut être utile d'installer quelques programmes supplémentaires afin de "l'habiller". Voici quelques exemples de programmes pratiques et généralement très légers:

La liste originale complète se trouve ici (en). Vous trouverez encore d'autres applications sur le portail communautaire.

Obconf

Obconf est une interface graphique pour la gestion de configuration d'Openbox. On y accède par un clic droit sur le bureau. Si ce n'est déjà fait, installez le paquet obconf et lancez-le avec la commande obconf, ou par le menu d'Openbox. Vous pourrez alors configurer plusieurs options (esthétique et de comportement principalement) :

  • le thème de couleurs (installez le paquet openbox-themes, ou téléchargez le thème que vous voulez sur box-look.org et placez-le dans /usr/share/themes).
  • Les polices des fenêtres et du menu,
  • Le comportement des fenêtres, de la souris, etc,
  • Vous pouvez aussi définir une marge sur l'écran, une zone qui ne sera pas recouverte par les fenêtres, ce qui peut être très pratique pour avoir un accès rapide au menu d'Openbox par un clic-droit, ou laisser apparaître votre Conky,
  • Configuration du dock, pour les applications dockables (dockapps.org),
  • Passer les boutons de fenêtre de droite à gauche : Apparence / Ordre des boutons / taper CIMLN.

Pour s'assurer qu'on aura toujours accès au fond de bureau, même avec des fenêtres maximisées, on peut aller dans l'utilitaire OBconf, et dans l'onglet "Marges", définir une marge de 1 px autour de l'écran (ou sur un bord de l'écran seulement). En poussant la souris jusqu'au bord de l'écran, on peut alors cliquer sur le fond d'écran, même si celui-ci ne se voit pas (1 px !).

Couleur de fond d'écran

  1. Installer le programme hsetroot (sudo apt install hsetroot)
  2. aller dans le fichier ~/.config/openbox/autostart (par défaut le fichier et le répertoire n'existent pas, il faut les créer, et rendre le fichier exécutable par chmod +x autostart).
  3. Ajouter la ligne hsetroot -solid "#C0C0C0" &, où "#C0C0C0" définit un fond gris clair. Vous trouverezici un tableau des couleurs RVB pour choisir d'autres couleurs.

Les papiers peints

Les deux applications les plus adéquates pour gérer le papier peint sous Openbox (du fait de leur légerté) sont Nitrogen et Feh.

Nitrogen

L'une des applications les plus simples et pratiques est nitrogen. Pour cela installez le paquet nitrogen, puis lancez-le depuis un terminal ou par votre lanceur d'application :

nitrogen

L'interface graphique vous permet de choisir les dossiers contenant vos fonds d'écran.

Pour lancer automatiquement nitrogen (et donc retrouver votre fond d'écran) au démarrage, copier-collez ceci dans votre autostart :

nitrogen --restore &

Autres possibilités

  • Utilisez des gestionnaires de fichiers tels que ROX-Filer, PCManFM, pour définir un fond d'écran.
  • Wallpabox. Un paquet est présent ici (l'installer avec gdebi ou dpkg). Ce logiciel utilise la commande fbsetbg (incluse dans le paquet flubox).
  • Utilisez des programmes tels que gnome-appearance-properties, xl-wallpaper, RotateWallpapers, hsetroot. Pour ces derniers, il peut être pratique de les lancer au démarrage.
Il semble que lorsqu'on lance gnome-settings-daemon, ce dernier impose son fond d'écran, c'est pourquoi un "sleep 20" a été rajouté à ce script, pour appliquer le fond d'écran après gnome-settings-daemon. Ou bien décocher la propriété /apps/gnome_settings_daemon/plugins/background.

FIXME pour la note

L'économiseur d'écran

Il est possible de bénéficier d'un écran de veille sous Openbox.

Si vous avez installé Openbox sur Ubuntu classique, vous pouvez vous servir de l'utilitaire fourni pour Gnome : gnome-screensaver. Veillez juste à l'ajouter au démarrage, via le fichier autostart avcec cette ligne:

gnome-screensaver &

Dans le cas ou vous auriez choisi Openbox après une installation minimale, il existe xscreensaver. Pour cela installez le paquet xscreensaver. Lui aussi réclame d'être ajouté au fichier autostart par cette ligne:

xscreensaver -no-splash &

Les icônes sur le bureau

Pour ajouter des icônes sur le bureau, installez le paquet rox-filer, et faites un glisser-déposer sur le bureau des lanceurs qui se trouvent dans /usr/share/applications.
FIXME Ne fonctionne pas pour ce qui est du glisser-déposer de quoi parle-t-on, c'est moi qui ai déduit que c'est à partir du dossier applications ? Pcmanfm peut le faire aussi.;-) Pour cela, il faut ouvrir Pcmanfm, aller dans édition > préférences > onglet bureau > gérer le bureau. FIXME pas d'onglet bureau. Et pour avoir les icônes dès le démarrage, ajoutez ceci au sourcelist FIXME (sourcelist!!! c'est pas autostart??) :

pcmanfm -d

D'autres possibilités sont : idesk ou fbdesk.

Idesk

Pour créer des lanceurs d'application sur votre bureau :

  • Après installation, créez le dossier ~/.idesktop dans votre dossier personnel, par exemple avec la commande suivante:
    mkdir .idesktop
  • Pour pouvoir mettre des icônes sur votre bureau, créez les fichiers .lnk (le l de l'extension est un L pas un I) dans le dossier précédemment créé. Vous avez un modèle avec le fichier defaut.lnk, automatiquement créé au premier lancement de idesk. Voici un exemple de fichier (firefox.lnk) pour créer un lanceur pour firefox:
  table Icon
    Caption: Firefox
    Command: /usr/bin/firefox 
    Icon: /usr/share/pixmaps/firefox.png
    Width: 48
    Height: 48
    X: 1179
    Y: 253
  end

Vous trouverez les applications dans le dossier /usr/bin/ et les icônes dans /usr/share/pixmaps/,

  • Une fois votre lanceur créé, il vous faudra lancer idesk :
    idesk

    . Pensez donc à le rajouter dans le fichier autostart.

Vous pouvez aussi configurer le comportement de vos futures icônes en éditant le fichier *~/.ideskrc.

fbdesk

Installez le paquet fbdesk. Une fois installé, créez le dossier caché ./fluxbox puis dans ce même dossier le fichier fbdesk.icons. Chaque entrée se présente comme suit :

[Desktop Entry]
Name=default
Exec=
Icon=
Pos= 100 100
[end]

Complétez suivant ces instructions :

  • Name : Nom de l'application
  • Exec : le nom de l'exécutable (vous en trouverez dans /usr/bin/)
  • Icon : adresse de l'icône (vous en trouverez dans /usr/share/pixmaps/)
  • Pos : Position en X et Y

Exemple d'un fichier configuré :

[Desktop Entry]
Name=VideoLan
Exec=vlc
Icon=/usr/share/pixmaps/tv.png
Pos= 50 250
[end]

[Desktop Entry]
Name=Firefox
Exec=firefox
Icon=/usr/share/pixmaps/firefox.png
Pos= 50 350
[end]

[Desktop Entry]
Name=Terminal
Exec=gnome-terminal
Icon=/usr/share/pixmaps/term.png
Pos= 50 450
[end]

Ajoutez la ligne "fdbdesk &" à votre fichier autostart.

Comme Fbdesk ne gère pas la taille des icônes, vous pouvez vous retrouver avec une icône de Firefox qui remplit le quart de l'écran ! ;-) Pour remédier à cela vous pouvez chercher des icônes aux bonnes tailles dans /usr/share/pixmaps.

Le tableau de bord

Comme indiqué dans les principes de base de l'interface, un tableau de bord flottant existe dans Openbox via le clic molette sur le fond de bureau. Le raccourci alt+tab existe aussi pour passer d'une application à une autre. Un tableau de bord n'est donc pas vraiment indispensable. Cependant, vous pouvez souhaiter une interface "classique" contenant un tableau.

Voici une liste non exhaustive de programmes à lancer au démarrage servant de tableau de bord :

  • pypanel (configurable en éditant le fichier .pypanelrc dans votre dossier personnel), très léger ;
  • fbpanel (configurable en tapant fbpanel –configure), encore plus léger ;
  • xfce4-panel (tableau de bord de Xfce) ;
  • lx-panel (tableau de bord de lxde) ;
  • adeskbar, complet et esthétique, cette application peut servir de dock, mais aussi de tableau de bord dans sa dernière version (plus d'infos dans ce fil).

Tint2

Tint2 est sans doute le tableau de bord le plus populaire sous Openbox. Tout ce qui concerne ce paquet peut être trouvé ici et sur le wiki du projet (en).

La zone de notification (Systray)

Pour avoir un system-tray, vous pouvez installer stalonetray. Voici un exemple du fichier de configuration à placer dans le fichier ~/.stalonetrayrc :

# vim:filetype=config:tw=80:et
#
# This is sample ~/.stalonetrayrc, resembling default configuration.
# Remember: command line parameters take precedence.
#
# Directives introduced in 0.7.6 are marked with "NEW in 0.7.6"
#
####################################################################
#
# stalonetray understands following directives
#
####################################################################
 
# background <color> # color can be specified as an HTML hex triplet or
                             # as a name from rgb.txt, note that '#' must be quoted
background "#777777"
 
# decorations <decspec> # set trays window decorations; possible values for
                             # decspec are: all, title, border, none
decorations none
 
# display <display name> # as usual
 
# dbg_level <int> # controls the amount of debug info (for this setting to
                             # have effect, stalonetray sources must have been
                             # configured and compiled with --enable-debug)
# dbg_level 0
 
# fuzzy_edges [<level>] # enable fuzzy edges and set fuzziness level. level
                             # can be from 0 (disabled) to 3; this setting works
                             # with tinting and/or transparent and/or pixmap
                             # backgrounds (NEW in 0.7)
fuzzy_edges 0
 
# geometry <geometry> # tray's geometry in standard X notation
# C'est ici que tu changes sa taille, et son emplacement (en partant d'en bas à droite)
geometry 25x25-1258-1
 
# grow_gravity <gravity> # one of N, S, E, W, NW, NE, SW, SE; tray will grow
                             # in the direction opposite to one specified by
               # grow_gravity; if horizontal or vertical
               # direction is not specified, tray will not grow in
               # that direction
grow_gravity W
 
# icon_gravity <gravity> # icon placement gravity, one of NW, NE, SW, SE
icon_gravity NE
 
# icon_size <int> # specifies dimensions of typical icon slot
icon_size 20
 
# ignore_icon_resize [<bool>] # ignore icon attempts to resize their windows
                             # (NEW in 0.7)
ignore_icon_resize true
 
# max_width <int> # specifies maximal tray's width (0 = no limit)
max_width 0
 
# max_height <int> # specifies maximal tray's height (0 = no limit)
max_height 25
 
# no_shrink [<bool>] # disables shrink-back mode (NEW in 0.7)
no_shrink false
 
# parent_bg [<bool>] # whether to use pseudo-transparency
                             # (looks better when reparented into smth like FvwmButtons)
parent_bg true
 
# pixmap_bg <path_to_xpm> # use pixmap from specified xpm file for (tiled) background
# pixmap_bg /home/user/.stalonetraybg.xpm
 
# respect_icon_hints [<bool>] # try to respect icon hints (NEW in 0.7)
respect_icon_hints true
 
# skip_taskbar [<bool>] # hide tray`s window from the taskbar
skip_taskbar true
 
# sticky [<bool>] # make a tray`s window sticky across the
                             # desktops/pages
sticky true
 
# tint_color <color> # set tinting color (NEW in 0.7)
tint_color white
 
# tint_level <level> # set tinting level; level ranges from 0 (disabled)
                             # to 255 (NEW in 0.7)
tint_level 0
 
# transparent [<bool>] # whether to use root-transparency (background
                             # image must be set with Esetroot or compatible utility)
transparent true
 
# vertical [<bool>] # whether to use vertical layout (horisontal layout
                             # is used by default)
vertical false
 
# window_layer <layer> # set the EWMH-compatible window layer; one of:
                             # bootom, normal, top
window_layer normal
 
# window_type <type> # set the EWMH-compatible window type; one of:
                             # dock, normal, toolbar, utility
window_type toolbar
 
# withdrawn [<bool>] # start withdrawn (NEW in 0.7, prior to that
                             # withdrawn mode was default!)
withdrawn false
 
# xsync [<bool>] # whether to operate on X server synchronously (SLOOOOW)
xsync false

Pour avoir la zone de notification dans le dock d'Openbox, lancez-le avec la commande : stalonetray -w , et avec la transparence : stalonetray -t -w (cela évite de devoir écrire tout le .stalonetrayrc, et le dock est très facilement configurable dans obconf) Pour plus d'informations rendez-vous ici(en).

Conky

Conky est un outil pratique et esthétique qui permet d'avoir certaines informations intégrées à votre bureau. Pour plus d'informations sur le paramétrage et les options de Conky se référer à la page de documentation, et pour avoir des exemples de fichier de configuration à ce sujet sur le forum. Une fois ce fichier enregistré et fermé, rajouter Conky au démarrage dans votre fichier autostart :

conky &

Thèmes gtk et Qt, icônes, polices

Lxappearance

Pour gérer les thèmes Gtk, les polices de caractères et les icônes, on peut utiliser lxappearance(en). Pour cela, installez le paquet lxappearance, puis lancez-le :

lxappearance

Cependant, si le daemon d'apparence de gnome est installé sur votre machine, lxappearance ne pourra modifier les réglages effectués via gnome-appearance-properties. Pour redonner la main à lxappearance, vous devez installer le paquet gconf-editor, le lancer et modifier la clé : apps/gnome-settings-daemon/plugin/xsettings et décocher "activé".

Rendu avec les applications Gtk

Dans le cas d'une installation vierge d'Openbox, pour ne pas avoir de problèmes de rendu et d'apparence avec les applications Gtk, vous pouvez :

gtk-font-name = "Zekton 9"
gtk-theme-name = "Crude"
gtk-icon-theme-name = "black-white_2-Style"

FIXME pas de différence mais déjà xubuntu installé.

Thèmes Qt

Pour faire en sorte que les applications Qt (issues du "monde" KDE) suivent le thème Gtk choisi, on peut installer le paquet qt4-qtconfig. Lancez-le via la commande :

qtconfig-qt4

Dans l'onglet "Apparence", liste déroulante "GUI Style", choisir "GTK" et les applications Qt feront leur possible pour copier le style Gtk choisi.

Activer le lissage des polices

Sous Openbox, les polices peuvent vous paraître baveuses et pas très nettes. Cela est normal, étant donné que le lissage des polices (anti-aliasing), est par défaut désactivé. Ainsi, si vous n'utilisez pas de daemon d'apparence (comme gnome-setting-daemon) vos polices auront un rendu peu appréciable. Pour profiter de ce procédé :

  1. Éditez ou créez le fichier de configuration de polices ~/.fonts.conf dans votre dossier personnel et ajoutez-y ces quelques lignes :
<fontconfig>
   <match target="font" >
      <edit name="rgba" mode="assign"><const>rgb</const></edit>
      <edit name="hinting" mode="assign"><bool>true</bool></edit>
      <edit name="antialias" mode="assign"><bool>true</bool></edit>
      <edit name="autohint" mode="assign"><bool>false</bool></edit>
      <edit mode="assign" name="hintstyle"><const>hintslight</const></edit>
   </match>
</fontconfig>
  1. Ensuite, créer le fichier ~/.Xresources dans votre dossier personnel et copiez-y ceci:
Xft.lcdfilter:  lcddefault
Xft.hintstyle:  hintslight
  1. Enfin, entrez cette commande dans un terminal pour mettre à jour la base de données des ressources X:
$ xrdb -merge ~/.Xresources
  1. Redémarrez le serveur X, les polices devraient alors être parfaitement lissées1).

La transparence

Pour activer la transparence, installez le paquet xcompmgr, et lancez le ;) Exemple de ligne à ajouter à votre fichier autostart, pour avoir la gestion de la transparence, l'effet de fade-in/out lors de l'agrandissement/réduction de fenêtre et de menu et des fenêtres ombrées :

xcompmgr -fF -I-.002 -O-.003 -D3 &

Quelques exemples d'options possibles :

xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & #ou
xcompmgr -fF -I-.002 -O-.003 -D3 &

Pour en savoir plus, tapez dans un terminal:

man xcompmgr

.

Avoir les commandes "éteindre", "redémarrer" et "suspendre" dans le menu

Afin d'effectuer ces actions, il faut éditer le menu Openbox (.config/openbox/menu.xml), pour y ajouter les commandes suivantes :

dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown #Pour éteindre
dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot #Pour redémarrer
Si vous ne souhaitez pas avoir à entrer votre mot de passe pour ces actions, il faut éditer le fichier /etc/sudoers avec les droits d'administration, pour y ajouter la ligne suivante :
%users  ALL=NOPASSWD: /sbin/shutdown

Attention, cette modification est très dangereuse pour le système. En effet si une erreur se glisse dans l'édition du fichier, ou si vous éditez le mauvais fichier vous ne pourrez plus vous connecter en root.

Déconnexion


Pour avoir un écran de déconnexion sous Openbox, il existe plusieurs solutions :

  1. Sur l'ancien wiki d'Archlinux on trouve une page openbox-logout. Dans cette page sont décrites deux méthodes :
  • La première permet d'afficher une sobre fenêtre contenant les boutons "Annuler", "Déconnexion", "Redémarrer" et "Éteindre".
  • La seconde permet d'avoir ces mêmes boutons dans un écran de déconnexion avec une image de fond à définir (l'image illustre ce résultat).
  1. Sur Launchpad, il y a le projet oblogout qui fait apparaître les boutons de déconnexion en grisant l'écran, ce projet a l'avantage de posséder un fichier de configuration propre (/etc/oblogout.conf). Dans ce fichier sont configurés l'utilisation de HAL, la couleur et l'opacité du fond, le thème à utiliser, les boutons à faire apparaître, les raccourcis claviers et les commandes utilisées.
  2. Il existe un menu déjà installé sous Ubuntu. Il suffit de rajouter ces lignes au fichier menu.xml :
  <item label="Arreter">
    <action name="Execute"><execute>/usr/lib/indicator-session/gtk-logout-helper --shutdown</execute></action>
  </item>

FIXME ne marche pas

Gestionnaire de connexion plus léger

Obsession est un gestionnaire de sessions léger. C'est une branche de lxsession-logout mais sans les dépendances. Il sera disponible dans les dépôts Ubuntu à partir de la version 15.04. Pour l'heure, il devra être compilé à la main depuis les sources, disponibles ici. Voici à quoi cela ressemble. De même que lxsession-logout, il peut être agrémenté d'une image, d'un thème.

Il suffit de désinstaller les paquets openbox, obconf, obmenu avec la commande suivante :

sudo apt-get remove openbox obconf obmenu

  • openbox.txt
  • Dernière modification: Le 24/12/2023, 22:06
  • par 37.174.173.116