Un environnement graphique est quasi-indispensable, notemment pour visiter un bon nombre de sites web. Il en existe beaucoup sous Linux, ce qui permet de choisir selon des critères très variés.

J'aime bien les environnements légers, autant au niveau consommation de ressources qu'affichage à l'écran. Précédemment, j'utilisais Xfce, accompagné de Compiz, configuré pour avoir beaucoup de raccourcis clavier, des fenêtres sans décorations, etc. Finalement, cette configuration ressemblait à la configuration par défaut d'awesome, mais dans un environnement consommant plus de ressources, et sans l'avantage des tags...

Awesome est un gestionnaire de fenêtres conçu pour être léger et totalement configurable. Il est parfaitement adapté à une utilisation au clavier, mais n'abandonne pas pour autant la souris.

Installation

Pour utiliser awesome, il faut installer un serveur d'affichage, j'utilise Xorg. Il est possible de lancer une session graphique avec les utilitaires xinit ou startx, mais je préfère utiliser nodm, qui lance automatiquement une session graphique au démarrage de la machine.

J'utilise le plugin vicious d'awesome, pour certains widgets, qui est disponible dans le paquet awesome-extra.

Enfin, j'ai pour habitude de toujours installer le paquet xfonts-base.

$ sudo apt-get install --no-install-recommends xserver-xorg awesome awesome-extra nodm xfonts-base

Applications indispensables

Les applications que je considère comme indispensables sont l'émulateur de terminal et le verrouillage d'écran.

Sous Awesome, j'utilise urxvt comme terminal, et slock pour verrouiller l'écran. L'application xautolock est utilisée pour lancer automatiquement slock en cas d'inactivité.

$ sudo apt-get install --no-install-recommends rxvt-unicode xautolock suckless-tools

Lancement automatique

Par défaut, nodm est configuré pour ne rien faire. Il faut éditer le fichier /etc/defaults/nodm pour mettre la variable NODM_ENABLED à la valeur true, et modifier l'utilisateur pour lequel une session est lancée.

# Set NODM_ENABLED to something different than 'false' to enable nodm
NODM_ENABLED=true

# User to autologin for
NODM_USER=<Username>

Configuration

Configurer la session graphique

La configuration de la session graphique se fait par les outils basiques de X. En effet, awesome n'est qu'un gestionnaire de fenêtre, et ne s'occupe donc pas de la gestion de la session, et nodm lance une session graphique standard, via le script /etc/X11/Xsession.

Pour définir des paramètres au niveau de la session, ou lancer des applications au lancement de la session, il faut mettre les commandes correspondantes dans le fichier ~/.xsessionrc.

Sur mes machines, j'y mets les éléments suivants :

# Define GTK2 config file for Qt applications
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"

# Auto-lock the screen after 5 minutes of inactivity
xautolock -time 5 -locker slock &
# Uncomment to autolock the screen at startup
#slock &

# Disable PC Speaker under X
xset -b

# Touchpad configuration
synclient TapButton1=1

# Start the terminal with a unique always-alive screen
urxvt -T Terminal -e bash -c "while true; do screen -xRR; done" &

Note : La dernière ligne lance une simple boucle infinie dans le terminal, qui me permet de ne pas fermer la fenêtre, même en cas de fausse manipulation, et d'avoir toujours un unique screen.

Configurer awesome

La configuration d'awesome est faite dans un fichier Lua, qui est un langage de script assez simple. Cela permet une grande flexibilité, mais rend la configuration un peu plus complexe. Pour ceux qui ne veulent pas partir de zéro, il est possible de copier la configuration par défaut du paquet Debian dans le répertoire utilisateur.

$ mkdir ~/.config
$ cp -r /etc/xdg/awesome ~/.config

Le fichier principal de configuration est rc.lua.

Configurer URxvt

Dans le terminal, j'utilise la police DejaVu Sans Mono, qui est disponible dans le paquet ttf-dejavu.

$ sudo apt-get install --no-install-recommends ttf-dejavu xfonts-base

Les configurations d'URxvt se font dans le fichier ~/.Xresources.

Note : Elles étaient précédemment dans le fichier ~/.Xdefaults, mais celui-ci est déprécié.

Paquets supplémentaires

J'installe aussi d'autres paquets :

  • acpi-support : Pour gérer les appels ACPI du système
  • numlockx : Sur les machines qui disposent d'un pavé numérique, pour l'activer au démarrage
  • iceweasel : Navigateur web, sur lequel j'installe l'extension vimperator
  • murrines-themes : Un lot de thèmes GTK+, contenant le thème greybird, que j'utilise
  • alsa-base et alsa-utils : Pour la gestion du son, contrôlable ensuite par l'utilitaire alsamixer

Note : Si un message d'erreur demande le moteur de themes pixmap dans le fichier ~/.xsession-errors, il faut installer le paquet gtk2-engines-pixbuf.

Thème des applications GTK+

Pour configurer le thème utilisé par les applications GTK+, il faut le renseigner dans deux fichiers, selon la version de GTK+ utilisée par l'application.

Pour les applications GTK+ 2, c'est dans le fichier ~/.gtkrc-2.0 :

gtk-theme-name = "<ThemeName>"

Pour les applications GTK+ 3, c'est dans le fichier ~/.config/gtk-3.0/settings.ini :

[Settings]
gtk-theme-name = <ThemeName>

Thème des applications Qt

Je configure toujours Qt pour utiliser le thème GTK+. Pour cela, il est nécessaire que la variable d'environnement GTK2_RC_FILES contienne le chemin du fichier de configuration GTK+ 2 à utiliser, ce que je fais dans le fichier ~/.xsessionrc.

Il faut ensuite indiquer à Qt d'utiliser le thème GTK+, dans le fichier ~/.config/Trolltech.conf.

[Qt]
style=GTK+