Aller au menu - Aller au contenu

Icône De belles fenêtres

Avatar
Mise à jour : 04/08/2011
Difficulté : Facile Facile Creative Commons BY-NC-SA
7 018 visites depuis 7 jours, dont 62 sur ce chapitre classé 32/786
Pour embellir votre environnement graphique, et surtout, pour rendre vos fenêtres plus maniables, vous avez maintenant besoin d'un gestionnaire de fenêtres. Vous avez de la chance : ce n'est vraiment pas ça qui manque.

Le dossier /usr/ports/x11-wm/ (window manager) en est plein ! dwm, azalea, fluxbox, openbox, fvwm, etc. Ce ne sont là que quelques-uns des environnements qu'UNIX et FreeBSD vous proposent. Une sacré différence avec Windows et son bureau unique, n'est-ce pas ? En plus, chacun d'eux est extrêmement personnalisable.

Là encore, il faut donc faire un choix. Je vais vous parler de Fluxbox.


Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

A - Fluxbox

Faites travailler votre installateur préféré :

Code : Console
[Nom de l'ordinateur]# pkg_add -r fluxbox

ou
Code : Console
[Nom de l'ordinateur]# cd /usr/ports/x11-wm/fluxbox && make install clean BATCH=yes


Il faut ensuite mettre à jour le fichier .xinitrc, dans votre dossier personnel, pour qu'il lance Fluxbox au lieu de Twm :

Code : Console
exec startfluxbox


Maintenant que tout est prêt, vous pouvez changer de gestionnaire de fenêtres. Fermez Twm à l'aide de son menu puis loguez-vous à nouveau avec SLiM.

Image utilisateur

Comme vous le voyez, l'interface de Fluxbox est très dépouillée. Il y a juste une barre de tâches en bas, dans laquelle vous pouvez réduire les fenêtres. Les flèches à gauche permettent de changer de bureau : si vous avez beaucoup de fenêtres ouvertes, vous pouvez les répartir sur plusieurs bureaux et passer de l'un à l'autre avec ces flèches ou avec la molette de la souris.

Bien. :) Tout ceci commence un peu à ressembler à quelque chose. Bon, je vous accorde qu'on est encore loin du paradis. :ange:

B - Demandez le menu

Image utilisateur

Un clic droit sur l'écran affiche le menu de Fluxbox, à partir duquel vous pouvez ouvrir des terminaux ou lancer des applications graphiques. Sachez qu'il est possible d'adapter ce menu pour qu'il propose exactement les options que vous voulez. En voici un exemple (à droite).

C'est le fichier ~/.fluxbox/menu qui définit le contenu du menu. Je vous rappelle que le symbole ~ désigne votre dossier personnel.

~/.fluxbox/menu est donc équivalent à /usr/home/[votre identifiant]/.fluxbox/menu. Et c'est quand même plus court. ;)

Vous pouvez éditer ce fichier manuellement avec emacs ou utiliser un outil de configuration graphique. Voici, par exemple, le fichier permettant d'obtenir le menu ci-contre.

Code : Autre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[begin] (FreeBSD 8.2) {} 
    [encoding] () {UTF-8} <>
    [exec] (Terminal) {terminal} </usr/local/share/pixmaps/terminal.xpm>
    [exec] (Firefox) {firefox} <~/icones/firefox.xpm>
    [exec] (Rekonq) {/usr/local/kde4/bin/rekonq} <~/icones/rekonq.xpm>
    [exec] (Thunar) {thunar} <~/icones/thunar.xpm>
    [exec] (LibreOffice) {libreoffice} <~/icones/libreoffice.xpm>
    [exec] (KolourPaint) {/usr/local/kde4/bin/kolourpaint} <~/icones/kolourpaint.xpm>
    [exec] (VLC) {vlc} <~/icones/vlc.xpm>
    [exec] (emacs) {emacs} <~/icones/emacs.xpm>
    [exec] (Mousepad) {mousepad} </usr/local/share/pixmaps/mousepad.xpm>
    [exec] (ePDFview) {epdfview} <~/icones/epdfview.xpm>
    [exec] (Gwenview) {/usr/local/kde4/bin/gwenview} <~/icones/gwenview.xpm>
    [submenu] (Configuration) {} <>
        [exec] (Fluxbare) {fluxbare} <>
        [config] (Configure) {} <>
        [submenu] (System Styles) {Choose a style...} <>
            [stylesdir] (/usr/local/share/fluxbox/styles) {} <>
        [end]
        [submenu] (User Styles) {Choose a style...} <>
            [stylesdir] (~/.fluxbox/styles) {} <>
        [end]
        [workspaces] (Workspace List) {} <>
        [submenu] (Tools) {} <>
            [exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center} <>
            [exec] (Top) {terminal -e top}
            [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg} <>
            [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png} <>
        [end]
        [submenu] (Window Managers) {} <>
            [restart] (twm) {twm} <>
            [restart] (xfce4) {startxfce4} <>
        [end]
        [commanddialog] (Fluxbox Command) {} <>
        [reconfig] (Reload config) {} <>
        [restart] (Restart) {} <>
        [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center} <>
        [separator] () {} <>
        [exit] (Exit) {} <>
    [end]
    [exit] (Quitter Fluxbox) {} <>
    [endencoding] () {} <>
[end]


Recopier bêtement ce fichier n'aurait aucun intérêt. Voyez comment vous voulez organiser votre menu et quels logiciels vous prévoyez d'installer. De plus, tous ces fichiers d'icônes en .xpm n'existent probablement pas chez vous. Vous devrez créer ceux qui vous intéressent et les ranger dans un dossier adéquat.

Par contre, je vous ai montré ce fichier pour que vous en compreniez la structure. La plupart des lignes sont du type :

Code : Autre
1
[exec] (Nom d'un programme) {commande lançant le programme} <chemin vers le fichier d'icône>


Bien entendu, l'icône n'est pas indispensable.

Configuration ouvre un sous-menu. Là, ça se complique un peu mais vous pouvez laisser le contenu par défaut.

Si, plutôt que d'éditer le menu à la main, vous préférez un outil de configuration graphique, il va falloir l'installer. Il s'appelle fluxconf. FreshPorts vous dira comment le télécharger. Pour le lancer, il faut taper fluxbare dans un terminal. Vous verrez alors apparaitre cette petite fenêtre :

Image utilisateur

Chacun de ces trois boutons ouvre une boîte de dialogue assez intuitive vous permettant de configurer :
  • Le menu
  • Les raccourcis clavier
  • Tout le reste


La boîte de dialogue du bouton Fluxconf parle d'un "slit". C'est quoi ?


C'est un objet invisible situé sur le bureau. Certaines applications, programmées avec la bibliothèque GnuStep, peuvent y être rangées. Un peu comme dans un dock, pour ceux qui connaissent. Il devient alors visible. Comme GnuStep est de moins en moins utilisée, vous ne devriez jamais avoir affaire à lui.

Nous, c'est le menu qui nous intéresse :

Image utilisateur

N'oubliez pas de sauvegarder avant de partir.

Remarquez les boutons en haut des fenêtres. A droite, il y a les traditionnels Agrandir, Réduire, Fermer. A gauche, il y a un quatrième bouton, représentant un cercle. Quand vous cliquez dessus, le cercle se remplit et, apparemment, rien d'autre ne se passe. Mais si vous changez alors de bureau, avec la molette de la souris ou les flèches de la barre de taches, cette fenêtre-ci viendra avec vous. Une autre manière de déplacer une fenêtre d'un bureau à un autre consiste à la faire glisser hors de l'écran, à gauche ou à droite.

En double-cliquant sur le titre d'une fenêtre, vous l'enroulez : toute la fenêtre disparaît, sauf la barre de titre. Double-cliquez à nouveau pour qu'elle réapparaisse.

Sous Fluxbox, le raccourci clavier Alt F1 ouvre le programme xterm : un terminal graphique rudimentaire. Pour accéder aux terminaux virtuels, il faut faire Alt Ctrl F1, Alt Ctrl F2, etc. Si vous voulez modifier ces raccourcis-clavier, demandez à fluxconf.



C - Thèmes et fond d'écran

Le fond d'écran tout noir ou tout gris, ça commence à bien faire. On est au XXIème siècle, quand même ! :colere2: Un bureau comme celui-ci, ce n'est quand même pas trop demander :

Image utilisateur

Image utilisateur

Vous pouvez facilement changer de thème à l'aide du menu de Fluxbox, qui en propose une bonne trentaine. Sur la capture ci-dessus, vous voyez le thème Makro, avec sa petite barre marron qui ne prend pas trop de place. Chacun de ces thèmes peut être modifié en éditant le fichier /usr/local/share/fluxbox/styles/[Nom du thème]/theme.cfg.

Définir le fond d'écran est à peine plus compliqué. Il faut éditer le fichier ~/.fluxbox/startup. Vers le début du fichier, avant la ligne exec fluxbox, ajoutez :

Code : Console
fbsetbg -f [chemin vers l'image à mettre en fond d'écran]


La commande fbsetbg définit (set) le fond d'écran (background) pour fluxbox. L'option -f indique que l'image doit occuper tout l'écran. Si vous préférez une image centrée ou une mosaïque, choisissez plutôt l'option -c ou -t.

Plus élaboré, vous pouvez aussi mettre plusieurs images dans un dossier et écrire dans ~/.fluxbox/startup la ligne :

Code : Console
fbsetbg -r [chemin vers ce dossier]

Une image sera prise au hasard dans ce dossier.

Non, ça ne fonctionne pas. J'ai raté quelque chose ?


Avec fbsetbg, nous avons demandé à fluxbox de mettre une image en fond d'écran. L'ennui, c'est que fluxbox ne sait pas faire ça. Pas tout seul, en tout cas. Il a besoin de l'aide de feh, un logiciel afficheur d'images. Installez-le puis tapez fbsetbg -i. Vous devez obtenir cette réponse :

Code : Console
feh is a nice wallpapersetter. You won't have any problems.


Redémarrez fluxbox. Vous aurez votre fond d'écran. Vous pouvez aussi choisir Reload config dans le menu.

feh ne sert pas qu'à ça. Pour afficher monimage.png, tapez dans un terminal graphique :

Code : Console
% feh monimage.png


Image utilisateur

D - Top et kill

Dans son menu par défaut, fluxbox vous propose le programme top. Vous vous demandez peut-être de quoi il s'agit. Cet utilitaire en mode console est très pratique pour surveiller l'activité des DAEMONs et faire le point sur l'état de votre système. Vous pouvez le lancer depuis le menu ou en tapant top dans un terminal.

Image utilisateur

En haut, vous lisez la charge du système : celle du microprocesseur (CPU), celle de la mémoire RAM (Mem), et celle du swap. Vous trouvez aussi le nombre de processus actifs ou dormants. En dessous, un tableau vous présente les principaux programmes en cours et les classe, en commençant par celui qui occupe le plus de place en mémoire.

Dans les colonnes de droite, vous trouvez le nom du programme et la part du CPU qu'il utilise. Dans celles de gauche, vous découvrez son numéro PID et l'utilisateur qui l'a lancé. Il peut s'agir d'utilisateurs en chair et en os ou de DAEMONs. Quand vous lancez un programme qui en lance lui-même un autre, c'est votre nom qui apparaît pour les deux.

Le numéro de PID est très utile pour manipuler un processus. Naturellement, vous n'avez accès qu'aux vôtres, à moins d'être root. Dans cet exemple, je peux interrompre firefox-bin en tapant :

Code : Console
% kill 1610


Parfois, un programme refuse de se fermer. Il a souvent une bonne raison pour ça et vous devriez chercher laquelle.

kill a la mine patibulaire d'une brute épaisse. :pirate: Mais c'est une commande bien plus sophistiquée qu'elle en a l'air. Elle peut envoyer aux programmes divers signaux :
  • kill ou kill -15 : signal TERM "Ferme-toi, s'il te plait."
  • kill -1 : signal HUP "Suspends-toi un moment."
  • kill -6 : signal ABRT "Enregistre un rapport d'erreur dans un fichier en .core et ferme-toi."
  • kill -9 : signal KILL "Tu discutes pas, tu te fermes et puis c'est tout."
  • Et il y en a d'autres...


On peut aussi préciser en toutes lettres le nom du signal à envoyer.

Code : Console
kill -s KILL 1290


Cette commande "tuera" immédiatement le DAEMON moused, sans aucune négociation. Bien entendu, vous n'aurez plus de souris tant que vous ne l'aurez pas relancé avec le script /etc/rc.d/moused start.

E - Eteindre l'ordinateur

Pour l'instant, seul root peut redémarrer ou éteindre l'ordinateur. Peut-être que c'est très bien comme ça. Si plusieurs utilisateurs sont susceptibles d'utiliser cette machine simultanément (par exemple, s'il s'agit d'un serveur), on ne peut pas laisser n'importe qui l'éteindre et interrompre brutalement :o les programmes des autres.

Mais s'il s'agit de votre ordinateur personnel, vous n'avez peut-être pas envie de passer en mode root chaque fois que vous voulez l'éteindre. Il faut donc modifier la politique de l'ordinateur en éditant le fichier /usr/local/etc/PolicyKit/PolicyKit.conf. Il est rédigé en XML et voici son contenu par défaut :

Code : XML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
    <match user="root">
	<return result="yes"/>
    </match>
    <define_admin_auth group="wheel"/>
</config>


En clair, root a tous les droits et, dès qu'il demande quelque chose, il faut lui répondre "Oui, chef !" :) Par ailleurs, le groupe des administrateurs est le groupe wheel.

On veut que les utilisateurs ordinaires puissent, depuis le mode graphique (donc par l'intermédiaire de HAL), se servir des commandes shutdown et reboot. On ajoute donc avant </config> les lignes suivantes :

Code : XML
1
2
3
4
5
6
<match action="org.freedesktop.hal.power-management.shutdown">
   <return result="yes"/>
</match>
<match action="org.freedesktop.hal.power-management.reboot">
   <return result="yes"/>
</match>

Maintenant, vous pouvez ajouter les commandes reboot et shutdown -p now au menu de fluxbox. Soyez toutefois conscients que, si vous cliquez dessus, on ne vous demandera pas confirmation.
Pour compléter votre bureau fluxbox, un gestionnaire de fichiers comme Thunar est indispensable. Vous pouvez aussi installer le programme fbdesk, qui vous permettra de placer des icônes sur le bureau, ainsi que fluxspace, pour configurer différemment chaque bureau virtuel.

Par défaut, Thunar n'affiche pas les fichiers et dossiers cachés, ceux dont le nom commence par un point. Pour les voir, tapez Ctrl H.

Personnalisez votre bureau à l'envi. Faites en sorte qu'il soit joli :soleil: et bien adapté à l'usage que vous souhaitez en faire.
Chapitre précédent Sommaire Chapitre suivant

Partager

39 commentaires pour "De belles fenêtres"
Note moyenne : 3.71 / 4 (299 votes)
Pseudo Commentaire
Hors ligne Brice Errandonea # Posté le 14/12/2011 à 22:37:37
Avatar
Groupe : Auteurs

Comment ça, il t'a "éjecté" du compte root ?
Hors ligne Jax Teller # Posté le 15/12/2011 à 22:13:54

Oui oui littéralement: avec la commande exec startfluxbox, après le message d'erreur que j'ai mis ci dessus, j'étais déconnecté du compte root et réenvoyé à la demande de login. Je ne sais pas trop si un dmesg pourrais retourné les erreurs d'hier soir... E
Hors ligne Jax Teller # Posté le 16/12/2011 à 20:58:27

Hop c'est reparti :) J'ai bien suivi le chapitre précédent concernant X (non sans mal mais finalement tout roule), j'en arrive à celui ci et au exec startfluxbox j'ai ceci:

Erreur Fluxbox

Je suis bel et bien "éjecté" du compte root...

Le message au dessus du Error code 1 indique juste que fluxbox était déjà installé (j'ai refais un make install pour voir si ça changeais quelque chose)
Hors ligne Jax Teller # Posté le 19/12/2011 à 22:24:47

J'ai trouvé :) :) Il suffisait, dans mon profil utilisateur, de passer en commentaire dans .xinitrc la ligne exec twm et d'ajouter dans ce même fichier exec startfluxbox. En fait vu qu'un autre gestionnaire de fenêtre était en exécution sur le Screen0, fluxbox ne trouvait aucun display pour démarrer.

Bon par contre je pense avoir méchamment pollué ma FreeBSD vu que j'ai entre temps tenté l'installation (via pkg_add) de E17 et KDE4 avec à la clé une impressionnante volée d'erreurs dues à des versions différentes entre certains programmes installés et ceux téléchargés... J'ai peut être un peu réparé les dégâts via le célèbre site de la gcu (http://wiki.gcu-squad.org/doku.php?id=freebsd:portupgrade) avec la commande pkgdb -F
Hors ligne Jax Teller # Posté le 26/12/2011 à 14:50:00

Encore moi...

Mon disque dur avec FreeBSD est brutalement décédé ce qui fait que j'ai du réinstaller le système de zéro. Mais je commence à perdre patience: plus moyen d'avoir un clavier en azerty sous Fluxbox. D'une part j'ai une erreur invalid token blabla avec le fichier 10-x11.input.fdi alors que j'ai recopié et vérifié la syntaxe dans mon fichier et sur le tuto mais impossible de trouvé l'erreur ; d'autre part j'ai essayé des dizaines de soluces trouvées sur le Web, en bricolant dans xorg.conf, en bricolant avec d'autres trucs dont j'ai déjà oublié le nom etc...

Mon xorg.conf:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "be"
Option "XkbVariant" "latin9"
EndSection


mais toujours aucun résultat, le clavier sous Fluxbox reste en qwerty :(

Voir tous les commentaires