Distribution Arch linux ARM : personnalisation

Distribution Arch linux ARM : personnalisation
Jérémie Kassianoff
10 novembre 2013
6 min de lecture

Obtenir une interface simple sur Raspberry Pi. Découvrir des outils légers et simples. Donner des couleurs à votre framboise préférée.

Cas d'usage concret

Vous voulez une interface légère et sur-mesure sur votre Raspberry Pi : voici comment personnaliser Arch Linux ARM.

Cet article se veut simple et rapide, il ne rentrera pas dans les détails.
Nous essayerons d’obtenir une interface assez fluide pour notre Raspberry Pi.
Pour ce faire, nous allons utiliser les paquets suivants :

– Slim est un gestionnaire de connexion**.**
– OpenBox est un gestionnaire de fenêtre.
Nitrogen permet de gérer les fonds d’écran.
Screenfetch permet d’afficher  des informations dans le terminal.
– Tint2 ajoute une barre des tâches (optionnel).
– pcmanfm est un gestionnaire de fichiers léger, qui peut gérer votre bureau.
lxeappearance permet de gérer les thèmes, les icônes et les polices du système.
midori est un navigateur web minimaliste.

Installation des pré-requis :

Avant de se lancer dans la configuration de ces programmes, il faut les installer :

bash
pacman -S slim openbox obconf obmenu nitrogen screenfetch tint2 pcmanfm lxeappearance midori

Le fichier « xinitrc » doit être configuré pour slim :

bash
nano /home/jeremie/.xinitrc

Ajouter ceci pour un démarrage automatique « openbox » :

bash
exec openbox-session

Créer un dossier « openbox » :

bash
mkdir -p ~/.config/openbox

Copier les fichiers de configuration « openbox » :

bash
cp -R /etc/xdg/openbox/* ~/.config/openbox

Lancer « openbox » une première fois :

bash
exec openbox-session

Lors du premier lancement, un écran vide est apparu, vous pouvez effectuer les actions suivantes :

  • Un clic droit sur le bureau fait apparaître le menu OpenBox.
  • Un clic sur le bouton du milieu va lister toutes les applications ouvertes.
  • La molette de la souris permet d’afficher les fenêtres actives et de basculer d’un bureau à un autre.
  • Les raccourcis de Windows fonctionne, exemple : « Alt + tab » ou encore « Alt + F4 ».

La configuration d’OpenBox

Lancement de la configuration « openbox » :

bash
obconf

La capture d’écran ci-dessous devrait apparaître :
Sélectionner vos thèmes, le nombre de bureaux à utiliser, régler vos préférences d’utilisation etc…

Lancer « obmenu » dans le terminal afin de de modifier vos entrées dans le menu « openbox » :

bash
obmenu

Vous pouvez aussi modifier le fichier « menu.xml » directement à la main :

bash
nano /home/jeremie/.config/openbox/menu.xml

D’avantage d’informations : http://doc.ubuntu-fr.org/openbox

Ajouter des fonds d’écran à Nitrogen

Nitrogen permet de choisir un fond d’écran en spécifiant le chemin du répertoire comme ceci :

bash
nitrogen ~/openbox/wallpapers/ &

La barre des tâches avec tint2 (optionnel)

OpenBox propose une barre dite flottante avec un clic molette.
Pour ceux qui le souhaitent vous pouvez utiliser une barre des tâches fixe avec « tint2« .

Pour lancer le processus « tint2 » en arrière plan :

bash
tint2 &

Cette commande permet de charger « tint2 » avec le fichier de configuration de base.

Lancement de « tint2 » en arrière plan avec un fichier de configuration :

bash
tint2 -c ~/openbox/config/tint2rc &

Cette commande permet de charger « tint2 » avec un fichier de configuration de son choix.

Voici un fichier de configuration pour « tint2 » :

bash
#---------------------------------------------
# TINT2 CONFIG FILE
#---------------------------------------------

#---------------------------------------------
# BACKGROUND AND BORDER
#---------------------------------------------
rounded = 0
border_width = 0
background_color = #000000 100
border_color = #414140 100

rounded = 0
border_width = 0
background_color = #1F262E 100
border_color = #232426 100

rounded = 0
border_width = 0
background_color = #000000 100
border_color = #232426 100

#---------------------------------------------
# PANEL
#---------------------------------------------
panel_monitor = all
panel_position = bottom center
panel_size = 100% 26
panel_margin = 0 6
panel_padding = 2 0
panel_items = TSC
font_shadow = 0
panel_background_id = 1
wm_menu = 1

#---------------------------------------------
# TASKBAR
#---------------------------------------------
taskbar_mode = single_monitor
#taskbar_mode = multi_desktop
#taskbar_mode = all
taskbar_padding = 0 0 0
taskbar_background_id = 0

#---------------------------------------------
# TASKS
#---------------------------------------------
task_icon = 1
task_text = 1
task_width = 200
task_centered = 0
task_padding = 10 5
task_font = Droid Sans bold 9
task_font_color = #ffffff 70
task_active_font_color = #ffffff 100
task_background_id = 3
task_active_background_id = 2

#---------------------------------------------
# LAUNCHER
#---------------------------------------------
launcher_padding = 0 0 3
launcher_background_id = 1
launcher_icon_size = 24
# Specify icon theme names with launcher_icon_theme. 
# if you have an XSETTINGS manager running (like xfsettingsd), tint2 will follow your current theme.
launcher_icon_theme = AwOkaenza II
# Each launcher_item_app must be a full path to a .desktop file
launcher_item_app = /home/moon/.dock/nautilus.desktop
launcher_item_app = /home/moon/.dock/nautilus-musique.desktop
launcher_item_app = /home/moon/.dock/firefox.desktop
launcher_item_app = /home/moon/.dock/pidgin.desktop
launcher_item_app = /home/moon/.dock/gmusicbrowser.desktop

#---------------------------------------------
# SYSTRAYBAR
#---------------------------------------------
systray_padding = 2 4 5
systray_background_id = 1

#---------------------------------------------
# CLOCK   
#---------------------------------------------
time1_format = %d.%m.%y // %H:%M
time1_font = DroidSans Bold 9
clock_font_color = #ffffff 70
clock_padding = 6 4
clock_background_id = 1
clock_lclick_command = orage
#clock_rclick_command = 

#---------------------------------------------
# BATTERY
#---------------------------------------------
#battery = 0
#battery_low_status = 7
#battery_low_cmd = notify-send "battery low"
#bat1_font = sans 8
#bat2_font = sans 6
#battery_font_color = #ffffff 76
#battery_padding = 1 0
#battery_background_id = 0

#---------------------------------------------
# MOUSE
#---------------------------------------------
mouse_middle = close
mouse_right = none
mouse_scroll_up = toggle
mouse_scroll_down = iconify

Il existe des tonnes de fichiers de configuration sur internet.
Je vous conseille de vous créer votre propre fichier de configuration, c’est beaucoup plus sympa !

Des informations dans le terminal avec Screenfetch

Screenfetch renvoie des informations dans le terminal, pour l’ajouter :

bash
nano /home/jeremie/.bashrc

Rajouter la ligne à la fin du fichier :

bash
screenfetch

Relancez votre terminal et appréciez le changement !

Le gestionnaire de fenêtre pcmanfm

Pcmanfm est très léger, il convient bien au Raspberry Pi et il peut aussi gérer votre bureau!
Pour que Pcmanfm gère votre bureau, il faut lancer la commande suivante :

bash
pcmanfm --desktop &

Pour le rendre plus agréable, télécharger un pack d’icône :

bash
pacman -S faenza-icon-theme

Gérer votre interface graphique avec Lxappearance

Lxappearance vous permet de gérer les icônes, le curseur de la souris et bien d’autre :
Lancer Lxappearance avec xterm :

bash
lxappearance

Par défaut le pack d’icône est assez simple. Ajouter les icones « Faenza » de votre choix :

Lancer l’ensemble de votre configuration au démarrage

Pour lancer des applications au démarrage , il faut ajouter à la fin du fichier « autostart.sh » :

bash
nano ~/.config/openbox/autostart.sh
bash
# Restauration du dernier wallpaper
nitrogen --restore &

# Demarrage de la barre de taches Tint
sleep 2 && tint2 -c ~/openbox/tint2rc &

N’oubliez pas de rendre exécutable votre script :

bash
chmod +x ~/.config/openbox/autostart.sh

Le script est à adapter suivant vos envies, votre configuration et votre niveau.
Au final, il est difficile d’avoir une interface fluide sous notre framboise, rien ne vaut le terminal !

Conclusion

Cette personnalisation d'Arch Linux ARM sur Raspberry Pi met en place un environnement graphique léger avec Slim, OpenBox, Nitrogen pour les fonds d'écran, Tint2 pour la barre des tâches et pcmanfm/Lxappearance pour la gestion du bureau et des thèmes. L'objectif était d'obtenir une interface simple et fluide malgré les ressources limitées de la framboise, en gardant la main sur chaque composant. Au final, le terminal reste néanmoins l'outil le plus efficace sur ce type de matériel.