====== Openbox ====== * Objet : Openbox, Présentation, utilisation * Niveau requis :{{tag>débutant avisé}} * Commentaires : // Un gestionnaire de fenêtres rapide // * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) * Suivi : {{tag>à-placer}} * Création par [[user>smolski]] le 06/05/2012 * Testé et augmenté par lagrenouille le 14/05/2023 * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=1503 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== 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é, [[doc:environnements:x11:slim|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 Windows, alt, ctrl, shift, peuvent être désignées respectivement par les lettres majuscules W, a, C, S Ajoutez simplement ce genre de lignes : Lance GmRun gmrun Voici un extrait de fichier qui peut servir d'exemple. Les parties «desktops» et «keyboard» sont celles que vous modifierez en premier. 4 1 un deux trois quatre 875 C-g no no no no no no no no un deux trois quatre client-menu yes yes amixer -q set Master 1+ unmute amixer -q set Master 1- unmute Lance xchat xchat /usr/bin/gmrun urxvt true PCManFM pcmanfm 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 : [[http://pastebin.com/bbn5dx9T|Intégralité de "rc.xml"]] La liste de toutes les actions possibles sur les fenêtres sont ici : [[http://openbox.org/wiki/Help:Actions|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 : 1 yes 2 yes 3 yes 4 yes 5 yes 6 yes * 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" no no devient rightno Il en va de même pour les "mousebinds" devient previous ===== 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 : urxvt icedove /usr/bin/avogadro xcalc /usr/bin/oomath su-to-root -X -c /usr/sbin/gparted /usr/bin/obmenu * «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" : #!/usr/bin/python # -*- coding: utf-8 -* import time a,a,a,h,m,a,a,a,a=time.localtime() print""%(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" 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, [[:doc:media:feh|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 [[:doc:media:feh|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. <> ===== 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 : #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 * [[http://www.kde-look.org/content/show.php?content=12097|kooldock]] * [[http://freshmeat.net/projects/wbar/|wbar]] * idesk * [[http://code.l3ib.org/?p=visibility-python.git;a=summary|visibility]] (click snapshot to download a .tar.gz) * %%[[http://www.gnomefiles.org/app.php/LXPanel|lxpanel]]%% lien obsolète * [[http://freshmeat.net/projects/perlpanel/|perlpanel]] * fbpanel * [[http://pypanel.sourceforge.net/|pypanel]] - PyPanel is a lightweight panel/taskbar. It can be easily customized to match any desktop theme or taste. * [[http://code.google.com/p/tint2/|Tint Task Manager]] - [[http://wiki.debian-facile.org/logiciel:tint2|Tint2]] barre de taches faite au départ pour openbox3, mais pouvant fonctionner avec d'autres WM * [[http://www.xfce.org/|xfce4-panel]] * [[http://code.google.com/p/superswitcher/|SuperSwitcher]] * [[http://zelea.com/project/screenpager/introduction.html|Screenpager]] * Screenlets * gDesklets * [[http://netdragon.sourceforge.net/ssuperkaramba.html|Super Karamba]] * adesklets * [[http://conky.sourceforge.net/|conky]] * [[http://obpager.sourceforge.net/|ObPager]] * %%[[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 * [[http://stalonetray.sourceforge.net/|stalonetray]] * [[http://bbdock.nethence.com/|BBDock]] (untested. EWMH capable) Tested by CrossWind, Fully operational! * [[http://icculus.org/openbox/tools/setlayout.c|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 ===== * [[http://openbox.org/wiki/Help:Contents|Site officiel]] * [[http://doc.ubuntu-fr.org/bee|Bee-desktop]] * [[https://help.ubuntu.com/community/Openbox|https://help.ubuntu.com/community/Openbox]] * [[http://urukrama.wordpress.com/openbox-guide/ | Site vraiment très complet qui pourra vous combler!]] * [[http://www.box-look.org/|Site avec tout plein de thèmes]] * [[http://wiki.archlinux.fr/Openbox|Guide en Français pour Archlinux très bien fait]] * [[http://wiki.debian.org/fr/Openbox|Wiki.debian.org]] (fr) * [[http://fr.wikipedia.org/wiki/Openbox|Wikipédia]] (fr) * [[http://phollow.fr/2009/01/openbox-le-guide/|Openbox le guide]] (fr) * [[http://urukrama.wordpress.com/openbox-guide/|Openbox Guide]] (en) * [[http://openbox.org/wiki/Openbox:Pipemenus|Pipemenus Openbox]] (en)