---
aliases: [/fr/sys/openbsd/xfce/]
categories: ['OpenBSD','Système','X11']
date: 2021-07-20T21:05:54+02:00
description: "Installer et utiliser l'environnement de bureau graphique Xfce4 sous OpenBSD !"
draft: false
tags: ['OpenBSD','Xfce','Xfce4']
title: "OpenBSD : Utiliser Xfce4"
translationKey: "openbsd-xfce4"
---
## 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
{{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} 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 :
```cfg
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 :
```sh
# usermod -G _shutdown,wheel user
```
*(modifier 'user' par votre identifiant utilisateur, bien-sûr…)*
### Performances
#### apmd
Configurer `{{< inside2 l="sys/openbsd/apm" t="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'{{< inside2 l="sys/openbsd/obsdfreqd" >}}.
**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 :
```cfg
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 :
```cfg $HOME/.profile
# $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 :
```cfg $HOME/.xsession
. $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 :
```cfg $HOME/.kshrc
. /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` :
```cfg
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 :
```cfg $HOME/.xsession
. $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 ; {{< inside2 l="sys/openbsd/rcctl" t="activons" a="activer" >}}
et {{< inside2 l="sys/openbsd/rcctl" t="démarrons" a="démarrer" >}}
**messagebus**
⇒ À ce propos si votre machine est un ordinateur portable,
{{< inside2 l="sys/openbsd/pkg" t="installez" a="installer" >}} le
paquet `xfce4-power-manager`, qui n'est pas fourni par défaut.
### Impression
Pour gérer l'impression, il est utile d'installer
{{< inside2 l="sys/openbsd/cups" t="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 : {{< inside2 l="sys/openbsd/cups" t="CUPS" a="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 :
```cfg
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 `{{< inside2 l="sys/openbsd/avahi" t="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 {{< inside2 l="sys/openbsd/cups" t="règles PF" a="règles-pf" >}}
pour Cups,
⇒ les {{< inside2 l="sys/openbsd/avahi" t="règles PF" a="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
---
* la FAQ officielle : https://wiki.xfce.org/faq
* les trucs et astuces : https://wiki.xfce.org/tips
---