Nach der Grundinstallation von FreeBSD hängt man auf der Konsole. Kein Fenstermanager, kein Browser, keine grafische Oberfläche. Für Serverleute normal, für Desktopnutzer erstmal irritierend. Hier die Schritte von der nackten FreeBSD-Installation zu einem funktionierenden MATE-Desktop mit deutschem Layout.

Screenshot vom FreeBSD Desktop

Pakete installieren

Ein Einzeiler holt alles was man für den Anfang braucht. MATE als Desktop, Xorg als Display-Server, LightDM als Login-Manager und die üblichen Anwendungen:

pkg install xorg mate mate-desktop lightdm lightdm-gtk-greeter \
  firefox thunderbird pidgin vlc libreoffice gimp \
  de-aspell de-hunspell cups cups-pdf sudo

rc.conf anpassen

In der /etc/rc.conf die nötigen Dienste aktivieren:

# Deutsche Konsolenschriftarten
font8x8="iso15-8x8"
font8x14="iso15-8x14"
font8x16="iso15-8x16"

# D-Bus für den Desktop
dbus_enable="YES"

# Grafischer Login
lightdm_enable="YES"

# Drucken über CUPS
cupsd_enable="YES"
lpd_enable="NO"

# Temp-Verzeichnisse aufräumen
clear_tmp_enable="YES"
clean_tmp_X="YES"

# Erweiterte Device-Regeln aktivieren
devfs_system_ruleset="devfsrules_common"

Deutsche Locale

FreeBSD setzt Sprache und Zeichensatz über Login-Klassen. In der /etc/login.conf eine neue Klasse anlegen:

german|German Users Accounts:\
      :charset=UTF-8:\
      :lang=de_DE.UTF-8:\
      :tc=default:

Danach die Login-Datenbank neu bauen und dem Benutzer die Klasse zuweisen:

cap_mkdb /etc/login.conf

In vipw die Klasse german im fünften Feld eintragen:

kernel:*:1001:1001:german:0:0:Sebastian:/home/kernel:/usr/local/bin/fish

Xorg: Deutsches Tastaturlayout

Datei /usr/local/etc/X11/xorg.conf.d/keyboard-de-nodeadkeys.conf anlegen:

Section "InputClass"
    Identifier  "KeyboardDefaults"
    Driver      "keyboard"
    MatchIsKeyboard "on"
    Option      "XkbLayout" "de"
    Option      "XkbVariant" "nodeadkeys"
EndSection

Hardware-Berechtigungen

Normale Benutzer brauchen Zugriff auf Laufwerke, USB-Geräte und Soundkarten. Die /etc/devfs.rules regelt das. Wer das Thema im Detail verstehen will: Im Beitrag zu CD/DVD-Brenner-Berechtigungen unter FreeBSD ist das ausführlicher erklärt.

[devfsrules_common=7]
add path 'ada[0-9]\*'   mode 666
add path 'da[0-9]\*'    mode 666
add path 'cd[0-9]\*'    mode 666
add path 'pass[0-9]\*'  mode 666
add path 'xpt[0-9]\*'   mode 666
add path 'ugen[0-9]\*'  mode 666
add path 'usb/\*'       mode 666
add path 'video[0-9]\*' mode 666
add path 'mmcsd[0-9]\*' mode 666
add path 'lpt[0-9]\*'   mode 666
add path 'ulpt[0-9]\*'  mode 666

sudo und wheel-Gruppe

Den Benutzer in die Gruppe wheel aufnehmen und per visudo die sudo-Berechtigung setzen:

pw groupmod wheel -m kernel
# visudo
root   ALL=(ALL) ALL
kernel ALL=(ALL) ALL

loader.conf: Kernel-Module

In der /boot/loader.conf ein paar Module die auf einem Desktop sinnvoll sind:

# Neuer Grafik-Konsolentreiber
kern.vty=vt

# Kernel-Tuning
kern.ipc.shmseg=1024
kern.ipc.shmmni=1024
kern.maxproc=10000

# SD-Kartenleser
mmc_load="YES"
mmcsd_load="YES"
sdhci_load="YES"

# FUSE (Dateisysteme im Userspace, z.B. NTFS)
fuse_load="YES"

# CPU-Temperatursensoren (Intel)
coretemp_load="YES"

# tmpfs und asynchrone I/O
tmpfs_load="YES"
aio_load="YES"

# Unicode auf Wechselmedien
libiconv_load="YES"
libmchain_load="YES"
cd9660_iconv_load="YES"
msdosfs_iconv_load="YES"

# Sound
snd_driver_load="YES"

# Linux-Kompatibilität
linux_load="YES"

# ZFS ARC begrenzen (hier 2 GB, an RAM anpassen)
vfs.zfs.arc_max="2048M"

Die vfs.zfs.arc_max Einstellung ist wichtig. ZFS nutzt standardmäßig so viel RAM wie verfügbar für den Dateisystem-Cache. Auf einem Desktop mit 8 GB will man das begrenzen, damit für Anwendungen genug übrig bleibt.

Fertig

Nach einem Neustart sollte LightDM den grafischen Login zeigen. MATE als Session auswählen, anmelden, fertig. Firefox, Thunderbird, LibreOffice und der Rest sind installiert und startbereit.

FreeBSD auf dem Desktop ist nicht so komfortabel wie ein Ubuntu. Dafür hat man ein sauberes ZFS, ein durchdachtes System und eine Dokumentation die ihresgleichen sucht. Wer sich darauf einlässt, wird es mögen.

Fragen? Einfach melden.