More is less

Systemd

Adieu System V, on va tous y passer, à systemd

1. Systemd gère tout seul le réseau. On peut donc oublier wicd ou NetworkManager. La configuration est extrèmement simple

2. Verrouillage d'écran avec slock

Note: moa est le pseudo de l'utilisateur et sdf est le nom de la machine.

Réseau

Observation: cette technique est peu adaptée à une utilisation nomade.

Il faut commencer par connaître le nom des interfaces. C'était trop simple avec eth0 et wlan0, maintenant c'est des noms à la con.

moa@sdf $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 
	qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:23:18:52:87:fb brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
	qdisc mq state UP group default qlen 1000
 ... ...

Donc (chez moi) l'interface filaire est enp0s25 et l'interface wifi est wlp3s0. Il faudra adapter toutes les occurences de ces deux identifiants.

Configuration de l'interface filaire

Il faut créer le fichier /etc/systemd/network/enp0s25.network

[Match]
Name=enp0s25
 
[Network]
DHCP=yes

On peut remplacer la ligne DHCP=yes par une adresse statique :

[Match]
Name=enp0s25
  
[Network]
Address=192.168.1.24
Gateway=192.168.1.1

Et pour rendre cette configuration active :

moa@sdf $ sudo systemctl enable systemd-networkd.service
moa@sdf $ sudo systemctl start systemd-networkd.service
Configuration de l'interface wifi

On va aussi créer le fichier /etc/systemd/network/wlp3s0.network

[Match]
Name=wlp3s0
 
[Network]
DHCP=yes

Comme ci-dessus on peut lui attribuer une adresse statique.

Configuration du wpa_supplicant

Son rôle est de prendre en charge le WPA2 (ou WEP ...)

Il faut créer le fichier : /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1

et lui passer le SSID et le mot de passe :

wpa_passphrase essid pass >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

où essid est votre ESSID et pass votre mot de passe de connexion

A nouveau il faut rendre statique les services et les démarrer :

moa@sdf $ sudo systemctl enable systemd-networkd.service
moa@sdf $ sudo systemctl enable wp_supplicant@wlp3s0.service
moa@sdf $ sudo systemctl start systemd-networkd.service
moa@sdf $ sudo systemctl start wp_supplicant@wlp3s0.service
Resolv.conf

Il faut enfin ajuster le resolv.conf

systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Source : Wiki archlinux systemd-networkd

Remarque: si le réseau est à découvrir, on peut utiliser wifi-menu. Il faut avoir installé le paquet dialog.

Verrouillage d'écran

Pourquoi slock ? C'est le plus minimaliste des verrouilleurs d'écran. Au reveil l'écran est vide et il suffit de taper son mot de passe de session puis [Enter]. L'écran change de couleur si le mot de passe est incorrect, ce qui correspond à une invite à le saisir à nouveau.

Bien entendu il faut d'abord désinstaller celui que vous utilisez déjà : xscreensaver, gnome-screensaver, i3lock, etc.

La procédure expliquée ici a été testée sur une distribution archlinux avec xfce4 comme gestionnaire de fenêtres. Elle est basée sur systemd.

D'abord on installe le paquet slock

moa@sdf $ sudo pacman -S slock

Dans debian et dérivés slock est dans le paquet suckless-tools. Mais je ne l'ai pas testé.

Ensuite vérifier que dans /usr/bin/xflok4 on a bien les lignes :

# else run another access locking utility, if installed
for lock_cmd in \
  "xlock -mode blank" \
  "slock"
  do
    set -- $lock_cmd
    if command -v -- $1 >/dev/null 2>&1; then
        $lock_cmd >/dev/null 2>&1 &
	# turn off display backlight:
	xset dpms force off
        exit
    fi
done

Modifier ce fichier si besoin et le copier dans /usr/local/bin pour se prémunir des mises à jour éventuelles.

Si le verrouillage d'écran ne se fait pas après avoir ouvert le capot du portable, on peut tenter d'ajouter un fichier /etc/systemd/system/slock.service

[Unit]
Description=slock on wake
After=sleep.target
 
[Service]
User=moa
Environment=DISPLAY=:0
ExecStart=/usr/bin/slock
 
[Install]
WantedBy=sleep.target

Enfin rendre permanent le service et le lancer pour la session courante.

moa@sdf $ sudo systemctl enable slock.service
moa@sdf $ sudo systemctl start slock.service

Il arrive que des applications indélicates fassent gicler sleep.target pour être sûres de ne pas être interrompues. Dans ce cas systemd va pleurer un peu. Il faut alors activer sleep.target avec

moa@sdf $ sudo systemctl enable sleeo.target

Source : Wiki archlinux gestionnaire d'alimentation


Réalisé avec Qlam - LGPL