Phollow.me

Openbox, le guide

Ce guide a pour but de vous aider à installer et configurer le gestionnaire de fenêtres Openbox sur GNU/Linux et plus particulièrement sous Archlinux.

Il est léger et très minimal et ne fait pas beaucoup plus de choses que de s'occuper des fenêtres, pourtant c'est sa force.

On peut ainsi construire son environnement de bureau pièce par pièce.

Un Guide pour Openbox

1. Introduction

Bienvenue. J'écris ce guide pour vous aider à installer, à configurer et à utiliser Openbox sous Archlinux (bien que la plupart des informations peuvent être réutilisé sous les autres distributions Linux).

On peut utiliser Openbox tout seul, ou alors en tant que gestionnaire de fenêtres dans Gnome, Xfce ou KDE. Ce guide s'intéressera à une installation "stand-alone" de Openbox. Si vous voulez savoir comment utiliser Openbox sous un de ces systèmes, je vous conseille d'aller faire un tour sur le site d'Openbox. Les applications Gtk (Gnome) et Qt (KDE) peuvent s'utiliser sous Openbox, mais on voit plus souvent des applications utilisant GTK.

Je parlerai de pas mal de programmes dont chacun offre des options de configuration. Donc je vous conseillerai de jeter un coup d'oeil au manuel des applications qui vous interessent. La majorité de ces programmes possèdent un site internet qui contient des guides et des exemples de configuration. Les liens seront donnés bien sûr.

Si vous n'avez jamais utilisé Openbox et que vous vous demandez à quoi ca peut ressembler, voici quelqu'un de mes screenshots.

2. Sources

La plupart des informations présentées dans ce billet proviennent d'autres sources. Je me suis inspiré de :

3. Installer Openbox

La dernière version d'Openbox ( 3.4.7) est disponible dans le dépôt d'Archlinux. Un simple : sudo pacman -S openbox

Et Openbox est installé. Si vous utilisez un manager de connexion du style GDM ou KDM, vous pouvez voir dans le menu des sessions "Openbox", "Gnome/Openbox" ou "KDE/Openbox" . Les deux derniers permettent de lancer Openbox à l'interieur de ces environnement de bureau. Nous utiliserons simplement "Openbox". Selectionnez le et logguez vous.

Si vous n'utilisez pas de manager de connexion vous aller devoir changer votre fichier ~/.xinitrc comme ceci:

# !/bin/bash exec openbox-session

Et après un petit startx vous devriez être sous Openbox.

4. Configurer Openbox

4.1 Menus
A votre première connexion vous devriez voir un écran vide. C'est Openbox. Un clic droit sur le bureau permet de dérouler le menu, un clic sur le bouton du milieu permet de répertorier toutes les applications qui sont ouvertes. La roulette permet de basculer d'un bureau à un autre. L'entré de menu "exit" permet de quitter Openbox, "Reconfigure" quant à lui permet de recharger Openbox (utile après des modifications des fichiers de configuration). Le menu par défaut est plutôt vide, mais le modifier est très facile, ne vous découragez pas ! Tout d'abord il faut copier le menu.xml qui existe par défaut dans votre dossier de configuration Openbox personnel (/home/VOTRENOM/.config/openbox/). Utilisez la commande suivante : cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml

Vous pouvez ouvrir ce fichier avec un éditeur de texte pour voir à quoi il ressemble. Toute la configuration du menu ce fait dans ce fichier.

Pour rendre les choses plus facile, on peut utiliser Obmenu. C'est une application graphique qui permet d'éditer ce fichier très facilement. Installer le comme ceci :

sudo pacman -S obmenu

Une fois installé on peut lancer Obmenu avec la commande 'obmenu'. On peut alors éditer le menu avec quelques boutons, on peut pas faire plus simple. Voila à quoi il ressemble :

obmenu

Si vous voulez que toutes les applications installées sur l'ordinateur apparaissent sur le menu, vous pouvez utiliser Menumaker. Installez le simplement avec :

sudo pacman -S menumaker Et ensuite pour créer le menu : mmaker -f OpenBox3 Le fichier menu.xml sera écrasé, donc si vous aviez fait des changements pensez à le sauvegarder avant.

Vous êtes vraiment libre de faire ce que vous voulez avec les menus. Si l'application à besoin de privilèges root, rajouter 'gksudo' devant la commande d'ouverture du programme et le mot de passe sera demandez à son ouverture. Vous pouvez faire des liens vers les fichiers de configuration ("gedit /chemin/du/fichier/de/config"), ouvrir des répertoires ("thunar /mon/dossier/"). Vous pouvez rajouter des commandes de backup de fichiers dans le menu si vous voulez ("cp -a /repertoire/original /repertoire/destination"). Si vous voulez eteindre certaines applications comme conky par exemple, créer une nouvelle entrée de menu avec pour commande "killall conky".

Il y aussi les pipes menus qui sont des menus qui sont regénérés automatiquement à chaque fois qu'ils sont ouverts. Vous pouvez trouver  plus d'informations ici.

A chaque fois que vous éditez le menu.xml, faites un "Reconfigure" (dans le menu) pour que les changements soient pris en compte. Obmenu le fait automatiquement quand vous sauvegardez.

4.2 Obconf

Maintenant que le menu est installé, il est temps de configurer Openbox plus profondément. Toute la configuration se fait dans un fichier rc.xml qui se trouve dans /home/UTILISATEUR/.config/openbox . Vous pouvez éditer ce fichier à la main, avec un éditeur de texte, ou alors utiliser obconf, ce qui facilite grandement les choses.

Obconf est disponible dans les dépots de Archlinux.

sudo pacman -S obconf

Et on le lance en tapant simplement "obconf" dans un terminal. Voila à quoi il ressemble:

obconf

Les onglets sont assez explicites, le programme est facile à utiliser.

4.3 Raccourcis clavier, souris et réglages d'applications

Tous les réglages du rc.xml ne peuvent être fait avec Obconf. On doit éditer le fichier à la main pour ces reglages là :

Raccourcis clavier

Avec Openbox on a les moyens d'utiliser les raccourcis clavier pour lancer des programmes, ouvrir des menus ou bien changer de bureau. Il suffit pour ça d'ajouter les commandes dans la section "keyboard" du rc.xml. Voici quelques exemples :

1. Pour lancer une commande ou un programme (ici Nautilus) :

<keybind key="A-F4">
<action name=”Execute”>
<execute>nautilus --no-desktop</execute>
</action>
</keybind>

2. Pour lancer un menu, ici le menu principal:

<keybind key="A-F1">
<action name=”ShowMenu”>
<menu>root-menu</menu>
</action>
</keybind>

3. Pour changer de bureau:

<keybind key="A-1">
<action name=”Desktop”>
<desktop>1</desktop>
</action>
</keybind>

A = alt, C = control, W = Windows key (super). Escape = echap, Delete = la touche supprimer. On peut aussi utiliser d'autres touches particulières ( du style fn, ou les touches multimédia des portables), mais on doit avoir leurs noms. On peut utiliser xev pour trouver comment elles s'appellent: il suffit de taper xev dans un terminal et de presser la touche que l'on veut utiliser. Beaucoup d'infos vont s'afficher, ce qui nous interesse est écrit après "keycode".

Plus d'informations dans la documentation d'Openbox.

Gestion des clics de souris

La section suivante du rc.xml concerne la souris. Vous pouvez choisir ce qui va se passer quand vous cliquer sur certaines zones. Il y en a déja dans le rc.xml, par exemple quand vous double cliquer sur la barre de titre d'une fenêtre, celle-ci s'agrandit. Vous pouvez facilement créer les votres en regardant les exemples et la documentation d'Openbox.

Applications

On peut aussi changer la façon dont s'execute les applications. Par exemple faire que firefox ne s'ouvre que sur le bureau n°2 ou alors que les terminaux apparaissent sans aucune bordures et toujours en dessous des autres fenêtres...

Il y a quelques exemples d'utilisation ici.

Bien sur à chaque changement du fichier rc.xml, il faut 'Reconfigurer' Openbox (dans le menu principal) pour que les changements soient pris en compte.

5. Thèmes

5.1 Thèmes d'Openbox et polices

On peut changer de thèmes Openbox simplement avec l'utilitaire Obconf. La liste des thèmes apparait dans l'application. On peut aussi en installer, soit en installant des thèmes qui ont l'extension .obt avec Obconf soit en décompressant directement le thème dans /home/UTILISATEUR/.themes. Après un redémarrage de Obconf, les nouveaux thèmes seront là.

Quelques endroits où il y a des thèmes Openbox :

Pour changer les polices on utilise aussi Obconf.

5.2 Thèmes Gtk, polices et icônes dans Openbox

Au premier lancement d'Openbox, on peut remarquer que les applications Gtk sont plutôt moches, car elles possèdent le thème, les icones et les polices  par défaut. Il y a plusieurs moyens de changer ça dans Openbox :

1. LXappearance
Cette application permet de changer les thèmes Gtk, les icones et les polices. Il existe d'autres programmes du même genre mais celui possède plus de fonctionnalités que les autres. Il permet entre autre de prévisualiser le thème. Tout vos réglages sont sauvegardés dans ~/.gtkrc-2.0
2. En utilisant les réglagles de Xfce

En ajoutant 'xfce-mcs-manager &' dans le fichier autostart (voir plus bas), toutes les applications Gtk utiliseront le thèmes, les icones et les polices spécifiés dans le menu des réglages de Xfce. Pour les changer il faut ouvrir 'xfce-settings-show' (rajouté le dans le menu).

Ces changements auront lieu aussi dans Xfce.

3. En utilisant les réglages de Gnome
Même principe que pour ceux qui ont Xfce sur leur bécane. On ajoute 'gnome-settings-daemon &' dans le fichier autostart (voir plus bas), et les applications Gtk utiliseront le thème de Gnome. Pour le changer il suffit de lancer 'gnome-appearance-properties' et de changer ce que vous voulez. Les changements se verrons sur Gnome aussi.
5.3 Curseur de la souris

Comment changer l'apparence de la souris ? Il y a plusieurs façon de faire, les plus simples sont les suivantes :

On peut spécifié le thème dans le fichier /home/UTILISATEUR/.Xdefaults. Il suffit de rajouter quelquechose comme ca dans le fichier :

Xcursor.theme: NOMDUTHEME
Xcursor.size: SIZE #pas obligatoire

Il suffit de donner le nom du thème. Certains thème possède plusieurs tailles donc dans ce cas là on peut la mettre, autrement ce n'est pas nécessaire.

Les thèmes de la souris s'installent dans /home/UTILISATEUR/.icons ou /usr/share/icons.  Le nom spécifié dans .Xdefaults doit correspondre au nom du dossier dans lequel le thème est stocké. Les changements sont appliqués au redémarrage de X.

Il existe aussi des interfaces graphiques tel que gcursor.

6. Lancement d'applications au démarrage

Démarrer des applications à l'ouverture de Openbox est très simple. Il suffit d'éditer le fichier autostart. Copions le dans notre répertoire utilisateur :

cp /etc/xdg/openbox/autostart.sh ~/.config/openbox/autostart.sh On peut effacer le contenu et créer notre propre fichier, voila à quoi ça peut ressembler :
#! /bin/bash
gnome-volume-manager &
numlockx on &
conky &
pypanel &
nm-applet --sm-disable &

Le '&' est très important, sans cela nous resterions coincé à la première ligne du fichier.

Quelques programmes peuvent être importants. Par exemple si on veut que les disques et clefs usb soient montés automatiquement on a besoin de rajouter soit :

  • Le manager de volume de Thunar  (thunar-volman &)
  • Ivman (ivman &)
Si vous utilisez Thunar comme navigateur de fichier, c'est mieux de choisir le premier etc. Nautilus est capable lui de monter vos périphériques automatiquement. On peut aussi retarder le lancement d'un programme avec la commande 'sleep' :
(sleep 3 && tint2 &)
Tint2 se lancera 3 secondes après le chargement complet d'Openbox. Si on utilise les réglages de Gnome ou Xfce il faut ajouter une des lignes suivantes :
gnome-settings-daemon &
xfce-mcs-manager &

Si vous utlisez Openbox à l'intérieur de Gnome, KDE ou Xfce, le fichier autostart.sh est inutile. Ce sont les options de démarrage de ces bureaux qui comptera.

7. Décorons le bureau - Fond d'écrans et icônes

7.1 Wallpapers avec Nitrogen

Nitrogen est une application graphique permettant de gérer ses fond d'écrans, il y en a d'autres mais celle-ci à l'avantage d'être facile à utiliser. Nitrogen est dans les dépôts de Arch :

sudo pacman -S nitrogen Pour utiliser nitrogen c'est très simple : 'nitrogen /chemin/vers/le/dossier/wallpapers' , choississez votre wallpaper dans la liste et voila. Pour restaurer au démarrage de Openbox le dernier wallpaper mis il faut mettre dans le autostart.sh :
nitrogen --restore &
7.2 Icônes sur le bureau

iDesk est capable de nous faire des icônes sur le bureau. Il y a aussi une interface de configuration graphique pour iDesk : iDesktools qui rend les choses plus simples.

8. Barres des tâches et cie.

Contrairement à Fluxbox, Icewm ou Blackbox, Openbox ne possède pas de barre des tâches. Si vous voulez en utilisez une il va falloir en ajouter une vous même, et ce n'est pas le choix qui manque.

8.1. Panels
Quelques panels populaires :
  • Pypanel : Un des meilleurs, léger et très configurable. Il supporte les launchers, une zone de notification (systray), une horloge qui peut aussi afficher la date, un indicateur sur les bureaux. (Il existe une version patché de pypanel dans AUR qui lui fourni d'autres fonctionnalités)
  • BMpanel : Un panel léger avec une barre des tâches, une zone de notification et de jolis menus. On peut lui appliquer des thèmes.
  • Fbpanel : Un panel léger avec de nombreux plugins (pagers, barre des tâches, menus, horloges...) qui respecte le thème Gtk en cours et supporte la transparence. Vous pouvez en lancer deux aussi.
  • Xfce4-panel : Le panel utilisé dans Xfce. Tout les applets qui fonctionne sous Xfce marcheront aussi sous Openbox sauf les options d'alimentation (éteindre , redémarrer etc.)
  • Gnome-panel : Le panel de Gnome
  • Kicker : Le panel de KDE
8.2 Barre des tâches
Il y en aussi qui n'offre que la fonction barre de tâches :
  • tint task manager : Très configurable au niveau du look
  • tint2 : Possède plus de fonctionnalités que le premier
  • visibility : Barre de tâches avec des icônes
8.3 Zone de notifications

Vous pouvez utilisez les zones de notifications de certains panel ou alors utiliser des programmes qui ne s'occupent que de ça. En voici quelques uns :

  • trayer : Une zone de notification en GTK2 légère. Supporte la transparence.
  • stalonetray : Une systray qui peut être placé dans un dock
  • docker : Une autre qui se lance dans un dock.

9. Ombres, transparences et effets de bureau

9.1 Ombres

Les ombres, la vrai transparence etc. sont aussi possibles sous Openbox à condition que votre système les supporte. Il suffit pour cela d'utiliser xcompmgr. Voila comment faire :

On l'installe :

sudo pacman -S xcompmgr Il faut activer le mode composite dans le Xorg. Ouvrez un terminal et : sudo vim /etc/X11/xorg.conf et on rajoute ceci à la fin du fichier : Section "Extensions" Option "Composite" "Enable" EndSection

On sauvegarde le fichier, et on redémarre X (ctrl -alt - backspace). Maintenant on devrais pouvoir utiliser xcompmgr. Il y a diverses options pour la tailles et formes des ombres, à vous de regarder les options présentes. Vous pouvez essayer :

xcompmgr -cC -t-3 -l-5 -r5

Et voila vous devriez avoir des ombres. xcompmgr est très léger en mémoire, il prend 2 ou 3Mb seulement. Et grâce à lui vous pouvez aussi avoir de la transparence réelle.

9.2 Transparence

On a besoin d'un programme supplémentaire : transset. Installons le avec pacman.

Il faut que xcompmgr soit en route pour que ça fonctionne !

Regardez les options du programme pour son utilisation.

10. Gestionnaires de fichiers

On a aussi le choix, que ce soit nautilus, thunar, PCMan-FM, Xfe ..

Si vous aimez KDE vous pouvez aussi testé Konqueror ou Dolphin.

Attention si vous utilisez nautilus, il faut le lancer avec l'option --no-destktop, sinon il redessinera le bureau et vous n'aurez plus accès au menu.

11. Conclusion

Voilà avec tout ça vous devriez avoir un environnement de bureau utilisable. N’hésitez pas à le configurer plus en profondeur suivant vos besoins et d’essayer des choses.

Il y a beaucoup de forums avec des screenshots et des exemples de configuration, il est donc possible dans un premier temps d’emprunter les configurations des autres et de les modifier à votre goût.

Quelques captures d’écrans ici.