Fluxbox est un environnement très léger, très rapide et surtout très simple d'emploi. Il est basé à l'origine sur Blackbox et écrit en C++ et il est sous licence MIT.
Moi je suis parti d'une CLS (Calculate Linux Scratch) pour l'installer et faire les manips ci-dessous.
Mais pour info, dans l'entreprise où je travaille, fluxbox est en service sur une Red Hat où se connectent une centaine d'utilisateurs en VNC. Cet article me sert donc aussi d'aide mémoire pour personnaliser les bureaux.
Pour installer Fluxbox, il suffit d'installer le paquet ...
fluxbox !
J'ai du aussi installer un gestionnaire de connexion, ici, j'ai pris
lightdm avec son interface en GTK :
On vérifie que
/etc/conf.d/xdm contienne bien la ligne :
DISPLAYMANAGER="lightdm" puis on ajoute le service au démarrage :
Par défaut,
fluxbox incorpore une vingtaine de thèmes. Si on souhaite en installer en plus, on peut installer des paquets additionnels :
Si on veut créer son propre thème, on peut en copier un existant depuis
/usr/share/fluxbox/styles et le coller dans
~/.fluxbox/styles .
Personnellement, j'aime bien
bloe pour du thème clair et
bora_black pour le thème foncé.
idesktop permet de placer des icônes sur le bureau.
J'utilise ça sur le serveur applicatif de notre société où chaque utilisateur a seulement 3 icônes à disposition.
Pour l'installer, on installe tout simplement le paquet
idesk :
On créé ensuite pour l'utilisateur concerné le répertoire (caché) des icônes :
Chaque raccourci porte un nom finissant par lnk (Lima, November, Kilo) . Voici un exemple de raccourci :
Code TEXT :table Icon
Caption: Firefox
Command: /usr/bin/firefox
Icon: /usr/share/pixmaps/firefox.png
Width: 48
Height: 48
X: 500
Y: 150
end
Les noms des champs sont assez explicite, je n'ai pas besoin de préciser.
Fluxbox se configure de manière globale dans
~/.fluxbox/init.
C'est dans ce fichier que va se trouver l'ensemble du paramétrage.
Je vous cite quelques variables :
La disposition des éléments dans la barre principale :
Code TEXT :session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, iconbar, systemtray, clock
Le placement de la barre FluxBox :
Code TEXT :session.screen0.toolbar.placement: TopCenter
Le format de la date :
Code TEXT :session.screen0.strftimeFormat: %a %d %b %Y - %k:%M:%S
Le fichier de menu :
Code TEXT :session.menuFile: ~/.fluxbox/menu_adrien
Ou encore le style :
Code TEXT :session.styleFile: /usr/share/fluxbox/styles/BlueNight
Je vous mets mon fichier de configuration. Vous pouvez vous inspirer :
Fluxbox permet de générer un menu par défaut de manière automatique. Cela se fait via la commande :
Ce menu se place dans
~/.fluxbox/menu
La variable du fichier
~/.fluxbox/init nommée
session.menuFile: ~/.fluxbox/menuadrien permet d'indiquer un menu personnalisé à notre sauce.
Personnellement, je préfère créer mon menu. Je l'ai appelé
menuadrien toujours dans
~/.fluxbox. Voici la syntaxe du fichier, avec un exemple d'application et de sous-menu :
Code TEXT :[begin] (Nom du menu)
[encoding] {UTF-8}
[exec] (Libellé) {commande}
[submenu] (Sous Menu)
[exec] (Libellé programme1) {commande_prog1}
[exec] (Libellé programme2) {commande_prog2}
[end]
[end]
Pour info, voici mon "menuadrien" au moment où je rédige cet article :
Code TEXT :[begin] (Menu Fluxbox)
[encoding] {UTF-8}
[exec] (Terminal) {mate-terminal}
[exec] (Navigateur) {vivaldi-snapshot}
[exec] (Fichiers) {caja}
[exec] (Run) {fbrun}
[exec] (------------------)
[submenu] (Accessoires)
[exec] (Calculatrice) {mate-calc}
[exec] (Capture d'écran) {mate-screenshot --interactive}
[exec] (Disques) {gnome-disks}
[exec] (Editeur de texte) {pluma}
[exec] (Fichiers) {caja}
[end]
[submenu] (Bureautique)
[exec] (Libreoffice) {libreoffice}
[exec] (LibreOffice Calc) {libreoffice --calc}
[exec] (LibreOffice Writer) {libreoffice --writer}
[exec] (LibreOffice Impress) {libreoffice --impress}
[exec] (Visionneuse de documents) {atril}
[end]
[submenu] (Graphisme)
[exec] (Gimp) {gimp}
[exec] (Hugin) {hugin}
[exec] (Peek) {peek}
[exec] (Visionneuse d'images) {eom}
[end]
[submenu] (Internet)
[exec] (Anydesk) {anydesk}
[exec] (Chromium) {chromium-browser}
[exec] (Discord) {discord}
[exec] (Filezilla) {filezilla}
[exec] (Midori) {midori}
[exec] (Opera) {opera}
[exec] (Remmina) {remmina}
[exec] (Skype) {skypeforlinux}
[exec] (Telegram) {telegram-desktop}
[exec] (Thunderbird) {thunderbird}
[exec] (Transmission Qt) {transmission-qt}
[exec] (Vivaldi Snapshot) {vivaldi-snapshot}
[end]
[submenu] (Jeux)
[exec] (Blobby Volley) {blobby}
[exec] (Dosbox) {dosbox}
[exec] (Steam) {/usr/bin/steam}
[end]
[submenu] (Outils Système)
[exec] (Fichiers Root) {pkexec /usr/bin/caja}
[exec] (Calculate Console) {cl-console-gui}
[exec] (Calculate Linux Update) {cl-console-gui-update}
[exec] (Cool Retro Term) {cool-retro-term}
[exec] (Éditeur dconf) {dconf-editor}
[exec] (Gparted) {gparted-pkexec}
[exec] (Moniteur système) {mate-system-monitor}
[exec] (Oracle xVM VirtualBox) {VirtualBox}
[exec] (Rosa Image Writer) {pkexec RosaImageWriter}
[exec] (Terminal) {mate-terminal}
[end]
[submenu] (Son et Vidéo)
[exec] (Alexandra) {alexandra}
[exec] (Audacity) {audacity}
[exec] (Brasero) {brasero}
[exec] (Clémentine) {clementine}
[exec] (Contrôleur de volume) {pavucontrol}
[exec] (Convertisseur Audio) {soundconverter}
[exec] (EasyTAG) {easytag}
[exec] (FF Multi Converter) {ffmulticonverter}
[exec] (Kdenlive) {kdenlive}
[exec] (Mixxx) {mixxx}
[exec] (Molotov) {/opt/molotov/molotov-launcher.sh}
[exec] (Nero) {nero}
[exec] (Nero Express) {neroexpress}
[exec] (OBS) {obs}
[exec] (OpenShot) {openshot-qt}
[exec] (SimpleScreenRecorder) {simplescreenrecorder --logfile}
[exec] (SMPlayer) {smplayer}
[exec] (Son) {mate-volume-control}
[exec] (Spotify) {spotify}
[end]
[exec] (------------------)
[exec] (Éteindre le PC) {mate-terminal -e /home/adrien/.adrien/shutdown.sh}
[exec] (------------------)
[submenu] (Fluxbox menu)
[config] (Configure)
[submenu] (Styles)
[include] (/usr/share/fluxbox/menu.d/styles/)
[end]
[workspaces] (Workspace List)
[submenu] (Tools)
[exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center}
[exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg}
[exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png}
[exec] (Run) {fbrun}
[exec] (Regen Menu) {fluxbox-generate_menu}
[end]
[commanddialog] (Fluxbox Command)
[reconfig] (Reload config)
[restart] (Restart)
[exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
[separator]
[exit] (Exit)
[end]
[endencoding]
[end]
Une fois le menu modifié, il prend effet directement. Si cela ne veut pas fonctionner, il suffit de recharger la config de fluxbox.
Pour changer le fond d'écran, créer ou modifier le fichier
~/.fluxbox/overlay
Et reseigner le chemin du fond d'écran :
A noter qu'on peut le définir temporairement via la commande
fbsetbg :
A noter que le programme
eterm doit être installé si cela ne fonctionne pas
Pour ajouter des programmes au démarrage (comme par exemple idesk) éditer le fichier
~/.fluxbox/startup et mettre le nom des programmes avec une esperluette
avant la ligne exec /usr/bin/startfluxbox :
Voici par exemple mon fichier startup :
Les raccourcis claviers se paramètrent dans
~/.fluxbox/keys.
Pour infos, dans la syntaxe de ce fichier :
Exemple avec une commande "Windows + F" qui lance Firefox :
Pour désactiver le menu sur le bureau via le clic droit (pratique pour un serveur applicatif comme au travail) , commenter la ligne :
Code TEXT :OnDesktop Mouse3 :RootMenu
Seules les instructions indiquées dans ce fichier sont prises en compte.
Voici par exemple mon fichier
keys dans
~/.fluxbox :
Il est possible de changer le thème (GTK) des applications via lxappearance par exemple (de manière graphique).
Sinon, ça se passe dans le fichier
~/.gtkrc-2.0.
Je vous mets le mien en exemple, les noms des variables sont parlantes, vous verrez mon curseur, le thème, la police, les icônes utilisés :
Si on veut disposer d'un terminal au moins, on peut installer
xterm :
Si on souhaite avoir le terminal en fond noir avec le texte en blanc (par défaut, c'est l'inverse), on personnalise le fichier
~/.Xdefaults :
Code TEXT :XTerm*Background: black
XTerm*Foreground: white
Les curseurs se situent dans : /usr/share/icons/NOMDUTHEME ou ~/.icons/NOMDUTHEME. ici par exemple, pour modifier le curseur par défaut de X par celui du thème "Bluecurve" installé il faut modifier le fichier ~/.Xdefaults :
Pour indiquer à fluxbox d'utiliser ces paramètres spécifiques, il est peut être nécessaire de lancer la commande xrdb avant le chargement de fluxbox :
Si on veut tester en direct : xrdb -merge ~/.Xdefaults + redémarrer fluxbox via le menu.
Pour personnaliser davantage, la doc est ici :
Pour verrouiller son écran, on peut utiliser une fonctionalité de lightdm.
Pour cela, on peut affecte le verrouillage de l'écran via la combinaison Windows+L par exemple :
Dans ~/.fluxbox/keys on met donc
Pour verrouiller son écran, on peut installer
xscreensaver. Il permet aussi de mettre un écran de veille.
Installer le paquet
xscreensaver.
Ensuite, on peut affecter le verrouillage de l'écran via la combinaison Windows+L
Dans ~/.fluxbox/keys on met donc
Pour paramétrer xscreensaver, on peut le faire facilement avec la commande
xscreensaver
Bien sûr, l'ajouter au démarrage de la session dans le ~/.fluxbox/startup comme vu précédemment :
On peut aussi ajouter un indicateur de volume dans la barre des tâches.
Il s'agit du paquet
volumeicon à installer.
Ensuite, on ajoute la ligne pour lancer l'applet automatiquement au démarrage de session dans le ~/.fluxbox/startup comme vu précédemment :
Si on utilise Pulseaudio, on peut l'ajouter aussi
On peut aussi ajouter un indicateur de réseau dans la barre des tâches.
Quand on utilise NetworkManager, il faut installer
nm-applet
Ensuite, on ajoute la ligne pour lancer l'applet automatiquement au démarrage de session dans le ~/.fluxbox/startup comme vu précédemment :