Notes personnelles pour profiter d'OpenBSD dans un usage "desktop".
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.
Je monte /tmp en ram, et j'attribue 1/10 de la RAM disponible pour ça.
On commente avant tout la ligne contenant déjà une entrée pour /tmp dans /etc/fstab.
# sed -i '/\/tmp /s/^/\#/' /etc/fstab # printf "swap /tmp mfs rw,nodev,nosuid,-s=%sB 0 0\n" \ $(dmesg |awk '/avail mem/ { print int($4 / 10)}') \ >> /etc/fstab # chmod 1777 /tmp
$ chmod 0700 $HOME
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).
On en profite aussi pour retirer la possiblité d'accder à un tty avec Ctrl-Alt-F*.
cat << EOF >> /etc/X11/xorg.conf Section "ServerFlags" Option "DontZap" "True" Option "DontVTSwitch" "True" EndSection EOF
J'ai une imprimante USB, je ne souhaite pas qu'elle soit détectée comme "ulpt".
Donc :
echo "disable ulpt" >> /etc/bsd.re-config
echo "set timeout 1" > /etc/boot.conf
Puisque c'est suggéré dans mon fichier /var/log/Xorg.0.log, j'active ette option:
echo "machdep.allowaperture=1" >> /etc/sysctl.conf
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
cat << EOF > /etc/wsconsctl.conf
keyboard.bell.volume=0 display.brightness=80 EOF
echo "su prx -c '/usr/local/bin/mpd --kill' >> /etc/rc.shutdown echo "su prx /home/prx/bin/prxsync push" >> /etc/rc.shutdown
J'utilise une version de dwm avec quelques patches directement intégrés dans mon config.h :
À vrai dire, ces patches ne me sont que très rarement utiles...
J'y ajoute parfois le patche alpha
--- a/drw.c +++ b/drw.c @@ -202,6 +202,8 @@ drw_clr_create(Drw *drw, Clr *dest, const char *clrname) DefaultColormap(drw->dpy, drw->screen), clrname, dest)) die("error, cannot allocate color '%s'", clrname); + + dest->pixel |= 0xff << 24; }
VER=6.4 cd /tmp ftp https://dl.suckless.org/dwm/dwm-$VER.tar.gz tar xvzf dwm*.tar.gz cd dwm-$VER ftp -o config.h https://si3t.ch/pub/dwm-config.h vi config.mk # sed -i /^#FREETYPEIN/s/^#// config.mk make make install PREFIX=$HOME
Patches utilisés :
VER=5.2 cd /tmp ftp https://dl.suckless.org/tools/dmenu-$VER.tar.gz tar xvzf dmenu*tar.gz cd dmenu-$VER ftp https://tools.suckless.org/dmenu/patches/mouse-support/dmenu-mousesupporthoverbgcol-5.0.diff ftp https://tools.suckless.org/dmenu/patches/xyw/dmenu-xyw-5.0.diff for i in *.diff; do patch -p1 < $i; done vi config.mk # OpenBSD uncomment ftp -o config.h https://si3t.ch/pub/dmenu-config.h make make install PREFIX=$HOME
Un terminal tout simple, donc rapide.
VER=0.9 cd /tmp ftp https://dl.suckless.org/st/st-$VER.tar.gz tar xvzf st-*.tar.gz cd st-$VER ftp -o config.h https://si3t.ch/pub/st-config.h vi config.mk # edit OpenBSD config make make install PREFIX=$HOME
Un excellent gestionnaire 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
cd /tmp ftp https://si3t.ch/code/prxbins.tgz tar xvzf prxbins.tgz mv prxbins $HOME/bin
cd /tmp mkdir dotfiles && cd dotfiles ftp https://si3t.ch/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 mv $HOME/.nsxiv $HOME/.config/nsxiv
cat << EOF >> /etc/unwind.conf block list "/var/db/unwind-block.txt" log fdn1=80.67.169.12 fdn2=80.67.169.40 quad9=9.9.9.9 forwarder { $fdn1 DoT $fdn2 DoT $quad9 } preference { recursor DoT oDoT-forwarder oDoT-autoconf stub } EOF rcctl enable unwind rcctl start unwind echo "nameserver 127.0.0.1" > /etc/resolv.conf echo "lookup file bind" >> /etc/resolv.conf cat << EOF >> /usr/local/sbin/unwindblock #!/bin/sh db=/var/db/unwind-block.txt if [ -n "$(find $db -mtime +7)" ]; then # wait for internet access while true; do nc -zw1 si3t.ch 443 && break || sleep 60 done ftp -o- https://si3t.ch/pub/evils/unwind-block.txt.gz |gzcat > $db fi EOF # crontab -e @reboot /usr/local/sbin/unwindblock # echo 'block list "/var/db/unwind-block.txt" log' > /etc/unwind.conf
cat << EOF >> /etc/rc.local sleep 30 && syspatch sleep 60 && find /home -name "*.core" -delete & EOF
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. :
*/5 * * * * /home/prx/bin/checkbatt >/dev/null 2>&1
sed -i 's/www\.google\.com/www.openbsd.org/' /etc/ntpd.conf
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/
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 join "" up # cat /etc/hostname.em0 up # cat /etc/hostname.trunk0 trunkproto failover trunkport em0 trunkport iwm0 inet autoconf inet6 autoconf
$ doas mkdir /cdrom $ cat /etc/fstab /dev/cd0a /cdrom cd9660 ro,noauto 0 0
/etc/fstab :
/dev/sd2i /home/prx/mpd msdos rw,noatime,nodev,nosuid,noauto 0 0
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
# rcctl set sndiod flags -f rsnd/0 -F rsnd/1 # rcctl restart sndiod
Liste générée avec pkg_info -zm > obsdpkglist.txt.
ftp https://si3t.ch/pub/obsdpkglist.txt pkg_add -vmzl obsdpkglist.txt