logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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 :

  • Bee, basé sur ubuntu ou debian, léger et rapide!
  • Crunchbang ;
  • (Autres ?)

Avantages

  • Requiert peu de ressources (très peu !)
  • Peu de dépendances
  • Défilement des bureaux avec la molette de la souris
  • Des raccourcis claviers et souris personnalisables via des fichiers XML
  • De nombreux thèmes
  • Écrit en C
  • Support de Xinerama pour la sortie en dual screen
  • Et avant tout, la rapidité !

Inconvénients

  • Minimaliste, ce que certains apprécieront, d'autres non.
  • Cela peut prendre un peu de temps à tout configurer (d'où l'utilité de cette doc)
  • Ne supporte pas certaines fonctions, comme la gestion du fond d'écran ou de la barre de tâches. Toutes ces fonctions peuvent très simplement être accessibles avec d'autres petits programmes légers.
  • Le montage automatique de CD-ROM ou d'appareils photos numériques peuvent demander du travail supplémentaire.

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>
  • SendToDesktop permet d'envoyer la fenetre au bureau numéro “n”. l'option “follow” permet de suivre la fenetre sur ce bureau “n”, ou non.
  • ToggleMaximizeFull permet de maximiser une fenetre, ou de revenir à l'état précédent.
  • ToggleFullscreen permet de passer en plein écran, sans décorations de fenetre.
  • GrowToEdge… permet d'agrandir la fenetre, vers le prochain bord (d'écran ou de fenêtre). Lorsqu'elle a déja rencontré un bord, elle se réduit par le coté opposé.
  • SendToTopLayer met la fenetre au dessus de toutes les autres. Elle sera ainsi toujours au premier plan.

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>
  • «Urxvt» et «Icedove» apparaîtront dans le menu, l'un en dessous de l'autre.
  • «separator» permet d'ajouter un séparateur, trop fort !
  • «Sciences» est un sous-menu comportant deux entrées : «Chimie» et «Mathématiques»
  • «Chimie» comporte une entrée «Avogadro«
  • «Mathématiques» a pour sa part «Xcalc» et «OpenOffice Math»
  • «Système» est un sous-menu décomposé lui-même en deux sous-menu “Administration” et “Matériel”
  • «Gparted» du sous-menu «Administration« est lancé en tant que root. En effet, on peut aussi lancer des commandes
  • «Édition du menu Openbox» dans «Matériel» vous permet l'édition en graphique.

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 thème de couleurs (installez le paquet openbox-themes, ou téléchargez le thème que vous voulez sur box-look.org.
  • Les polices des fenêtres et autres.
  • 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.
  • Configuration du dock, pour les applications dockables (dockapps.org).

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 :

  • Utilisez des gestionnaires de fichiers tels que ROX-Filer, PCManFM, ou Nautilus (sans l'option –no-desktop), pour définir un fond d'écran.
  • Utilisez des programmes tels que gnome-appearance-properties , nitrogen, drapes, wallpaper-tray, hsetroot, feh… il y en a une ribambelle ! Pour ces derniers, il peut être pratique de les lancer au démarrage (voir plus bas).
  • Un nouveau fond périodique :

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 :

  • idesk
  • fbdesk

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 :

  • DebianPkg:bbpager
  • DebianPkg:pypanel (configurable en éditant le .pypanelrc dans votre home) , très léger
  • DebianPkg:gnome-panel (panel de GNOME)
  • DebianPkg:fspanel
  • DebianPkg:fbpanel (configurable en tapant fbpanel –configure), encore plus léger.
  • DebianPkg:perlpanel
  • DebianPkg:xfce4-panel (panel de Xfce)
  • DebianPkg:lx-panel, panel de lxde
  • DebianPkg:tint2 (configurable à l'aide de tint2conf)

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) &
  • on lance «conky» avec un «sleep» de façon à le temporiser
  • «tint» est la barre des tâches
  • «network manager applet» temporisé pour gérer votre connexion. Et oui, il n'y a pas de gestionnaire de connexion sous Openbox.
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)

  • [[http://rox.sourceforge.net/desktop/static.html|ROX Desktop]] lien obsolète
  • [[http://awn.wetpaint.com/|Avant Window Navigator]] lien obsolète
  • idesk
  • visibility (click snapshot to download a .tar.gz)
  • [[http://www.gnomefiles.org/app.php/LXPanel|lxpanel]] lien obsolète
  • fbpanel
  • pypanel - PyPanel is a lightweight panel/taskbar. It can be easily customized to match any desktop theme or taste.
  • Tint Task Manager - Tint2 barre de taches faite au départ pour openbox3, mais pouvant fonctionner avec d'autres WM
  • Screenlets
  • gDesklets
  • adesklets
  • [[http://bbtools.sourceforge.net/|bbtools]] lien obsolète
  • [[http://linuxbrit.co.uk/feh/|feh]] - Image viewer lien obsolète
  • [[http://code.google.com/p/oboinus/|Oboinus]] lien obsolète
  • BBDock (untested. EWMH capable) Tested by CrossWind, Fully operational!
  • Set Layout - small program to set your desktops into a grid if you do not use a pager

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 !
doc/environnements/x11/openbox.txt · Dernière modification: 14/05/2023 00:09 par lagrenouille

Pied de page des forums

Propulsé par FluxBB