Post-installation d'OpenBSD desktop
Notes personnelles pour profiter d'OpenBSD dans un usage "desktop".
Installation chiffrée
S'il y a un bug à la fin de l'installation en cas d'UEFI, installer le chargeur de démarrage à la main avec installboot.
Autologin
Si on est le seul utilisateur de la machine et que l'ensemble est chiffré et qu'on éteint son ordi lorsqu'on ne l'utilise pas, alors on peut activer l'autologin pour xenodm :
echo 'DisplayManager._0.autoLogin: user' >> /etc/X11/xenodm/xenodm-config
Dans ce cas, je vous conseille de désactiver la possibilité de fermer la session graphique avec Ctrl-Shift-backspace. Sinon, n'importe qui peut prendre le contrôle de votre session même si vous l'avez verrouillée avec xlock (ou autre).
cat << EOF >> /etc/X11/xorg.conf Section "ServerFlags" Option "DontZap" "true" EndSection EOF
Performance d'affichage : machdep.allowaperture
Puisque c'est suggéré dans mon fichier /var/log/Xorg.0.log, j'active ette option:
echo "machdep.allowaperture=1" >> /etc/sysctl.conf
softdeps
L'option softdeps permet d'accélérer l'utilisation des disques. Attention, en cas de crash, il y a plus de risques d'avoir des pertes malgré le caractère très conservateur du système de fichier d'OpenBSD.
sed -i 's/rw,/rw,softdep,/g' /etc/fstab
On peut aller encore plus loin en ne tenant pas compte des dates d'accès (noatime) :
sed -i 's/rw,/rw,softdep,noatime,/g' /etc/fstab
doas
cat << EOF > /etc/doas.conf permit persist :wheel permit nopass :wheel cmd /sbin/disklabel permit nopass :wheel cmd /sbin/umount permit nopass :wheel cmd /sbin/shutdown permit nopass :wheel cmd /sbin/reboot permit nopass :wheel cmd /sbin/mount permit nopass :wheel cmd /usr/sbin/zzz permit nopass :wheel cmd /usr/sbin/ZZZ EOF
wsconsctl
cat << EOF > /etc/wsconsctl.conf
keyboard.bell.volume=0 display.brightness=80 EOF
Installation de quelques programmes
dwm
cd /tmp git clone --depth=1 https://git.suckless.org/dwm cd dwm # patches ftp https://dwm.suckless.org/patches/deck/dwm-deck-double-6.2.diff ftp https://dwm.suckless.org/patches/focusmaster/dwm-focusmaster-20200717-bb2e722.diff for i in *.diff; do patch -p1 < $i; done ftp -o config.h https://ybad.name/pub/dwm-config.h sed -i /^#FREETYPEIN/s/^#// config.mk make make install PREFIX=$HOME MANPREFIX=$HOME/man/
dmenu avec support de la souris
cd /tmp ftp https://dl.suckless.org/tools/dmenu-5.0.tar.gz tar xvzf dmenu-5.0.tar.gz cd dmenu-5.0 ftp https://tools.suckless.org/dmenu/patches/mouse-support/dmenu-mousesupport-5.0.diff patch -p1 < dmenu-mousesupport*.diff sed -i /^#FREETYPEINC/s/^#// config.mk make make install PREFIX=$HOME MANPREFIX=$HOME/man/
rover
Un excellent estionnaire de fichiers rapide et simple: => https://lecram.github.io/p/rover/ rover
https://lecram.github.io/p/rover/
cd /tmp git clone --depth=1 https://github.com/lecram/rover.git cd rover make make install PREFIX=$HOME
Scripts
cd /tmp ftp https://ybad.name/code/Scripts.tgz tar xvzf Scripts.tgz mv Scripts/mybin $HOME/bin
Install dotfiles (fichiers de configuration)
cd /tmp mkdir dotfiles && cd dotfiles ftp https://ybad.name/code/dotfiles.tgz tar xvzf dotfiles.tgz cd dotfiles for i in *; do cp -r $i $HOME/.$i; done mkdir -p $HOME/.config/gtk-3.0/ mv $HOME/.gtk-3.0-settings.ini $HOME/.config/gtk-3.0/settings.ini
Résolveur DNS indépendant (unwind) + adblock
rcctl enable unwind echo "nameserver 127.0.0.1" > /etc/resolv.conf echo "lookup file bind" >> /etc/resolv.conf echo "prepend domain-name-servers 127.0.0.1;" >> /etc/dhclient.conf echo "block list \"/var/unwind.block\"" > /etc/unwind.conf cat << EOF >> /etc/rc.local if [ -n "$(find /var/unwind.block -mtime +7 )" ]; then # wait for internet access while true; do nc -zw1 ybad.name 443 && break || sleep 60 done ftp -o- https://ybad.name/pub/unwind.block.gz | gunzip > /var/unwind.block fi EOF
rc.local
cat << EOF >> /etc/rc.local sleep 30 && syspatch sleep 60 && find /home -name "*.core" -delete & EOF
Gestion de l'énergie
Le système sera suspendu si la batterie descend en-dessous de 8%. Ça permet de brancher la machine sans perdre son travail.
rcctl enable apmd rcctl set apmd flags -A -z 8
Et pour que l'écran soit verouillé après avoir suspendu la machine:
# cat /etc/apm/suspend #!/bin/sh pkill -USR1 xidle
Le script checkbatt permet d'avoir une alerte si la batterie a un niveau trop faible. Il s'appelle via un cron.
ntpd
sed -i 's/www\.google\.com/www.openbsd.org/' /etc/ntpd.conf
firmwares
Si aucun accès à internet n'est disponible, récupérer les firmwares en ligne, les copier sur une clé USB, monter la clé puis lancer "fw_update" ainsi :
fw_update -p /chemin/vers/cle/usb/
http://firmware.openbsd.org/firmware/
réseau et WiFi
Sur un portable, on peut activer le WiFi et le filaire avec de préférence le filaire. En cas de déconnexion, l'autre carte réseau prend le relais.
Dans mon cas, sur un x250 :
# cat /etc/hostname.iwn0 join wifi1 wpakey blabla join wifi2 wpakey pouet up # cat /etc/hostname.em0 up # cat /etc/hostname.trunk0 trunkproto failover trunkport em0 trunkport iwm0 inet6 autoconf dhcp
Montage de cdrom/DVD
$ doas mkdir /cdrom $ cat /etc/fstab /dev/cd0a /cdrom cd9660 ro,noauto 0 0
login.conf et meilleures performances
On peut modifier le fichier /etc/login.conf pour profiter de toute la mémoire disponible sur le système et augmenter les limites :
# sed -i 's/datasize-cur=768M/datasize-cur=4096M/' /etc/login.conf # sed -i 's/datasize-max=768M/datasize-max=4096M/' /etc/login.conf
ports
Liste générée avec pkg_info -zm > obsdpkg.list.
ftp https://ybad.name/pub/obsdpkg.list pkg_add -vmzl obsdpkg.list