Project Trident/FreeBSD/TrueOS beginner tips and tricks

Fun with “that other OS” paradigm

I recently set up my 1st Unix machine running Project Trident (based on TrueOS, which is in turn based on FreeBSD.) Here, in no particular order, are some things you might need to know.

All commands are to be entered into QTerminal and followed with an Enter keystroke, and it’s assumed you’re running (Project) Trident.

BSD is not Linux

If you have Linux experience, it’s tempting to think BSD is more of the same. It isn’t. For one, while Linux emphasizes performance and modularity, BSD emphasizes monolithic technical correctness and consistency (read: on the OS scale, not just at the kernel level.)

How to prepare your PC’s BIOS for BSD installation

  1. Enter your PC’s BIOS.
  2. Disable Secure Boot.
  3. Switch boot mode from UEFI to Legacy.
  4. Enable booting from external devices.
  5. Change your boot order so that the PC boots from the external device first.
  6. Check that your BIOS is set to the correct time. If it’s wrong, the time in BSD will be wrong too.
  7. If your PC currently runs Windows, install the latest BIOS version before you replace it with BSD. Technically you may be able to update the BIOS via USB later, but it’s a major PITA in comparison.

How to create an a Project Trident USB installer disk in Windows

  1. Download the installation ISO.
  2. Change the downloaded ISO’s extension from .iso to .img.
  3. Write the .img file to the USB disk using Win32 Disk Imager.

Shell selection

Just stick with the default shell, as most documentation is written assuming you’re using it. zsh is pretty good.

SWAP partition creation

When given the option during installation, enable it at the default size.


The canonical documentation for any BSD flavor is the main type of BSD it’s based on. So, for example, since Project Trident ultimately descends from FreeBSD, FreeBSD’s documentation is canonical for it.

How to set your timezone correctly

  1. Enter the PC’s BIOS and set the correct time there manually.
  2. Boot into Trident.
  3. Open QTerminal, then execute the following commands:
    1. sudo tzsetup
    2. sudo service ntpdate restart

The command for the Lumina text editor

… is lte. If you need to start it as root, use sudo lte.

The command for the Lumina file manager

… is lumina-fm. If you need to start it as root, use sudo lumina-fm. You can also start it as root from within the file mangaer GUI itself.

How to set up Resilio Sync in Project Trident

  1. Open AppCafe. You may have to open it twice and/or click on the TrueOS logo in the middle for the dropdown at the top center to change from local to trident.
  2. In the Browse tab, search for “Resilio.”
  3. Click the download icon beside the Resilio Sync search result. This will add the installation to the Pending tab, which you can then switch to follow the progress.
  4. Start Resilio Sync by entering rslsync in QTerminal.
  5. Access Resilio sync by going to localhost:8888 in your browser.

There are a few quirks about running Resilio Sync on BSD. The first is that the documentation in the package and in the .conf files is rather misleading. Although most of it talks about Resilio running under the rslsync user, it’s installed to run under the the account that installed it (read: yours.) I still haven’t figured out exactly how to get it to run as a service, but when I do I’ll probably write a separate post about it.

How to list all the hardware the OS can see right now

sudo pciconf -lv

If you want to search the output of the above for a particular item, e.g. “bcm”, you can do so via:

sudo pciconf -lv | grep bcm

How to load something into the kernel

Using bwn as an example:

sudo kldload bwn

How to search output strings from a given command

Just add | grep searchterm to the end of the command. You can also sort the search results by adding | sort to the preceding. For example, to search the output of dmesg for bwn and sort the results:

sudo dmesg | grep bwn | sort

You can also use | tail -n to get the last n lines of a command’s string output.

How to check whether BSD detects a hardware component at all

sudo dmesg

The above is basically a printout of everything that scrolls down the display at boot. It’s pretty long, which is where the grep and sort commands come in: they help you filter it for what you want to find.

To fix flickering desktop graphics elements

Delete ~/.config/lumina-desktop/compton.conf.

How to set up SSH

  1. Open the terminal
  2. Type sudo service sshd start
  3. Hit Enter
  4. Type sudo rc-update add sshd
  5. Hit Enter
  6. Click the Start button
  7. Enter “SysAdm”
  8. Click on SysAdmin Client
  9. In the window that follows, click on Firewall
  10. Under the Open a Port heading, in the Open by Service label, click the Select a Service… dropdown
  11. Select ssh. 2 entries for port 22, 22/udp and 22/tcp, should appear above the Open a Port heading
  12. Click Restart

SSH should now be set up. Try logging in from another machine.

Deletion is a permanent operation

Unlike nearly every other OS type out there, BSD (and non-macOS Unix at large, apparently) assumes deleting something means you don’t want it anymore ever again.

The ways to get around this are to:

  1. Use snapshots.OR
  2. Make absolutely sure you want to get rid of something before you do.

How to set up ZFS snapshots

Instructions here.

Where to find Project Trident and/or TrueOS support

Project Trident Telegram

TrueOS Telegram