Environnement graphique léger
dim. 15 sept. 2013 by MarmotteUn environnement graphique est quasi-indispensable, notamment 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èmenumlockx
: Sur les machines qui disposent d'un pavé numérique, pour l'activer au démarrageiceweasel
: Navigateur web, sur lequel j'installe l'extensionvimperator
murrines-themes
: Un lot de thèmes GTK+, contenant le thème greybird, que j'utilisealsa-base
etalsa-utils
: Pour la gestion du son, contrôlable ensuite par l'utilitairealsamixer
Note : Si un message d'erreur demande le moteur de themes
pixmap
dans le fichier~/.xsession-errors
, il faut installer le paquetgtk2-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+