[[openbox]]
Piste: » openbox
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.
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 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 (j'ai gagné 1h30 de batterie ainsi !).
Après avoir testé plusieurs WM, tels que Fluxbox, Blackbox, il semble que Openbox soit le moins gourmand et le plus configurable. 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 :
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
- (Nouveau) Gestion possible du "Touch Screen" ou Ecran tactile (Test positif réalisé avec un écran Helwet Packard Viseo 200T, sous Ubuntu Jaunty (9.04) )
- 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 nativement certaines fonctions, comme la gestion du fond d'écran ou de la barre de tâches. Cependant, 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.
Pré-requis
- Disposer des droits d'administration ;
- Disposer d'une connexion à Internet configurée et activée ;
- Avoir activé l'accès aux dépôts Universe et Multiverse ;
Installation
Pour commencer, il suffit d'installer les paquets openbox obconf obmenu.
| Installer en un clic |
|---|
|
Utilisation
Pour démarrer Openbox seul, choisissez « Openbox » depuis le menu « session » de GDM ou KDM.
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.
Utiliser avec un pseudo comportement de tiling-WM
utilisez ces actions dans votre rc.xml (voir plus d'infos plus bas), cela permet de redimensionner les fenêtres vers le prochain bord de l'écran, ou de fenetre :
<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 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.
Configuration
Openbox possède quelques fichiers de configuration utiles, qui se trouvent dans le dossier /home/utilisateur/.config/openbox.
NotaBene: Dans mon cas, le dossier openbox n'existe pas après installation; le fichier rc.xml non plus. Dans ce cas, en mode ligne de commande :
mkdir -p ~/.config/openbox/
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
Les raccourcis
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 "Espace", "Echap", "Tabulation" et "Impr" peuvent être 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"
<keybind key="A-F2">
<action name="Execute">
<name>Lance GmRun</name>
<command>gmrun</command>
</action>
</keybind>
puis remplacez "A-F2" par le raccourci de votre choix, modifiez le nom et la commande à lancer à la place de gmrun, et hop, votre raccourci est configuré !
Voici quelques exemples :
<keyboard> <keybind key="W-F12"> <action name="Execute"> <name>xscreensaver-command -activate</name> <command>xscreensaver-command -activate</command> </action> </keybind> <keybind key="Alt-F2"> <action name="Execute"> <name>gmrun</name> <command>gmrun</command> </action> </keybind> <!-- Gestion des fenêtres --> <keybind key="C-S-i"> <action name="Iconify"/> </keybind> <keybind key="C-S-t"> <action name="ToggleMaximizeFull"/> </keybind> <!-- Déplacements --> <keybind key="W-Right"> <action name="MoveRelative"> <x>5</x> <y>0</y> </action> </keybind> <keybind key="W-Left"> <action name="MoveRelative"> <x>-5</x> <y>0</y> </action> </keybind> <keybind key="W-Up"> <action name="MoveRelative"> <x>0</x> <y>-5</y> </action> </keybind> <keybind key="W-Down"> <action name="MoveRelative"> <x>0</x> <y>5</y> </action> </keybind> <!-- Redimensionnement --> <keybind key="C-S-Down"> <action name="ResizeRelative"> <bottom>5</bottom> </action> </keybind> <keybind key="C-S-Up"> <action name="ResizeRelative"> <bottom>-5</bottom> </action> </keybind> <keybind key="C-S-Left"> <action name="ResizeRelative"> <right>-5</right> </action> </keybind> <keybind key="C-S-Right"> <action name="ResizeRelative"> <right>5</right> </action> </keybind> <keybind key="XF86AudioRaiseVolume"> <action name="Execute"> <name>Monter le son</name> <command>amixer -q set Master 3+ unmute</command> </action> </keybind> <keybind key="XF86AudioMute"> <action name="Execute"> <name>Mute-Unmute</name> <command>amixer -q set Master toggle</command> </action> </keybind> <keybind key="XF86AudioLowerVolume"> <action name="Execute"> <name>Baisser le son</name> <command>amixer -q set Master 3- unmute</command> </action> </keybind> <keybind key="C-Right"> <action name="Execute"> <name>quodlibet next</name> #changer de chanson <command>quodlibet --next</command> </action> </keybind> </keyboard>
la liste de toutes les actions possibles sur les fenêtres sont ici : http://icculus.org/openbox/index.php/Help:Actions#Introduction
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.
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 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 à chaque démarrage :
voici l'astuce ! ouvrez gedit (par exemple), et copiez ce texte :
#!/bin/bash -u
#Description: Ce script requiert feh sur votre machine, il changera votre fond d'écran openbox (ou autre) automatiquement toutes les 400 seondes
#Author: Millien Marc
#Date: 2 mars 2008
#On vérifie l'existence du répertoire Images/Fonds
if [ -d ~/Images/Wallpapers/ ] ; then
cd ~/Images/Wallpapers/
#On compte le nombre de fichiers
_fics=`ls | grep -E "*.(png|jpg)" | wc -l`
#S'il y a plus d'un fichier c'est parti
if [ ${_fics} -gt 0 ] ; then
#On vérifie que le script ne tourne pas déjà
_ps=`ps aux`
_pid=`echo "${_ps}" | grep $0 | tr -s [:space:] | cut -d' ' -f2`
_lines=`echo "${_pid}" | wc -w`
if [ ${_lines} -gt 1 ]; then
_pid=`echo ${_pid} | cut -d' ' -f1`
echo "Un script en trop, on le kill (pid: ${_pid})"
kill ${_pid}
fi
#Boucle de fonctionnement
while true; do
#On sélectionne un fichier au hasard
_nombre=$RANDOM
_nombre=`expr ${_nombre} % ${_fics}`
if [ ${_nombre} -eq 0 ] ; then
_nombre=1
fi
_image=`ls | grep -E "*.(png|jpg)" | head --lines=${_nombre} | tail -1`
#On affiche le fichier
sleep 20
feh --bg-scale "${HOME}/Images/Wallpapers/${_image}"
sleep 400
_fics=`ls | grep -E "*.(png|jpg)" | wc -l`
done
else
echo "Veuillez placer des fichiers images dans le répertoire ${HOME}/Images/Wallpapers !"
fi
else
echo "Veuillez créer le répertoire ${HOME}/Images/Wallpapers et y placer vos fonds d'écran !"
fi
Indiquez le dossier où sont tous vos wallpapers. Puis, sauvegardez ce script où vous voulez, appelez le par exemple wallpaper.sh. Il ne vous reste plus qu'à le rendre exécutable en tapant dans une console :
chmod +x wallpaper.sh
ou bien en faisant un clic-droit puis propriétés, permissions, autoriser l'exécution du fichier comme un programme.
Et voilà, il ne vous reste plus qu'à le lancer au démarrage avec la commande /home/login/chemin_vers_le_fichier/wallpaper.sh
Autres possibilités : https://help.ubuntu.com/community/RotateWallpapers
Encore une autre possibilité : Wallpabox. Un paquet est présent ici (l'installer avec gdebi ou dpkg).
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. Et pour avoir les icones dès le démarrage, ajoutez ceci au sourcelist :
pcmanfm -d
Alternatives : Utilisez idesk ou fbdesk. (ils sont très légers, personnellement, j'utilise idesk)
Idesk
Après l'installation, vous trouverez un fichier ~/.ideskrc qui permet de configurer le comportement de vos futures icônes. Voici le mien :
table Config
FontName: gothic
FontSize: 11
FontColor: #37CFA6
ToolTip.FontSize: 11
ToolTip.FontName: gothic
ToolTip.ForeColor: #0000FF
ToolTip.BackColor: #FFFFFF
ToolTip.CaptionOnHover: true
ToolTip.CaptionPlacement: Right
Locked: false
Transparency: 100
Shadow: true
ShadowColor: #000000
ShadowX: 1
ShadowY: 1
Bold: true
ClickDelay: 300
IconSnap: true
SnapWidth: 20
SnapHeight: 20
SnapOrigin: BottomRight
SnapShadow: false
SnapShadowTrans: 200
CaptionOnHover: false
CaptionPlacement: bottom
FillStyle: fillinvert
Background.File: latina.jpg
end
table Actions
Lock: control right doubleClk
Reload: middle doubleClk
Drag: left hold
EndDrag: left singleClk
Execute[0]: left doubleClk
Execute[1]: right doubleClk
end
Pour pouvoir mettre des icônes sur votre bureau, il vous faut au préalable créer un répertoire ~/.idesktop. Pour cela :
mkdir .idesktop
ou clic-droit, nouveau répertoire.
Maintenant placez-vous dans ce répertoire et créez, par exemple, un fichier firefox.lnk, en y mettant à l'intérieur:
table Icon
Caption: Firefox
Command: /usr/bin/firefox
Icon: /usr/share/pixmaps/firefox.png
Width: 48
Height: 48
X: 1179
Y: 253
end
fbdesk
Installez le paquet fbdesk.
Une fois installé, éditez le fichier ./fluxbox/fbdesk.icons.
Chaque entrée se présente comme suit :
[Desktop Entry] Name=default Exec= Icon= Pos= 100 100 [end]
- Name : Nom
- Exec : le nom de l'executable (vous en trouverez dans /usr/bin/)
- Icon : adresse de l'îcone (vous en trouverez dans /usr/share/pixmaps/)
- Pos : Position en X et Y
Exemple d'un fichier configuré :
[Desktop Entry] Name=Roxfiler Exec=rox-filer Icon=~/icones/home.png Pos= 50 50 [end] [Desktop Entry] Name=Gaim Exec=gaim Icon=~/icones/gaim.png Pos= 50 150 [end] [Desktop Entry] Name=VideoLan Exec=vlc Icon=~/icones/tv.png Pos= 50 250 [end] [Desktop Entry] Name=Firefox Exec=firefox Icon=~/icones/firefox.png Pos= 50 350 [end] [Desktop Entry] Name=Terminal Exec=gnome-terminal Icon=~/icones/term.png Pos= 50 450 [end]
(~ sera remplacé par /home/user une fois fbdesk relancé)
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 taches :
- bbpager
- pypanel (configurable en éditant le .pypanelrc dans votre home) , très léger
- gnome-panel (panel de GNOME)
- fspanel
- fbpanel (configurable en tapant fbpanel –configure), encore plus léger.
- perlpanel
- xfce4-panel (panel de Xfce)
- tint2, configurable via ~/.config/tint2/tint2rc
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)
Le lien vers l'exemple de .stalonetrayrc est mort. Un exemple de .stalonetayrc est visible sur ce fil (post #8, merci à thuban)
Voici une liste tirée du wiki d'Openbox de programmes utiles pour Openbox : (extrait du wiki d'openbox)
Besides the programs included in GNOME and KDE…
- visibility (click snapshot to download a .tar.gz)
- pypanel - PyPanel is a lightweight panel/taskbar. It can be easily customized to match any desktop theme or taste.
- Tint Task Manager (new release) - Tint2 is a simple panel/taskbar intentionally made for openbox3, but should also work with other window managers (dépendances pour la compilation : sudo aptitude install libcairo2-dev libpango1.0-dev libglib2.0-dev libimlib2-dev libxinerama-dev libxrandr-dev)
- feh - Image viewer
- 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
You can find lots of dockapps at [http://www.dockapps.org dockapps.org]. Some nice ones are wmCalClock, wmnd, wmix and wmpinboard.
There are other programs of interest in the Community portal.
les themes gtk
Pour ne pas avoir des applications gtk toutes moches, voici quelques astuces : -créez ou éditer un fichier dans votre home nommé .gtkrc-2.0, puis remplissez-le ainsi :
gtk-font-name = "Zekton 9"
gtk-theme-name = "Crude"
gtk-icon-theme-name = "black-white_2-Style"
-installez switch2 :
sudo aptitude install gtk-theme-switch gtk2-engines
puis lancez dans une console
gtk-theme-switch2
et choisissez votre thème.
Assurez-vous tout d'abord d'avoir le paquet apt://openoffice.org-gtk installé.
Rajoutez ensuite dans votre fichier autostart (~/config/openbox/autostart.sh) la ligne suivante :
OOO_FORCE_DESKTOP=gnome soffice
-Vous pouvez aussi installer le gestionnnaire d'apparence de gnome (car openbox gère automatiquement les applis gnome et kde au démarrage!)
sudo aptitude install gnome-settings-daemon
-Ou pour xfce :
sudo aptitude install xfce-mcs-manager
Le montage automatique de volume
lancez gnome-volume-manager, ou bien installez ivman
sudo apt-get install ivman
Le démarrage automatique de programmes
Lorsque vous lancez openbox, un script de démarrage se lance. Celui par défaut se situe ici : /etc/xdg/openbox/autostart.sh
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.sh Ce sera ce script qui sera alors utilisé automatiquement à la place de celui par défaut. Voici ce que vous pouvez faire :
lancez gedit
copiez collez ce texte :
# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
# Set a background color
BG=""
if which hsetroot >/dev/null; then
BG=hsetroot
else
if which esetroot >/dev/null; then
BG=esetroot
else
if which xsetroot >/dev/null; then
BG=xsetroot
fi
fi
fi
test -z $BG || $BG -solid "#303030"
# D-bus
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
# Make GTK apps look and behave how they were set up in the gnome config tools
if which gnome-settings-daemon >/dev/null; then
gnome-settings-daemon &
fi
# Preload stuff for KDE apps
if which start_kdeinit >/dev/null; then
LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
fi
Enregistrez-le dans /home/votre_login/.config/openbox/autostart.sh puis rendez le script éxécutable (chmod +x /home/votre_login/.config/openbox/autostart.sh , ou clic-droit, permissions, permettre l'utilisation du fichier comme un programme.)
Vous pouvez ajouter les programmes que vous voulez bien entendu, 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 votre gestionnaire d'icones sur le bureau idesk, une barre de taches, conky….etc Voici pour exemple mon autostart.sh :
# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
# D-bus
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
gnome-settings-daemon &
xscreensaver -no-splash &
/usr/lib/gnome-volume-manager/gnome-volume-manager --sm-disable &
sh /home/xavier/.conky/conky.sh &
#idesk &
update-notifier &
gnome-power-manager &
nm-applet &
fbpanel &
sleep 3
drapes &
xcompmgr -fF -I-.002 -O-.003 -D6 -cC -t-5 -l-6 -r5 &
La transparence
installez le paquet xcompmgr, et lancez le ;)
Vous pouvez aussi ensuite installer le paquet transset, puis lancer en terminal :
transset 0.5
le curseur changera de forme. Cliquez sur la fenêtre désirée, et vous l'aurez de transparence 50%.
Avoir les commandes éteindre, suspendre, redémarrer dans le menu
ouvrez le panneau de configuration obmenu en tapant dans le terminal :
obmenu
puis cliquez sur new item.
écrivez éteindre dans la partie Label, puis sélectionnez execute dans la partie Action, et enfin écrivez gksudo 'shutdown -h now' dans la partie Execute.
Refaites de même pour mettre redémarrer et suspendre, mais en mettant respectivement gksudo 'shutdown -r now' et gksudo pm-suspend dans la partie Execute.
Désinstallation
Il suffit de désinstaller les packet openbox, obconf, obmenu.
sudo apt-get remove openbox obconf obmenu
Voir aussi
Le contenu de ce wiki est sous licence : CC BY-SA v3.0







