Just for fun I installed FreeBSD on a Mac Mini 3.1 (early 2009), and installed compiled CDE as desktop environment.
Here's a screenshot of my desktop:
These are the key steps to do so:
# freebsd-update fetch install # shutdown -r now
# pkg install bash tmux
# pw usermod root -s /usr/local/bin/bash
# tmux
# pkg install xorg git bdftopcf open-motif ksh93
# pkg install nvidia-driver-340 nvidia-settings
# pkg install vim chromium gimp qmmp vlc pstree xmmix
# git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" ModulePath "/usr/local/lib/xorg/modules" FontPath "/usr/local/share/fonts/misc/" FontPath "/usr/local/share/fonts/TTF/" FontPath "/usr/local/share/fonts/OTF/" FontPath "/usr/local/share/fonts/Type1/" FontPath "/usr/local/share/fonts/100dpi/" FontPath "/usr/local/share/fonts/75dpi/" EndSection Section "Module" Load "dbe" Load "dri" Load "dri2" Load "extmod" Load "record" Load "glx" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputClass" Identifier "KeyboardDefaults" MatchIsKeyboard "on" Driver "keyboard" Option "XkbLayout" "de" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Device" Identifier "Card0" Driver "nvidia" BusID "PCI:2:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Depth 24 Modes "1600x1200" EndSubSection EndSection
kld_list="nvidia"
dev.hdaa.0.gpio_config="0=set 1=set" hw.snd.default_auto=2 hw.snd.default_unit=2
mixer_enable="YES"
ntpdate_enable="YES" ntpd_sync_on_start="YES" ntpd_enable="YES"Don't forget to set your preferred NTP server(s) in /etc/ntp.conf.
#!/bin/sh /usr/dt/bin/dtlogin -daemonMake it executable by running chmod 0755 /etc/rc.local
firewall_enable="YES" firewall_type="workstation" firewall_myservices="22/tcp" firewall_allowservices="192.168.0.0/24" # or whatever your trusted net is!
Bluetooth worked out of the box. Thus I could simply follow the Bluetooth section of the FreeBSD handbook:
# dmesg | grep ubt
# hccontrol -n ubt0hci inquiry
# hccontrol -n ubt0hci remote_name_request XX:XX:XX:XX:XX:XX