[howto] Minimal FreeBSD desktop

wblock@ said:
VirtualBox shared folders is not implemented for FreeBSD guests yet.

Thanks. I'll use writes to a Samba share external to the VM which should achieve the same thing. Sweet thread BTW.
 
mruhe-s said:
Hi Taz,

excellent work - was looking for such detailed instructions for a long time for FreeBSD.

Thanks
Michael

Thank you for the positive feedback! When I get some free time I will add some new useful stuff. For example I found a nice perl plugin for urtvx that enables copy/paste via Ctrl-c for example or some other user defined key binding. I thing it's a way better option than the middle click especially for someone who uses the terminal a lot.

Ultimately my goal would be to program and post a script that dose automated minimal install of Xorg and user land ports of choice. Not as in the "whole ports collection" choice but rather a selected one of most commonly used ports for segments defined in my howto (window manager, browser, editor etc.).
Since I compile everything rather than use packages setting up a fresh desktop can be time consuming. With a script I could just run it over night and in the morning it's done and configured, but without the bloat that would come along with for example gnome or kde.

I already have such a script but it's not relay ready for "global" usage nor tasted properly.
 
Hi all,

I have a problem with Conky. It's displayed but I cannot change the font and font size - at least it seems conky doesn't accept font/size changes. Here the error message:
Code:
conky can't load font "Bitstream Vera Sans Mono:size=12" but
usr/local/lib/X11/fonts/bitstream-vera is available.
Any advice would be appreciated.
 
FreeBSD 9.1 conky issue

mruhe-s said:
Hi all,

I have a problem with Conky. It's displayed but I cannot change the font and font size - at least it seems conky doesn't accept font/size changes. Here the error message:
conky can't load font "Bitstream Vera Sans Mono:size=12" but
usr/local/lib/X11/fonts/bitstream-vera is available.
Any advice would be appreciated.

[SOLVED] seems to be a bug when using "make install clean" XTF will not be compiled when selecting XTF support. Open the "Make file" and change to XTF = On. Then this option will be compiled and conky can be configured with other fonts/font sizes.
Michael
 
mruhe-s said:
[SOLVED] seems to be a bug when using "make install clean" XTF will not be compiled when selecting XTF support. Open the "Make file" and change to XTF = On. Then this option will be compiled and conky can be configured with other fonts/font sizes.
Michael

glad you fixed it!

EDIT: removed my initial reply since I overlooked something in your reply.
 
This is a fantastic tutorial. I am going to link this on my Google+ profile. Thanks for putting in the time to make a good How To.
 
openbox keybinding issue

I followed the instructions and everything seems working except of keybindings.
Ctrl, Alt and the Window key are not recognized. Did I miss something?
Seems that Xorg.conf is configured correctly.

Thanks for sharing any idea.

Michael
 
On an older system I had installed FreeBSD 8.x and was able to have a minimal desktop FreeBSD setup. I have just now tried to get reaquainted to UNIX and have successfully established FreeBSD_9.1-release AMD64 as a dual boot system on a Toshiba Satellite L770. The barebones of FreeBSD work. I however have not been able to access the internet within the FreeBSD structure and getting to what pertains to this thread is that I can not get portsnap fetch; portsnap extract; portsnap update to work. Sorry I do not know the exact message I rcv but when I do a "make search name=portsnap" it tells me nothing in the moved line and says it is part of FreeBSD base system since FreeBSD 5.1. The positive thing about my question is that I do have a dual boot system so I can access FreeBSD forum in my windows 7 boot. I have been trying to read all the FreeBSD literature I can and access all the functions I know to become more adept at UNIX. I apologize for this longwinded call for help. Please contact me if you think we can successfully work together.
 
I switched backover to the FreeBSD OS and logged into root. To my chagrin the portsnap commands worked. I am going to print this entire thread and see if I can successfully enact what it suggests. Thank you.
 
mruhe-s said:
I followed the instructions and everything seems working except of keybindings.
Ctrl, Alt and the Window key are not recognized. Did I miss something?
Seems that Xorg.conf is configured correctly.

Thanks for sharing any idea.

Michael

Did you try to plug in some other keyboard and see if it works then?
 
taz said:
Did you try to plug in some other keyboard and see if it works then?

Hi taz,

no, I didn't have crunchbang 11 on another Partition where these keys are working fine.
I also added setbkdmap with the parameter used by Xorg.conf into the autostart file.
but no success so far. When using the termnial terminator at least Crtl + keycode is working.
Next step what I will check is xmodmap - hope to be successful there. It's strange but I am using FreeBSD since a long time - version 4.5 - and your excellent tutorial for openbox inspired me to apply this window manager.

If helpful I can share all my config files.

Regards
Michael
 
The popularity of this thread suggests that a lightweight, BSD friendly desktop is desired by many. I suggest that the following features can be added targeting FreeBSD, OpenBSD and NetBSD.
1) Tint2-0.11-svn allows the creation of launcher panel bar entries - frequently used applications such as browser, email and terminal can be launched by panel click. Addition of xdotools and the creation of a usr/local/share/applications/menu.desktop results in a panel menu that matches the openbox menu. Tint 2-svn is used in Debian Wheezy and is an Option is available in ArchBang CrunchBang and Gentoo.
2) Systray applets for battery strength, audio volume and network connection. FreeBSD could use volumeicon (oss compatible) but OpenBSD, NetBSD sndio incompatible. I am presently looking a forking the volumeicon code to be compatible with BSD's.

To the moderator: If the idea of using the lightweight desktop thread as basis for a BSD specific Desktop grows feel free to move it to a new thread.
 
@shepper:

What you propose goes against minimalism. BSD systems are general-purpose systems. You can do whatever you want with them which includes creating your own minimalist distribution. But you run the risk of creating a new GNU/Linux monster.
The base system can't be modified to suit the needs of desktop users.

Also you can't impose third-party applications on the rest of us. I run a minimalist system myself and have never used the applications you're talking about. The last time I've used a panel, system tray, icons, etc. at all was years ago!
These applications are available in the ports tree though, so you're free to include them in your system.

Furthermore there might be a problem with licensing.

Or am I misunderstanding you? Are you proposing, for example, that the FreeBSD Project makes a customized Xorg (like OpenBSD's Xenocara)?
 
@Beastie

I do not advocate imposing third party applications on anybody. The slant I was taking on minimalism was trying to avoid the addition of a large number of dependencies in order to add a simple feature to an individuals Desktop. The original poster gave examples of various panels and personally used tint2. What I was pointing out was that newer tint2 code is available but has not been packaged into a release. The license is the same, no new dependencies are needed and it appears to be stable enough for the upcoming Debian Wheezy release. I was looking at patching the build pulling the source from the Debian repositories.

An optional feature that can be added at the users discretion is a simple volumeicon that can go in the systray. From a BSD standpoint the volume icon only supports alsa and oss output.

I have tried some other Desktops and found similar "linuxism". Volume control in e17 is either alsa or pulseaudio. Volume control in fbpanel is either alsa or oss. The OpenBSD developers recently had to add pulseaudio as a Gnome3 dependency. Another glaring example is the addition of hal to FreeBSD xorg. In retrospect it would have been nice to avoid hal but I understand why the FreeBSD developers made the decision.

I am into the second chapter in a book on C coding and would like to apply what I learn to the volumeicon code base by stripping out alsa and adding sndio output to support NetBSD/OpenBSD. Call it something like "bsdvolumeicon".

So to clarify, I am proposing that a modular desktop project could be started that was BSD friendly and is minimal in the aspect that linux compatibility layers were bypassed. In the case of a volume control applet, no pulseaudio, no alsa wrappers, no esd. Just direct control of the core sound system.

Battery applets, network managers would be other options.
 
@shepper

I'm not sure whether you are talking about making some sort off minimal BSD "distribution" or not but if you are recently ArchBSD started to develop so you might want to chek that out.

As far as "modular desktop project" goes I guess I already started it but my idea is not a "BSD distribution" but rather a shell script/ncurses based program (haven't decided yet) where you could choose witch ports you want to install. Let's take window managers for example: the script would have a built in list of most used WMs and would know what is need to configure each WM. For example if you choose Openbox. The script would then run "make config" so you could enable/disable compile options and upon compilation it would run these commands:

Code:
$ mkdir ~/.config
$ mkdir ~/.config/openbox
$ cp /usr/local/etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
$ cp /usr/local/etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml
$ touch ~/.config/openbox/autostart.sh && chmod +x ~/.config/openbox/autostart.sh
$ echo "#!/bin/sh" >> ~/.config/openbox/autostart.sh
$ echo "exec openbox-session" >> ~/.xinitrc

making openbox ready for further personal customization. Without the script you would have to type in this commands anyway and it would be a time saver if you had a script that would do this for you.

I don't like the idea of a "distros" in general but mostly because of precompiled packages.

But I think you are talking about programming small utilities like the volume manager that would use existing FreeBSDs integrated tools instead of going through something form the "linux world". To make it clear example would be automounting. People use HAL for that but FreeBSD has devd. If that is the case I fully support the idea but I don't thing you need to start a "modular desktop project" but rather just make a list of what you thing can be done the "FreeBSD way" and make individual ports for that. People will then choose what to include in their own FreeBSD system.

For me and I thing other users that like minimalism it's about choice.
 
mruhe-s said:
Hi taz,

no, I didn't have crunchbang 11 on another Partition where these keys are working fine.
I also added setbkdmap with the parameter used by Xorg.conf into the autostart file.
but no success so far. When using the termnial terminator at least Crtl + keycode is working.
Next step what I will check is xmodmap - hope to be successful there. It's strange but I am using FreeBSD since a long time - version 4.5 - and your excellent tutorial for openbox inspired me to apply this window manager.

If helpful I can share all my config files.

Regards
Michael

[Solved]
I am an idiot ....playing around with ~/.config/openbox/rc.xml
didn't realized while copying a number of lines around that </keyboard> was already set and I copied just thereafter...mystery of vi().... be careful ;-)
Now everything is working as expected...

Thanks
Michael
 
mruhe-s said:
[Solved]
I am an idiot ....playing around with ~/.config/openbox/rc.xml
didn't realized while copying a number of lines around that </keyboard> was already set and I copied just thereafter...mystery of vi.... be careful ;-)
Now everything is working as expected...

Thanks
Michael

hehe glad you figure it out :)
 
I emailed the tint2 author and he replied that he intends to release the svn code sometime in March 2013. He was holding the code to correct the configuation wizard but realizes he does not have the time to deal with the wizard.

Here is a link to the Arch wiki that describes howto setup the launchers and use xdotools. Additionally, one can add an entry to /usr/local/share/applications as in this Arch thread. The screenshot in the thread shows the results. The nice thing about this approach is that the right-click openbox menu will match the one from the tint2 panel.

The linux specific volumeicon I mentioned earlier is in the screenshot. I tried it in Debian Wheezy and it works well, one can hover the mouse over the icon and adjust the volume with the scroll wheel.
 
ok. I have done as directed and everything worked. I still have not modified or set options in /usr/local/etc/portmaster.rc. I have not looked at the sample file yet. I am elated that everything installed as advertised. Looking ahead a little I have seen that the hal option should be disabled in all packages since DEVD is going to be used. My question is "How do I find out which files have a hal option and which do not?" I am now going to look at portmaster.rc.sample. Thank you for this fairly straightforward set of instructions.
 
BJwojnowski said:
ok. I have done as directed and everything worked. I still have not modified or set options in /usr/local/etc/portmaster.rc. I have not looked at the sample file yet. I am elated that everything installed as advertised. Looking ahead a little I have seen that the hal option should be disabled in all packages since DEVD is going to be used. My question is "How do I find out which files have a hal option and which do not?" I am now going to look at portmaster.rc.sample. Thank you for this fairly straightforward set of instructions.

When you try to compile a port with portmaster or

# make install clean

for the first time you will see a dialog from which you can choose what options you wish to enable. HAL will be listed there if that port has a HAL option. So just make sure you don't have [X] next to it.

You can also invoke the same dialog with:

# make config

Also http://www.freshports.org/ shows options and "Required To Run:" ports.

You can also run this command to se if any of the already installed ports require HAL:

$ pkg_info -R hal-\*
 
I ran portmaster x11-servers/xorg-server and it successfully installed 23 to 25 ports. The problem IS ran into somewhere along the way it became caught in an endless loop:

misc/dejagn>>lang/expect>>x11-toolkits/tk84>>x11/libx11>>>>x11/libxcb>>lang/python27>>devel/libffi

The above I transcribed to paper and now I am sending it to you via my tablet. I think the error resides in the tk84file since portmaster gave several installation options and I vaguely remember tk84 dependency being given as an option. Is there an easy way to try to run portmaster x11-servers/xorg-serverfrom the beginning so I can be given the option menu again or do you have a better way to do it?


Thank you for all the help.
 
Back
Top