I really like GhostBSD … and NomadBSD. They are really great graphical and easy to use FreeBSD variants for the lack of better word. While NomadBSD is more focused on portable USB pendrive edition the GhostBSD is more like a Ubuntu replacement. Install and use on your laptop or desktop computer. It comes in two flavors – the default MATE edition and an alternative XFCE edition.
One of the things I really like about Ubuntu MATE edition is that it comes with desktop layout helper tool that will allow you to select one of the available predefined MATE desktop layouts.
From all of the available ones I like the ‘Cupertino’ one the most – its tries to mimic the Apple Mac OS X operating system behavior with global menu on top and Plank dock at the bottom … and it does it really well.
I wanted to do something similar on GhostBSD but unfortunately the Vala Panel Application Menu for MATE desktop environment is not available for FreeBSD (and that means its also not available for GhostBSD). Fortunately the XFCE global menu is available on FreeBSD as x11/xfce4-appmenu-plugin package so I will try to make GhostBSD look more like Ubuntu Mate in its Cupertino layout with several easy steps.
By default GhostBSD XFCE edition comes with single XFCE panel at the bottom. I have done pretty straightforward installation with fish(1) shell chosen as default during installation.
Fonts
By default GhostBSD comes with 96 DPI set by the installer. Lets change that to something smaller. Start the Appearance application.
Now set the desired settings for the fonts on the Fonts tab. After some checks the 80 DPI along with Hinting set to None looked best. I also switched to the Ubuntu font.
ZSH Shell and Terminal
While the fish(1) shell is quite decent interactive shell with sane defaults I really prefer the POSIX syntax compatible zsh(1) shell instead. I talked more about that in my Ghost in the Shell – Part 7 – ZSH Setup article.
I will not repeat everything I wrote there and I will just paste the instructions here to make that zsh(1) shell configured and nice looking.
root # pkg install -y \ zsh \ zsh-autosuggestions \ zsh-syntax-highlighting \ ubuntu-font root # fetch -o /usr/local/etc/zshrc https://raw.githubusercontent.com/vermaden/scripts/master/zshrc user % fetch -o ~/.zshrc https://raw.githubusercontent.com/vermaden/scripts/master/DOT.zshrc user % fetch -o ~/.zshrc.DOAS.SUDO https://raw.githubusercontent.com/vermaden/scripts/master/DOT.zshrc.DOAS.SUDO user % chsh -s /usr/local/bin/zsh user % fc-cache -f
As we are at the terminal related things enable Solarized (Dark) theme in the XFCE Terminal options.
… and change font to Ubuntu Mono with your preferred size.
Now you have the zsh(1) shell configured and set as your default shell. Also the XFCE Terminal looks better now. Some settings will require logout and login route but I recommend something different. Go through all these setting and then do just one single reboot or logout/login routing.
XFCE Global Menu
I though that XFCE global menu is – same as MATE one – not available on FreeBSD. Fortunately Joel Carnat with its FreeBSD 13 on ThinkPad T460s article proved me wrong. He even added the instructions to his guide – for which I am very thankful to him.
To get XFCE global menu on FreeBSD (and GhostBSD) we need to do these steps.
root # pkg install -y xfce4-appmenu-plugin user % xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true user % xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true user % xfconf-query -c xsettings -p /Gtk/Modules -n -t string -s appmenu-gtk-module
Now we will be able to add the XFCE AppMenu Plugin to our top panel.
We need to now move the XFCE panel from bottom to the top. Go into the Panel Preferences as shown below and move it.
After moving it to the top and enabling the Lock Panel option add/remove the Items to match this list below. Feel free to also add other items that you need.
To make the XFCE AppMenu Plugin look even better enable Bold Application Name in its Preferences dialog.
As for the Whisker Menu left only icon enabled to display to make it look better.
The XFCE AppMenu Plugin should be now ready and the top panel should look somewhat like that.
You can also customize the DateTime plugin to your needs.
Window Manager
The Window Manager settings are not controlled by the Appearance application. It has its own separate one. Lets start it.
We will also set the Ubuntu font here.
Groups
Make sure your user (vuk in this guide) is in below groups.
root # pw groupmod wheel -m vuk root # pw groupmod operator -m vuk root # pw groupmod video -m vuk root # pw groupmod network -m vuk
You can omit the network group if you do not intend to use network.sh to manage your network connections.
Plank
As the last step we will add the Plank dock at the bottom.
root # pkg install -y plank user % plank & user % plank --preferences
You should see something like that on the bottom of your screen.
The Plank preferences are shown below.
Make sure to add Plank to Startup so it will start automatically at each login.
Result
After all these steps our GhostBSD looks more or less like that now.
Plain FreeBSD Way
Some people will prefer to stick to the ‘original’ FreeBSD instead of using preconfigured GhostBSD. This last section is for them. First install FreeBSD like described HERE. Then install these packages shown below.
root # pkg install -y exa ubuntu-font xfce xfce4-appmenu-plugin xorg-minimal user % echo '. /usr/local/etc/xdg/xfce4/xinitrc' > ~/.xinitrc user % xintrc
Now having done the above do all the steps from that article.
The end result seems quite similar.
You may even want to replace Plank with another bottom XFCE Panel if you want.
Viola! You have XFCE configured on plain FreeBSD. One thing to keep in mind is that besides XFCE you have nothing more π Using GhostBSD method all other things are configured. With plain FreeBSD way you have no device automounting. No network plugin in the taskbar. No power management tuning. No other applications. Nothing. But you can all do it yourself using the needed articles from the FreeBSD Desktop series or other sources.
One last thing. I really appreciate that GhostBSD exists and is actively maintained and expanded – this guide is not here to make it look bad. Its here to make it better.
Regards.
Nice post. XFCE was always simple and no-bullshit option whenever I need a DE.
Also a suggestion: If you like to dive into stuff and configure it to your liking, you’ll LOVE awesomewm.
LikeLike
Thanks for the AwesomeWM suggestion π
LikeLike
Very nice looking. Where did you get the vimix theme? I cant find it except on githuband its builtd is for linux.
LikeLike
Thanks.
The Vimix theme is one of the themes that GhostBSD comes with.
I did not installed it.
I am also not sure if its available on FreeBSD packages.
You can ask the creators of GhostBSD by Twitter or GibHub about that, they will help you I am sure.
Hope that helps.
Regards.
LikeLike
Pingback: FreeBSD 13.1 on ThinkPad W520 | ππππππππ
Pingback: Desktop Environments Resource Usage Comparison | ππππππππ
Pingback: Desktop Environments Resource Usage Comparison
Pingback: Desktop Environments Resource Usage Comparability - CNN ANALYSIS
I am moving away from KDE and testing XFCE4. This article is encouraging. May I ask which desktop manager are you currently using?
LikeLike
XFCE by default uses xfdesktop(1) as desktop manager (to provide icons on the desktop) and probably that is what I would use … along with Caja (from MATE) for file management.
I generally use Openbox with Dzen2/Tint2 as described here:
Regards.
LikeLike
Wonderful, thank you, I may try Openbox as well. Thank you for the great quality of all your articles and the abundant help you have been offering to FreeBSD and Unix enthusiasts like me!
LikeLike
While Openbox fit my needs it does not have to fit yours π
Both XFCE and MATE are also great environments to use.
… and thanks mate π
LikeLike
If not mistaken, Thunar is just a file manager. The Xfce desktop uses a program called xfdesktop.
LikeLike
You are right. I need to correct that. Thank You.
LikeLike
Nice article. I have tried this myself but your version is in some ways cleaner.
A suggestion: via the “docklike panel” plugin, you don’t need Plank. Xfce can provide the dock itself quite nicely, which I think is more resource-efficient.
https://github.com/nsz32/docklike-plugin
Also, for widescreens, I recommend putting the dock on the left hand side, vertically, which is what I also do on Macs. With an Xfce panel, this is easy — or NeXTstep-like, at the right, and pinned to the top if you prefer rather than centred.
LikeLike
Thank You.
I did not know Docklike π
Will have to test it sometime.
LikeLike
Pingback: FreeBSD 13.2 on ThinkPad T14 (GEN1) | ππππππππ
Pingback: FreeBSD 13.2 on ThinkPad T14 (GEN1) – My Blog
Pingback: FreeBSD 13.2 on ThinkPad T14 (GEN1) – TOP Show HN
Pingback: FreeBSD 13.2 on ThinkPad T14 (GEN1) – CYBE