%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

OpenBSD : Utiliser Xfce4

Article publié, le et modifié le
6 minutes de lecture

Cet article contient 1157 mots.
Source brute de l'article :
Commit version : e1fc393

Description

Xfce4 est un environnement de bureau graphique, disponible aussi sous OpenBSD.

⇒ Environnement :

  • OpenBSD : 6.6 → 7.4
  • Xfce4 : 4.14 → 4.18

Dans ce tutoriel, je pars du principe qu’OpenBSD vient d’être fraîchement installé, et que tout est à faire.

Installation

Installez les paquets xfce xfce-extras.

L’installation de ces paquets installent des dépendances, tel le paquet dbus.

Paquets supplémentaires

Par défaut, certains paquets liés à l’environnement de bureau ne sont pas installés. À vous de voir si vous voulez le faire !

  • xfce4-icon-theme : deux, trois packs d’icônes supplémentaires
  • xfce4-power-manager : gestion de l’énergie pour ordinateur portable
  • xfce4-pulseaudio : greffon pour le système de son pulseaudio - mais pulseaudio n’est pas nécessaire…
  • xfce4-xkb : permet la bascule de calques de différentes langues de clavier - mais est-ce vraiment utile, quand l’usage de la commande setxkbmap, voire tout simplement kbd, suivie du code de langue… suffit.

Configuration

Depuis la version 4.14 d’Xfce4, disponible depuis OpenBSD 6.6, il est un peu plus simple de configurer son environnement système personnel, pour faire fonctionner aisément Xfce4.

Dans un premier temps, je montre un configuration basique fonctionnel ; puis, j’ajouterai des informations qui peuvent améliorer votre “confort” fonctionnel.

.xsession

Le premier fichier à créer est le fichier personnel de session ~/.xsession pour y ajouter simplement :

exec xfce4-session

profil utilisateur

Il est impératif d’ajouter votre utilisateur système aux deux groupes systèmes suivants :

  • pour utiliser les fonctions d’extinctions et de redémarrage :
    • OpenBSD ≤ 7.3 : operator
    • OpenBSD ≥ 7.4 : _shutdown
  • wheel qui autorise à utiliser les fonctions de veille et d’hibernation, si elles sont disponibles sur votre système.

Avec des droits administrateurs :

# usermod -G _shutdown,wheel user

(modifier ‘user’ par votre identifiant utilisateur, bien-sûr…)

Performances

apmd

Configurer apmd va nous permettre d’utiliser la veille et l’hibernation. Pour se faciliter, nous le mettrons en mode automatique d’ajustement des performances.

obsdfreqd

Si vous avez un laptop ou que vous souhaitez que le système gère plus finement l’ajustement des performances, vous pouvez préférer l’utilisation d’obsdfreqd : un service pour gérer la fréquence CPU / OpenBSD.

obsdfreqd est un gestionnaire de fréquences de CPU, créé par Solène Rapenne. Il a été officiellement packagé depuis OpenBSD 7.1.

Il remplace le service natif apmd.


Explications :

  • il est nécessaire de démarrer apmd en mode manuel, pour qu’obsdfreqd le gère sans soucis.
  • les paramètres par défaut d’obsdfreqd suffisent généralement.

Voilà !

C’est suffisant pour faire fonctionner correctement Xfce4 sous OpenBSD. Un petit redémarrage de l’OS et ça devrait le faire. :p

Maintenant allons un peu plus loin dans la configuration, tel qu’avoir sa session en langue française, et d’autres petites astuces utiles.

.profile

Commençons par configurer votre fichier personnel de profil ~/.profile.

Ajouter à celui de base les mentions suivantes :

EDITOR=vi	# ou nano, emacs, voire vim
ENV=$HOME/.kshrc
LC_MESSAGES=fr	# ou fr_FR.UTF8, si vous préférez ; mais ça sera pareil !

export EDITOR ENV LC_MESSAGES

⇒ Explications :

  • Personnellement j’aime et utilise l’éditeur de texte nano ; vi est installé de base, les autres sont à installer.
  • Déclaration d’un ENVironnement personnalisé, ici l’usage du Korn Shell, par défaut, qui est pdksh.
  • Définissons simplement la langue FRançaise - il n’y a vraiment pas besoin de plus.

Bien-sûr, nous exportons les trois variables afin qu’elles soient toutes utiles et utilisées ensuite.

Pour finir sur ce sujet, il est bien sûr possible de définir toute variable d’environnement, telle PS1 par exemple :

export PS1="[\t] \e[0;35m:\u@\h: \e[0;32m\w \e[0;36m\$ \e[m"


Voici un exemple du fichier fini :

# $OpenBSD: dot.profile,v 1.7 2020/01/24 02:09:51 okan Exp $
#
# sh/ksh initialization

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games
export PATH HOME TERM

EDITOR=nano
ENV=$HOME/.kshrc
LC_MESSAGES=fr

export EDITOR ENV LC_MESSAGES

Concernant la variable ENV, nous avons déclaré un fichier personnel ~/.kshrc. Par défaut, il n’existe pas ; il suffit de le créer avec votre éditeur de texte favori - ce que nous verrons ci-dessous…


Il faut modifier votre fichier personnel ~/.xsession pour ajouter l’environnement du profil, tel que :

. $HOME/.profile

exec xfce4-session

Ainsi votre session graphique tiendra compte des différents paramètrages de votre profil, tel que la gestion de la langue, par exemple…

.kshrc

Le contenu de ce fichier personnel n’est pas compliqué. Voici quoi ajouter pour être fonctionnel :

. /etc/ksh.kshrc
. $HOME/.profile

HISTCONTROL=ignoredumps
HISTFILE=$HOME/.mksh_hist
HISTSIZE=10000
PAGER=less

export PAGER

⇒ Explications utiles :

  • On source le fichier d’initialisation globale pour ksh /etc/ksh.kshrc afin d’avoir un environnement shell correctement configuré par défaut
  • On source le fichier de profil personnel et personnalisé
  • Les variables HIST* sont utiles pour l’historique des commandes effectuées :
    • HISTFILE est la variable pour définir le fichier de sauvegarde de l’historique
    • HISTSIZE est le nombre de commande à se souvenir ; à ne pas confondre avec le nombre de lignes du fichier, qui lui est défini par la variable HISTFILESIZE - non définie ici.
    • Pour finir, il n’y a pas besoin d’exporter ces variables

dbus

Le paquet dbus est installé en tant que dépendance.

Les modifications ci-dessous ne sont pas essentielles, bien qu’utiles. Elles sont relatées dans le fichier pkg-readme relatif.

Ajouter à votre fichier personnel de session ~/.xsession :

if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
	eval `dbus-launch --sh-syntax --exit-with-x11`
fi

Le fichier ressemblera ainsi au final à cela :

. $HOME/.profile

if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
	eval `dbus-launch --sh-syntax --exit-with-x11`
fi

exec xfce4-session

Le pkg-readme upower nous informe qu’il est utile d’exécuter les services apmd et messagebus afin que le système de gestion d’énergie fonctionne ; activons et démarrons messagebus

⇒ À ce propos si votre machine est un ordinateur portable, installez le paquet xfce4-power-manager, qui n’est pas fourni par défaut.

Impression

Pour gérer l’impression, il est utile d’installer CUPS .

Démarrons les services cupsd, voire cups_browsed - ce dernier étant utile pour la détection des imprimantes sur le réseau, utilisant les messages broadcast de type Bonjour.

Voir : CUPS

L’administration peut se faire au-travers de l’interface web de Cups, disponible depuis l’URL http://localhost:631, ou des outils cupsctl, lpadmin.


Depuis OpenBSD 6.2, les binaires lpq, lpr, et lprm doivent être symboliquement liés, pour fonctionner plus facilement.

Éditons à nouveau le fichier personnel ~/.kshrc pour y ajouter :

for i in lpq lpr lprm; do alias $i=/usr/local/bin/$i; done 

Avahi

Avahi est sous OpenBSD le service de découverte multicast DNS, de type Bonjour.

Il suffit d’installer le paquet avahi pour en profiter puis d’activer et démarrer les services dans le bon ordre.

Astuces

PF

Je n’ai pas abordé la question des règles de parefeu, mais voici par exemple :

⇒ les règles PF pour Cups,

⇒ les règles PF pour Avahi.

Bien-sûr, c’est à vous de voir à les utiliser, voire à les améliorer selon vos nécessités.

Pour finir

Pensez après vos modifications des fichiers personnels, à redémarrer à minima votre session, voire la machine. À vous de voir ! ;-)

Après, à vous d’installer tout autre logiciel qui peut vous être utile.


Voilà !

Documentations

  • les différents fichiers pkg-readme :
    • /usr/local/share/doc/pkg-readmes/xfce
    • /usr/local/share/doc/pkg-readmes/dbus
    • /usr/local/share/doc/pkg-readmes/upower