Table des matières

Openbox

Présentation

Openbox est un gestionnaire de fenêtres (WM) 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 (ou Kde en remplacement de Kwin). Il n'a pas de barre de tâches par défaut, mais il est possible d'accéder aux fenêtres avec le raccourci alt+tab, ou en ajoutant une barre de tâches personnalisée.:-)

Openbox seul ou en gestionnaire de fenêtres pour Gnome/Kde est idéal pour ceux qui possèdent de vieux ordinateurs tout en souhaitant utiliser Gnome/Kde, ou pour ceux qui souhaitent une configuration minimale, afin de conserver au mieux la batterie de leur portable,ou même se construire un environnement bien à eux.

Après avoir testé plusieurs WM, tels que Fluxbox, Blackbox, il semble que Openbox soit le moins gourmand et le plus configurable (64Mo de RAM minimum requis). 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 de debian qui utilisent Openbox par défaut :

Avantages

Inconvénients

Installation

Pour commencer, dans un terminal et en root, tapez :

apt-get update && apt-get install openbox obconf obmenu
“obmenu” n'est plus disponible sur debian-11… plus besoin de l'inclure donc dans la commande “apt-get”

ou

apt install openbox feh tint2

Utilisation

Pour démarrer Openbox seul, choisissez « Openbox » depuis le menu « session » de GDM LIGHTDM ou KDM.
Si aucun gestionnaire de session n'est installé, SLiM est très léger.

Pour l'utiliser comme gestionnaire de fenêtres sur Gnome, choisissez « GNOME/Openbox » dans le menu session de GDM ou KDM.

Pour l'utiliser comme gestionnaire de fenêtres sur KDE, choisissez donc « KDE/Openbox » dans le menu session de KDM ou GDM.

Configuration

Openbox possède quelques fichiers de configuration utiles, qui se trouvent dans le dossier “/home/utilisateur/.config/openbox”. Il se peut que vous deviez les copier depuis “/etc/xdg/openbox”. Ils sont au nombre de trois sur les versions < 3.5 : «rc.xml«, «menu.xml» et «autostart». après cette version, on note l'arrivée de “environment”.

Vous éditerez les fichiers de votre répertoire personnel.

Les raccourcis claviers/souris :

Il s'agit du fichier rc.xml, vous pouvez le modifier à votre guise. Ainsi, par exemple, le raccourci Alt + F2 peut vous lancer gmrun, un lanceur très pratique. Il est aussi possible de configurer des raccourcis pour redimensionner les fenêtres, les déplacer, changer de chanson dans votre lecteur de musique… et tout cela au clavier ! Les touches ⊞ Win, Alt, Ctrl, Shift, peuvent être désignées respectivement par les lettres majuscules W, A, Ctrl, Shift

Ajoutez simplement ce genre de lignes :

Extrait de rc.xml
<keybind key="A-F2">
   <action name="Execute">
     <name>Lance GmRun</name>
     <command>gmrun</command>
   </action>
 </keybind>

Voici un extrait de fichier qui peut servir d'exemple. Les parties «desktops» et «keyboard» sont celles que vous modifierez en premier.

Extrait de rc.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
      Copy the file to $HOME/.config/openbox/ instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc">
<desktops>
  <!-- cette partie est utilisée au démarrage, certaines applications vous permettent
      de la changer en cours de session
     ce sont les valeurs par défaut quand elles ne sont pas renseignées
      par d'autres applications
     utiliser obconf pour les modifications ne nécéssitant pas de sortir de la session -->
  <number>4</number>
  <firstdesk>1</firstdesk>
  <names>
    <name>un</name>
    <name>deux</name>
    <name>trois</name>
    <name>quatre</name>
  </names>
  <popupTime>875</popupTime>
  <!-- Temps d'affichage de numéro de bureau. Une valeur a "0" désactive ce pop-up. -->
</desktops>
<keyboard>
  <chainQuitKey>C-g</chainQuitKey>
  <!-- Raccourcis clavier bien pratiques -->
  <!-- Envoyer la fenêtre active au bureau de gauche-->
  <keybind key="S-A-Left">
    <action name="SendToDesktopLeft">
      <dialog>no</dialog>
      <wrap>no</wrap>
    </action>
  </keybind>
  <!-- Envoyer la fenêtre active au bureau de droite-->
  <keybind key="S-A-Right">
    <action name="SendToDesktopRight">
      <dialog>no</dialog>
      <wrap>no</wrap>
    </action>
  </keybind>
  <!-- Envoyer la fenêtre active au bureau du haut-->
  <keybind key="S-A-Up">
    <action name="SendToDesktopUp">
      <dialog>no</dialog>
      <wrap>no</wrap>
    </action>
  </keybind>
  <!-- Envoyer la fenêtre active au bureau du bas-->
  <keybind key="S-A-Down">
    <action name="SendToDesktopDown">
      <dialog>no</dialog>
      <wrap>no</wrap>
    </action>
  </keybind>
  <!-- Aller au bureau numéro 1-->
  <keybind key="W-F1">
    <action name="Desktop">
      <desktop>un</desktop>
    </action>
  </keybind>
  <!-- Aller au bureau numéro 2-->
  <keybind key="W-F2">
    <action name="Desktop">
      <desktop>deux</desktop>
    </action>
  </keybind>
  <!-- Aller au bureau numéro 3-->
  <keybind key="W-F3">
    <action name="Desktop">
      <desktop>trois</desktop>
    </action>
  </keybind>
  <!-- Aller au bureau numéro 4-->
  <keybind key="W-F4">
    <action name="Desktop">
      <desktop>quatre</desktop>
    </action>
  </keybind>
 <!-- Afficher le bureau-->
  <keybind key="W-d">
    <action name="ToggleShowDesktop"/>
  </keybind>
  <!-- Raccourcis pour les fenêtres -->
  <keybind key="A-F4">
    <action name="Close"/>
  </keybind>
  <keybind key="A-space">
    <action name="ShowMenu">
      <menu>client-menu</menu>
    </action>
  </keybind>
  <!-- Raccourcis de changement de fenêtre -->
  <keybind key="A-Tab">
    <action name="NextWindow"/>
  </keybind>
  <keybind key="A-S-Tab">
    <action name="PreviousWindow"/>
  </keybind>
  <keybind key="C-A-Tab">
    <action name="NextWindow">
      <panels>yes</panels>
      <desktop>yes</desktop>
    </action>
  </keybind>
  <!-- Raccourcis de lancement des applications -->
  <!-- Raccourcis pour MES touches fn, pratique quand ça veut pas "out of the box" -->
  <keybind key="XF86AudioRaiseVolume">
    <action name="Execute">
      <command>amixer -q set Master 1+ unmute</command>
    </action>
  </keybind>
  <!-- Raccourcis pour MES touches fn, pratique quand ça veut pas "out of the box" -->
  <keybind key="XF86AudioLowerVolume">
    <action name="Execute">
      <command>amixer -q set Master 1- unmute</command>
    </action>
  </keybind>
  <!-- Lancement de "Xchat" -->
  <keybind key="W-x">
    <action name="Execute">
      <name>Lance xchat</name>
      <command>xchat</command>
    </action>
  </keybind>
  <!-- Lancement de "gmrun" -->
  <keybind key="A-F2">
    <action name="Execute">
      <execute>/usr/bin/gmrun</execute>
    </action>
  </keybind>
  <!-- Lancement de "Urxvt" -->
  <keybind key="W-u">
    <action name="Execute">
      <command>urxvt</command>
    </action>
  </keybind>
  <!-- Lancement de "PCmanFm" -->
  <keybind key="W-p">
    <action name="Execute">
      <startupnotify>
        <enabled>true</enabled>
        <name>PCManFM</name>
      </startupnotify>
      <command>pcmanfm</command>
    </action>
  </keybind>
</keyboard>
</openbox_config>

J'ai volontairement oublié de mettre la partie «mouse», elle est très longue et complète. Vous pouvez l'ajouter en recopiant à partir du “/etc/xdg/openbox/rc.xml”. Pour les plus curieux, retrouvez l'intégralité du fichier ici : Intégralité de "rc.xml"

La liste de toutes les actions possibles sur les fenêtres sont ici : Liste des actions dans le rc.xml

Utiliser openbox comme pseudo tiling WM :

Utilisez ces actions dans votre rc.xml , cela permet de redimensionner les fenêtres vers le prochain bord de l'écran, ou de fenêtre :

Extrait de rc.xml
<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>

Ce sont avant tout des exemples bien entendu. Toutes les actions sont disponibles sur le wiki officiel.

Version > 3.5

À noter que la syntaxe change depuis la version 3.5, toutefois l'ancienne syntaxe est reconnue. Voici quelques exemples du “rc.xml”

Extrait de rc.xml
<keybind key="S-A-Right">
  <action name="SendToDesktopRight">
    <dialog>no</dialog>
    <wrap>no</wrap>
  </action>
</keybind>

devient

Extrait de rc.xml
<keybind key="S-A-Right">
  <action name="SendToDesktop"><to>right</to><wrap>no</wrap></action>
</keybind>

Il en va de même pour les “mousebinds”

Extrait de rc.xml
<mousebind button="C-A-Up" action="Click">
  <action name="DesktopPrevious"/>
</mousebind>

devient

Extrait de rc.xml
<mousebind button="C-A-Up" action="Click">
  <action name="GoToDesktop"><to>previous</to></action>
</mousebind>

Le menu :

Pour configurer le menu que vous faites apparaître par un clic-droit sur le bureau, éditez le fichier menu.xml (toujours dans le même répertoire). Sinon, lancez en ligne de commande obmenu, vous pourrez alors le modifier de manière graphique. Pour sa configuration, il est pratique d'installer les paquets «menu» et «menu-xdg». Ils génèrent le fichier “/var/lib/openbox/debian-menu.xml” dans lequel vous retrouverez vos applications déjà installées. Ils y créeront une entrée pour chaque installation de logiciel supportée par «menu». De plus, dans votre menu personnel, une entrée appelée «Debian» vous permettra de retrouver toutes vos applications sans avoir à éditer quoi que ce soit. Pratique, n'est'il pas !

Voyons à quoi il ressemble :

menu.xml
<menu id="root-menu" label="Openbox 3">
  <item label="Urxvt">
   <action name="Execute"><execute>urxvt</execute></action>
  </item>
  <item label='Icedove'>
   <action name='Execute'><execute>icedove</execute></action>
  </item>
  <separator />
  <menu id='Sciences' label='Sciences'>
    <menu id='Chimie : mère de toutes sciences' label='Chimie'>
      <item label='Avogadro'>
        <action name='Execute'><execute>/usr/bin/avogadro</execute></action>
      </item>
    </menu>
    <menu id='Mathématiques' label='Mathématiques'>
      <item label='Xcalc'>
        <action name='Execute'><execute>xcalc</execute></action>
      </item>
      <item label='OOo Math'>
        <action name='Execute'><execute>/usr/bin/oomath</execute></action>
      </item>
    </menu>
  </menu>
  <menu id='Système' label='Système'>
    <menu id='Administration' label='Administration'>
      <item label='GParted'>
        <action name='Execute'><execute>su-to-root -X -c /usr/sbin/gparted</execute></action>
      </item>
    </menu>
    <menu id='Matériel' label='Matériel'>
     <item label='Édition du menu Openbox'>
       <action name='Execute'><execute>/usr/bin/obmenu</execute></action>
     </item>
     </menu>
  </menu>
</openbox_menu>

Il est possible aussi d'avoir des entrées de menu dynamique que l'on appelle pipemenu.
On peut, par exemple, afficher l'heure. Il suffit d'enregistrer le script que voici sous “heure.py” :

heure.py
#!/usr/bin/python
# -*- coding: utf-8 -*
import time
a,a,a,h,m,a,a,a,a=time.localtime()
print"<openbox_pipe_menu><item label='%02d:%02d'/></openbox_pipe_menu>"%(h,m)

et de lui donner les droits d'exécution

chmod +x /chemin/du/script/heure.py

Vous créez ensuite une entrée dans le “menu.xml”

Extrait de menu.xml
<menu id="time" label="heure" execute="python /chemin/du/script/heure.py" />

Trop fastoche.

Personnalisation

Openbox étant très minimaliste pour être le plus léger possible, il peut vous être utile d'utiliser quelques autres petits programmes. Voici, entre autre choses, quelques exemple de petits programmes très légers et pratiques. Obconf

Lancez ce gestionnaire de configuration avec la commande obconf, ou par le menu d'Openbox en faisant un simple clic-droit sur le bureau. Vous pourrez alors configurer plusieurs options :

Le fond d'écran

Qui a dit que l'on ne pouvait pas mettre le fond d'écran que l'on voulait sous Openbox ? bien sûr que si ! voici quelques possibilités :

Le script ci-dessous permet de changer le fond d'écran aléatoirement toutes les X secondes . Il utilise feh, mais vous pouvez très bien le modifier pour utiliser hsetroot ou autre… Il est pratique de le lancer au démarrage (dans votre autostart.sh) . Il est possible via ce script de faire défiler les fonds d'écran, il vous suffit d'ajouter un raccourci clavier qui vous plait pour éxécuter ce script rapidement.

«Include(Openbox, ,from=“^##TAG:WALLPAPER.SH:START”,to=“^##TAG:WALLPAPER.SH:END”)»

Les icônes sur le bureau

Si si, c'est possible ! pour cela, installez rox-filer, et faites un glisser-déposer sur le bureau. Pcmanfm peut le faire aussi.;-) Pour cela, il faut ouvrir pcmanfm, aller dans édition > préférences > onglet bureau > gérer le bureau. Il y a aussi DebianPkg:fbdesk et DebianPkg:idesk qui le font. Voir ici :

La barre de tâches

Sous Openbox, vous pouvez vous passer de barre de tâches, à condition d'aimer le raccourci alt+tab, pour changer de fenêtre. voici une liste non exhaustive de programmes à lancer au démarrage servant de barre des tâches :

Pour avoir un system-tray, vous pouvez installer stalonetray. un exemple du fichier de configuration à placer dans le fichier texte ~/.stalonetrayrc : exemple de stalonetrayrc ou pour avoir le tray 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)

voir plus bas la liste de programmes utiles à openbox.

Changement de thèmes gtk/Qt

voir les programmes : DebianPkg:lxapperarance, DebianPkg:gtkchtheme pour les themes gtk ; DebianPkg:qt4config pour les themes Qt.

Lancement de programmes au démarrage :

Le démarrage automatique de programmes se trouve dans le fichier “autostart”

Lorsque vous lancez openbox, un script de démarrage se lance. Celui par défaut se situe ici : /etc/xdg/openbox/autostart

Mais Vous pouvez utiliser votre propre script de démarrage! C'est très simple, il vous suffit de le placer ici : ~/.config/openbox/autostart Ce sera ce script qui sera alors utilisé automatiquement à la place de celui par défaut. Il vous faudra le rendre exécutable

chmod +x ~/.config/openbox/autostart

Un petit exemple :

autostart
#lancer conky
sh -c "sleep 5; conky -c /home/[user]/.conkyrc;" &
#lancer tint
tint2 &
#lancer network manager applet
(sleep 4s && nm-applet) &
Attention, il faut toujours ajouter un “&” après chaque commande que vous lancez!

fond d'écran avec feh

le fond d'écsan aux dimensions de l’écran

Pour redimensionner l’image aux dimensions de l’écran et l’afficher en fond d’écran :

feh —bg-scale /images/fond.jpg

Pour afficher l’image centrée en fond d’écran, sans la redimensionner :

feh —bg-center /images/fond.jpg

pour garder votre fond d’écran à la réouverture d’openbox, editez et mettez dans autostart

Un autre fichier exemple de /etc/xdg/openbox/autostart

# These things are run when an Openbox X Session is started.
# You may place a similar script in $HOME/.config/openbox/autostart
# to run user-specific things.
#
# If you want to use GNOME config tools...
#
#if test -x /usr/lib/x86_64-linux-gnu/gnome-settings-daemon >/dev/null; then
#  /usr/lib/x86_64-linux-gnu/gnome-settings-daemon &
#elif which gnome-settings-daemon >/dev/null 2>&1; then
#  gnome-settings-daemon &
#fi

# If you want to use XFCE config tools...
#
#xfce-mcs-manager &

#FOND D'ÉCRAN
if [ -e ~/.fehbg ]; then
sh ~/.fehbg & 
else        
feh --bg-fill /usr/share/backgrounds/lefondécran.jpg & 
fi
#pour lancer tint2
exec tint2

Règles pour les programmes :

Il vous est possible de rajouter des règles pour des programmes à la fin du fichier rc.xml. Ce fichier est suffisamment commenté pour comprendre le fonctionnement.

Liste de programmes utiles

* DebianPkg:xcompmgr (extension composite) * DebianPkg:transset (pour la transparence)

Des dockapps : [[http://www.dockapps.org|www.dockapps.org]]. lien obsolète

Liens utiles

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !