FreeBSD or Linux from Windows

I have tinkered around with the system for most of the day. I have settled on jwm for now and tomorrow i will look at qtiles and other window managers. I looked at the blackbox package but it doesn't function like the Linux Blackbox that i remember (black screen and right-click context menus to navigate the system). Anyway, i'll add a screen capture of my current virtualbox window with FreeBSD installed (my installation using the dvd iso file and not the vhd download) with jwm and Konqueror. I was thinking about my favorite browser from 199-2003: Lynx text only browser. Man i loved that browser. I used the Win32 port on my Win98SE and WinXP upgrade.

About the Handbook: some members play that rtfm card but the handbook is sometimes not working for newbies. For example, desktop environments section/chapter mentions pkg install cinnamon but cinnamon is not in the repository, thus the data is not correct. Newbies get errors (file or directory not found).

Also, i was wondering how to exit xorg and return to the boot shell. I read about some funky key command like ctrl+alt+f1 then ctrl+c (reminds me of Windows here, good lord!). I decided to stare at the xwindow system and see if anything comes to mind. I noticed that the window manager contains 2 xterm windows and a Login window. I know that exit leaves the terminal and i began to think that Login window refers to our window session. So i ran the exit command in the Login window and voila! I was back at the boot shell, id est, no key commands necessary. I'm mentioning it here so that someone else can learn to skip those key commands and just exit the dang window.

I also noticed that i did not need to add exec wm-session to an xinitrc file because it already contained the necessary command:
fvwm & ...

I just changed the fvwm to jwm, blackbox, then jwm again. No need to add exec.

I am tired now. I log off soon. I hope that everyone has a great day/evening/night :-)
 

Attachments

  • jwm.jpg
    jwm.jpg
    155.7 KB · Views: 29
Qtile is nice if you know python.
i3-wm is nice if you don't know any programming language, I have used that window manager for roughly 4 years.
Currently, I am using DWM, and I really like it, because it is as barebones as it can get.
You safe some CPU cycles, get a very snappy environment, but you need to know C for that.
I would recommend you i3-wm for the beginning.
 
I think that you mean 'recipes', rather than 'receipts'. Some words don't have a very straight translation into English ;)

I can tell you were translating from a word that in all honesty means 'prescription' in English... a 'receipt' is more like a log entry for a completed transaction, like what you get after paying for your beer. 😂
Indeed, I mean recipes 😂
English is sadly not my first language, and I used to be more proficient in that language, until I switched mainly to Japanese, and forgot some grammar, and words 😅
But the forums are a nice way to practice English again.
 
So could you recommend a good Window Manager? Also, how do we change Window Managers in FreeBSD? do we need to edit the ./xinitrc file?
For X, yes.
You edit the .xinitrc file, and then you basically execute startx.
You can create different xinitrc files in a directory like xinit-sessions, and then save different xinitrc files with appropriate names like i3-xinit-session, or qt-xinit-session, and create a symbolic link called .xinitrc.

For example:
mkdir $HOME/xinit-sessions.
mv $HOME/.xinitrc xinit-sessions/your-session-name.
ln -sf $HOME/xinit-sessions/your-session-name $HOME/.xinitrc.

Then you can do something like:
ln -sf $HOME/xinit-sessions/another-session $HOME/.xinitrc.

startx executes always $HOME/.xinitrc.
A symbolic link is like a pointer to a file.
So, startx starts .xinitrc, and .xinitrc redirects to a session file in the xinit-sessions directory.
 
Qtile is nice if you know python.
i3-wm is nice if you don't know any programming language, I have used that window manager for roughly 4 years.
Currently, I am using DWM, and I really like it, because it is as barebones as it can get.
You safe some CPU cycles, get a very snappy environment, but you need to know C for that.
I would recommend you i3-wm for the beginning.
I'm a php programmer, so python is out.
I will investigate dwm but i do not code C.

Thank you for the helpful posts that you have contributed to my learning experience.

I wonder why noone is designing a window manager with html, css, javascript under the hood. The key factor in Microsoft dekstops is that they add html, css and javascript under the hood. I remember when we could edit folders in Windows98se and even the icons were displayed using JavaScript. I am an html, css, javascript coder (frontends) in addition to php. Interesting that noone is doing this with WMs.

I am going to try out more setups today but first i want to make an svg out of the FreeBSD Daemon Ball logo :-)
 
About the Handbook: some members play that rtfm card but the handbook is sometimes not working for newbies. For example, desktop environments section/chapter mentions pkg install cinnamon but cinnamon is not in the repository, thus the data is not correct. Newbies get errors (file or directory not found).
Don't jump to conclusions, buddy. This is another example of how re-phrasing and thinking before you post can help or hurt. Depending on the tone you strike, you'll get a very different reaction to a message on the Forums. Frankly, even on the Windows help forums, there is such a thing as forum etiquette. With that kind of tone, don't complain when you're the one on the receiving end of the exact same thing.

It's good that you read the Handbook.

And yeah, there are problems with the infrastructure for pre-compiled packages - people are complaining about that in other threads on the Forums here. Finding those threads is left as an exercise for the reader ("Exercise for the reader" is a pretty common refrain found in many Computer Science textbooks, BTW).
 
I'm a php programmer, so python is out.
Python is very easy, eventually more English like than another programming language could ever be.
PHP is nice, I learned it 2 months ago, but it is some how hated in the web programming world, due to being inefficient, I guess.
Today, javascript with nodeJS is used a lot, or even React for building websites.

OpenBox uses xml, I think.
It is very similar to html.
 
And yeah, there are problems with the infrastructure for pre-compiled packages - people are complaining about that in other threads on the Forums here. Finding those threads is left as an exercise for the reader ("Exercise for the reader" is a pretty common refrain found in many Computer Science textbooks, BTW).
I don't know how, or why, but ports are building without problem.
I guess, it has something to do that package X updates faster than package Y, breaking the package in question... :-/

The deeper you dive in the deeper you need to search for things, maybe...
 
I don't know how, or why, but ports are building without problem.
I can tell you why ports build without problems. That's because they get source tarballs from upstream projects, and not FreeBSD repos. /usr/ports already contains all the makefiles and patches you need for that. And, unless you change the makefile knobs, you'll get the exact same package as what FreeBSD builds for the repos.
 
PHP is nice, I learned it 2 months ago, but it is some how hated in the web programming world, due to being inefficient, I guess.
I have looked at Python in the past and i simply do not like it. I prefer to stay on the c++ side of coding (php is similar to c, cpp, Java). I know that some people complain about php but i never understand the justification because the complainers never offer examples of php inefficiency.

power of php to negate any assumptions that python is better: I was tinkering around with jpegs a few years ago and i wanted to learn how to read a jpeg. I came across a python app written by a guy with many followers. I asked him a few questions in his forum and he was always rude and condescending like "i have a degree in physics and i am above you" attitude. I think to myself "a degree in physics but you are not known in the physics world for anything and now you are playing with jpeg format." LOL. I decided to slap the guy with php and my own non-degree possessing jpeg scanner. I had to read the specification and i added jpeg2000 to the mix. I got my scanner reading 25mb jpeg images in 4 seconds AND in xampp for that matter. I have every tag documented and i have fully processed three tags so far. I read all of the exif data, which is really just contained in offsets and sometimes in what i call 'extra data' at the end of the file. I am able to read even misplaced tags and his python software doesn't notice the misplaced tag :smirk I can even tell you which tag it is and offer to process it. I also noticed that Microsoft Windows cannot find the datetime stamp in several test images of mine. I find the data without a problem.

My point is that php can be used to accomplish alot of tasks that so-called professional web programmers claim otherwise. The only obvious difference is that php is not regularly compiled (some programmers have accomplished this feat before), thus php cannot be used to create system software without the interpreter and a web server. I suppose it is like FreeBSD and Windows users (= currently me): read the manual (or in this case, handbook) and get your hands dirty. Php can accomplish anything as long as the coder knows the language well enough to accomplish the task. However, everyone is entitled to an opinion and it doesn't make the mentioned opinions right or wrong. I, for one, could care less about the complaints because i have no problems getting php to do what i want it to do. Even with advanced topics. I sometimes get annoyed with php too but i just try to look at my coding practices to see what i can change to accomplish my task. I think "maybe it is me and not php"

oops. I didn't mean to turn this into a php discussion.

Anyway, i am thankful for everyone's help here. I appreciate the assistance. I am continuing to read about this system and i will continue to become a better FreeBSD user. I am going to relax a bit today. I have had a long week. I will play with FreeBSD tomorrow or maybe later this evening.
 
I can tell you why ports build without problems. That's because they get source tarballs from upstream projects, and not FreeBSD repos. /usr/ports already contains all the makefiles and patches you need for that. And, unless you change the makefile knobs, you'll get the exact same package as what FreeBSD builds for the repos.
Does this mean that ports of the recently disappeared packages should build ok? Like
graphics/evince or x11/plasma6-plasma? Because that's not what happens here. I see those projects in ports, but I can never build them, all of those 'recently disappeared' programs are unable to build, most because of
Code:
fatal error: '__string/constexrp_c_functions.h' file not found
I am only using pkg, never ports. Maybe now is the time to think about it.
EDIT: my ports are up to date, running FreeBSD-14.2-RELEASE-p3 with ${ABI}/latest repo.
 
and johnjohn, you have started using FreeBSD during the time of one of it's rare hiccups -- some packages are not being built properly by the build servers --with FreeBSD-14.2-RELEASE on amd64 as their target--, and therefore are not accessible to install via pkg right now (if you are using FreeBSD-14.2 on amd64). A lot of those packages are desktop related, because the root of the problem is ?webkit2-gtk? I think. That's why there is no x11/cinnamon or x11/plasma6-plasma right now.
You can track their status on the freshports page if you want.
 
EDIT: my ports are up to date, running FreeBSD-14.2-RELEASE-p3 with ${ABI}/latest repo.
Since then FreeBSD-14.2-RELEASE got a patch version 3 ?
I updated this week.


I can tell you why ports build without problems. That's because they get source tarballs from upstream projects, and not FreeBSD repos.
Well, looking at Makefiles, yes, that makes sense.
Since we are at that topic, could you tell me why projects like rpcs3, and dolphin-emu have MAC OSX, Windows, and Linux build instructions, but work on FreeBSD ?, although none of that projects officially support FreeBSD.
The tarball I am getting is officially not compatible with FreeBSD.

I tried yesterday to get torzu to work on FreeBSD through a naive approach.
Prior to reading the FreeBSD porters handbook, I thought since I have all dependencies build, and installed, I can issue cmake, but cmake tells me, it cannot find externals...
I tried to download the externals, and put them in, but it did not work as well.

So... I did brainstorming, and thought about, what cmake does.
Cmake creates a makefile, a makefile then builds, compiles, links the project together in a workable binary state, eventually patches it.
So far so good.

What I essentially need to do is, skip the cmake part, build a makefile myself, and link to FreeBSDs version of the externals the project would normally expect, I think.
I am reading the porters handbook slow porting part right now.

So, ports essentially take the same tarball as is, extract it, and modify it for FreeBSD compatibility through patches, and already available ported build tools.
Well, why do the projects then not support FreeBSD through cmake directly ?
Wouldn't it be good to have FreeBSD instructions to build directly into cmake, which automates the make creation part for you ?

What I want to say is, if make works for porting, then adding FreeBSD specific instructions to the already available cmake, and commit it, would make many things much more easier ?
Especially if it comes to externals.
I am not trying to offend someone, or trying to change a philosophy, it is more curiosity on my site, why that kind of approach is not available.
 
Since then FreeBSD-14.2-RELEASE got a patch version 3 ?
I updated this week.



Well, looking at Makefiles, yes, that makes sense.
Since we are at that topic, could you tell me why projects like rpcs3, and dolphin-emu have MAC OSX, Windows, and Linux build instructions, but work on FreeBSD ?, although none of that projects officially support FreeBSD.
The tarball I am getting is officially not compatible with FreeBSD.

I tried yesterday to get torzu to work on FreeBSD through a naive approach.
Prior to reading the FreeBSD porters handbook, I thought since I have all dependencies build, and installed, I can issue cmake, but cmake tells me, it cannot find externals...
I tried to download the externals, and put them in, but it did not work as well.

So... I did brainstorming, and thought about, what cmake does.
Cmake creates a makefile, a makefile then builds, compiles, links the project together in a workable binary state, eventually patches it.
So far so good.

What I essentially need to do is, skip the cmake part, build a makefile myself, and link to FreeBSDs version of the externals the project would normally expect, I think.
I am reading the porters handbook slow porting part right now.

So, ports essentially take the same tarball as is, extract it, and modify it for FreeBSD compatibility through patches, and already available ported build tools.
Well, why do the projects then not support FreeBSD through cmake directly ?
Wouldn't it be good to have FreeBSD instructions to build directly into cmake, which automates the make creation part for you ?

What I want to say is, if make works for porting, then adding FreeBSD specific instructions to the already available cmake, and commit it, would make many things much more easier ?
Especially if it comes to externals.
I am not trying to offend someone, or trying to change a philosophy, it is more curiosity on my site, why that kind of approach is not available.
Sorry for misinformation it's only userland -p3

i~> freebsd-version -kru
14.2-RELEASE-p1
14.2-RELEASE-p1
14.2-RELEASE-p3
 
Code:
$ freebsd-version -kru
14.2-RELEASE-p2
14.2-RELEASE-p2
14.2-RELEASE-p2

Strange, I am going to rebuild again, I think...
Don't waste your time, this is just a little quirk that frankly has no impact anywhere. There's lots of people who noticed this discrepancy. If you want, nothing stops you from learning more about it, though.
 
Don't waste your time, this is just a little quirk that frankly has no impact anywhere. There's lots of people who noticed this discrepancy. If you want, nothing stops you from learning more about it, though.
Well, then I will wait until junes 14.3-RELEASE version, I have other things, I need to do 🤣
 
and johnjohn, you have started using FreeBSD during the time of one of it's rare hiccups -- some packages are not being built properly by the build servers --with FreeBSD-14.2-RELEASE on amd64 as their target--, and therefore are not accessible to install via pkg right now (if you are using FreeBSD-14.2 on amd64). A lot of those packages are desktop related, because the root of the problem is ?webkit2-gtk? I think. That's why there is no x11/cinnamon or x11/plasma6-plasma right now.
You can track their status on the freshports page if you want.
Thanks, Matt (if i may call you Matt, otherwise, sorry),

I am not complaining. I just wanted to mention it because i am not lazy and i read the Handbook. I worry that if i post a question, that someone will flame me for 'not' reading the Handbook. I didn't ask about it to avoid such a situation. I assume that there is a problem somewhere which will be addressed. I am in no hurry for a DE anyway. I am liking the Window Manager concept at this point in time :-) I still need to focus on learning FreeBSD and forgetting my Windows habits/knowledge. I have alot to learn.

dclau Thanks! i have already installed xdgmenumaker but i need to read about it beforehand. I read the description from the repo. I appreciate your wisdom.
 
Dear forum,

I am a Windows-only user since 1999 and i am not moving forward with Windows 11. I have too many reasons to mention here as a response to any questions. I am simply fedup with Microsoft. I have a laptop that i use only for internet and i want to replace my Windows 10 with a Linux Mint system. I have only a beginner-level understanding of even Linux. I am definitely not a terminal command typing guy. I like gui environments. I like to be able to drag-and-drop, double-click install, etc. I find that Windows is better than Linux for speed in production. I feel like Linux slows me down too much but i will adjust. I know that so far i am talking about Windows and Linux in a FreeBSD forum. Well, i have read about FreeBSD many times over the last 10 years and i am attracted to this system. I even like the lil' red devil logo. I have always wanted to try it out but it seems like it is too much of an undertaking for a Windows user. I have read that desktop environments can be installed using x11. I have read opinions in the following thread: forums.freebsd.org/threads/why-do-you-use-freebsd-on-desktop.88480/

So i am wondering: should i continue with Linux Mint or is FreeBSD a better option for me? my only concern is finding a replacement for Fiddler http/https web proxy. I found that Charles proxy works perfectly in Linux along with dnscrypt-proxy, so i am set for replacing Windows. However, my attraction to FreeBSD makes me wonder if i should try it out. Any tips/opinions? Do you think that FreeBSD is a better option in the long run or should i just stick with Mint?

Thank you for taking time to read my post.
If you don't mind the "Apple tax" (i.e. higher average price) then you might find that macOS is just the operating system you're looking for.
 
If you don't mind the "Apple tax" (i.e. higher average price) then you might find that macOS is just the operating system you're looking for.
Did you read the entire thread?

See post #36 in this thread:
 
I would offer a couple pieces of advice.

First, if you are using proprietary programs like the Adobe or Microsoft Office suite, switch to open-source programs. Many open-source programs have versions that run on Windows, Linux, and FreeBSD. If you get used to the open-source programs first, than the transition to FreeBSD will be easier.

I got rid of the Adobe programs, and now use Inkscape instead of Illustrator, and GIMP instead of Photoshop. Scribus can replace InDesign. In some cases, they open-source versions do not have as many features, but the biggest problem is muscle memory. For example, I have 30 years experience with Adobe Photoshop, so I am really clumsy in GIMP. I can get the job done, but it will take me some time to get up to speed. I use LibreOffice instead of the Microsoft Office tools. In most cases, LibreOffice can seamlessly read and create files in the Microsoft formats. Instead of Draftsight, I switched to LibreCAD. I used to use MathType, a wonderful Windows-based tool for building mathematical equations graphically. I switched to using LaTeX, editing it with TexWorks. I discovered that it is not hard to quickly learn the part of LaTex you need for whatever branch of mathematics you are working with, and it is a lot faster than building equations graphically.

Once you get comfortable with these open-source programs, you can start the transition to FreeBSD.

BTW, you can get more comfortable with the command line by using the Windows Subsystem for Linux feature of Windows, which lets you run a Linux distro (I recommend OpenSUSE) under Windows. Some Linux commands do not work exactly like the FreeBSD commands with the same name, but they are usually close.

And if you do get comfortable with Unix tools (which are generally made to do a single thing, and you pipe them together), you an do all sorts of things you couldn't with proprietary programs. For example, my wife takes a lot of meds, so I have daily sheets to record what she took. I was making them in InDesign, using the data merge feature to add dates to the sheets. To do so, I had to make an Excel spreadsheet with each day of the year, and what day of the week it was. And whenever I made new sheets, I had to delete the rows I had already used from the spreadsheet. With a little command-line scripting, I set up a script that used the date command, enscript, and pdftk to take the date, turn it into a one-line PDF, and use it as an overlay to the sheet. Doing this in a loop lets me generate sheets for as many days as I need.

You need to get used to looking at man pages and to searching on the 'Net. Remember that Unix commands generally do one thing. You can break your project into steps and search the web for a FreeBSD tool that does that step, then read the man page for more details.

My second piece of advice is to read the FreeBSD forums, and don't be shy about asking a question if you don't already find an answer. My experience has been that even when I ask a question that has already been answered, the folks on the forums are generally pretty patient about educating me. Computer manufacturers work closely with Microsoft to make sure their computers work out of the box with Windows. FreeBSD does not have that close connection, so sometimes you run into some idiosyncrasies. For example, I have installed FreeBSD on several small, fanless computers. In some of these, the computer tells FreeBSD that it has a working UART, but it really doesn't so FreeBSD hangs on boot. You need to add a hint telling it to ignore the UART. This, and similar idiosyncrasies, are things you won't find in the documentation, but if you search the forum, somebody else has probably run into them.

Good luck in whichever route you take.
 
Since then FreeBSD-14.2-RELEASE got a patch version 3 ?
I updated this week.

I forgot to check the update/patching process of FreeBSD. Thank you for including this discussion. I have also applied the patch and updated my system. Very nice update process. FreeBSD is an amazing system and i regret not trying it out years ago.
 
Back
Top