FreeBSD or Linux from Windows

It would take me maybe an hour just to make sure it works correctly... Exactly what lines?
Modifying the examples given in wpa_supplicant.conf(5) is actually quicker than navigating the disjointed Windows 11 wifi GUI.

Code:
network={
  ssid="<wifi name>"
  key_mgmt=WPA-PSK
  psk="<wifi password>"
}

Is all you need for a typical home wifi (WPA2-Personal these days) network.

What if I guess incorrectly, even after readng the manual? Am I to be stuck without wifi and access to Internet for a few days, or even the duration of the trip if I guess incorrectly? That's just not acceptable.
No worries, the man-pages are included in the base install and work offline.
If you guess incorrectly, you are in the same boat regardless of operating system and GUI vs CLI.

That kind of approach doesn't really fly in the enterprise. If you don't have the basics right, the perks and nice features don't matter.
It really does. Stripped appliances are very much a thing. I don't believe many edge devices include graphics, GPUs.
Heck, the classic SunFire V100 was serial-only.

If I don't like the brand of the tires the car came with, I can get them swapped out later. But I would not buy a car that came without any tires from get-go.
Thats the difference between a consumer, an enthusiast and a professional. They have different requirements and in many ways the products targeted at each one really are quite mutually exclusive. A Formula 1 team would expect to be putting the track specific tires on the car.
 
Is all you need for a typical home wifi (WPA2-Personal these days) network.
Home, yes. Public hotspot, no. Enterprise (workplace), no.

No worries, the man-pages are included in the base install and work offline.
If you guess incorrectly, you are in the same boat regardless of operating system and GUI vs CLI.
If I guess incorrectly, the prospect of being stuck without a plan B is too much. That's why such things are often automated, like Xorg is. As I mentioned earlier, it would have been a dealbreaker for me if Xorg did not have auto-configuration on FreeBSD. Wifi is the same thing in that regard. It does need that same auto-configuration. Disregarding that is what makes FreeBSD a niche OS that only attracts people who know what they are doing and can live with the risk of being stuck wihout wifi. This is what makes FreeBSD an OS targeted at enthusiasts, primarily. Some of those enthusiasts are also either current or former professionals.

It really does. Stripped appliances are very much a thing. I don't believe many edge devices include graphics, GPUs.
Heck, the classic SunFire V100 was serial-only.
That's specialized devices/tools. A professional would know what to do with them, and why they are a better choice than a general-purpose computer. There's kind of a reason I just buy a router I can put DD-WRT or OpenWRT on, rather than spend my days learning the intricacies of ifconfig and turning a base FreeBSD install into a specialized machine that can do the same routing.
 
I like to alot 40GB dynamic sizing but it is your call here.
However, you should atleast use 20 GB to enjoy installing packages
It's actually your call on how you allocate hard disk space. I personally am not a fan of dynamic sizing in a VM, so I pre-allocate 64 GB for a VBox hard disk - and give it all to ZFS (the ZFS-on-Root option) when the FreeBSD installer comes calling.

FWIW, I give the whole disk to ZFS on bare metal, as well.
 
Home, yes. Public hotspot, no. Enterprise (workplace), no.
The examples are all in the link I pointed towards. Just copy/paste the right one. Home yes, Public hotspot, yes. Enterprise (+ RADIUS), yes. It also includes some specialist configs that Windows and Linux GUIs can't hope to support.
If I guess incorrectly, the prospect of being stuck without a plan B is too much.
Guessing the password? As mentioned plan B is the same regardless of if you use a GUI or a CLI. Or if you use Windows or FreeBSD. Don't guess, use the tool.
There's kind of a reason I just buy a router I can put DD-WRT or OpenWRT on, rather than spend my days learning the intricacies of ifconfig and turning a base FreeBSD install into a specialized machine that can do the same routing.
Thats what makes FreeBSD great, you can use it for routers where native GUIs would be unsuitable. DD-WRT and OpenWRT only exist because ifconfig and wpa_supplicant are so standardized and flexible.

That's why such things are often automated, like Xorg is. As I mentioned earlier, it would have been a dealbreaker for me if Xorg did not have auto-configuration on FreeBSD. Wifi is the same thing in that regard. It does need that same auto-configuration.
Xorg doesn't have auto-configuration (Xorg -configure is deprecated in favour of manual conf.d files). If you use less common hardware, you have to configure a fair amount of stuff. Particularly on older Intel chips (Intel 915 to Intel 945), a number of these config options relating to DRI are needed. Luckily the auto-detection of hardware (just like wpa_supplicant autodetects the hardware) has improved this last decade though.
 
The examples are all in the link I pointed towards. Just copy/paste the right one. Home yes, Public hotspot, yes. Enterprise (+ RADIUS), yes. It also includes some specialist configs that Windows and Linux GUIs can't hope to support.
Guessing the password? As mentioned plan B is the same regardless of if you use a GUI or a CLI. Or if you use Windows or FreeBSD. Don't guess, use the tool.
Wifi roaming is still a sore issue. And yeah, it does need to be resolved if there's to be any substance to the claim that FreeBSD is a general-purpose OS. How come wpa_supplicant shows details for the incorrect network? How come the switching doesn't happen correctly? Just recognizing that this is a dealbreaker for people new to FreeBSD - that will go a long way towards making FreeBSD a viable option that is not just for enthusiasts who know what they're doing.
Thats what makes FreeBSD great, you can use it for routers where native GUIs would be unsuitable. DD-WRT and OpenWRT only exist because ifconfig and wpa_supplicant are so standardized and flexible.
Both DD-WRT and OpenWRT give you the option to SSH in and use command-line there. Yeah, so does Cisco's iOS, but Cisco hardware is out of my budget. Having OpenWRT on a consumer router does make it comparable to stuff that runs iOS. The only real difference is that Cisco's enterprise-grade hardware is in fact much more powerful than anything available on the consumer market. Just try running security/snort on a consumer router, you'll fry the circuitry on it pretty quick.
 
Wifi roaming is still a sore issue. And yeah, it does need to be resolved if there's to be any substance to the claim that FreeBSD is a general-purpose OS. How come wpa_supplicant shows details for the incorrect network? How come the switching doesn't happen correctly?
Oh right. We have discussed that before. Limited drivers for your specific hardware is likely the answer. Have you tried other wifi cards?
To be fair I have an older Linksys device that is no longer supported full-stop by Windows (and RHEL >8). So I suppose FreeBSD's roaming wins by default for that specific hardware.

Try a bunch of different USB dongles, you will find one that roams well.

Both DD-WRT and OpenWRT give you the option to SSH in and use command-line there.
Indeed. ifconfig and wpa_supplicant are really the only choices when it comes to SSH. The GUI stuff is a non-starter.
 
It would take me maybe an hour just to make sure it works correctly... Exactly what lines? are the values the correct ones for the hotspot? What if I guess incorrectly, even after readng the manual? Am I to be stuck without wifi and access to Internet for a few days, or even the duration of the trip if I guess incorrectly? That's just not acceptable.
I agree on wifi. If you actually need to use wifi and it is unclear how to access wifi (if you have a supported card) it can certainly be frustrating. I have had issues with bsdconfig allow wifi to be configured. It detects the cards but doesn't want to configure them. Very strange behavior. The initial installer works to configure but on some systems if I complete the install using bsdconfig to setup the wifi after the install often will fail. This means manually configuring the wifi. But thanks to the handbook or vermaden's posts that's pretty simple. But it sure can be frustrating when bsdconfig doesn't work. I usually install ghostbsd's networkmgr on systems with wifi cards.
 
I have had issues with bsdconfig allow wifi to be configured. It detects the cards but doesn't want to configure them. Very strange behavior. The initial installer works to configure but on some systems if I complete the install using bsdconfig to setup the wifi after the install often will fail. This means manually configuring the wifi.
Very first install I ran into that! I connected to my AP, expected a password prompt, but didn't get one (installer allows seeing and connecting but not entering WPA/etc keys). I somewhat expected post-install was going to do magic and figure out how to connect :p

I forget if that caused it to auto-connect to an open AP post-install, but if it did that might be a concern if someone had a snoop or malicious AP (freebsd-update fetches updates after clean non-network install implying it might potentially not have certain security updates out-the-box)
 
freebsd-update fetches updates after clean non-network install implying it might potentially not have certain security updates out-the-box
Indeed. You don't want to connect it to a network at the most vulnerable point of an OSes lifecycle.

This is why the recent online activation DRM requirement for Apples aarch64 builds of macOS is so dumb. At least Windows has loads of cracks available or you can choose to activate it *after* you have updated it.
 
Indeed. You don't want to connect it to a network at the most vulnerable point of an OSes lifecycle.

This is why the recent online activation DRM requirement for Apples aarch64 builds of macOS is so dumb. At least Windows has loads of cracks available or you can choose to activate it *after* you have updated it.
Microsoft actually stopped giving a rat's ass about cracked Windows for consumers, because these days, the real money is in Azure and Teams enterprise licenses. Oh, and CoPilot AI...

Case in point: It's pretty easy to find information how to bypass the initial Win11 login that demands that you have a Microsoft account just to be able to log into your own machine (even if it is offline). If Microsoft actually cared, they'd issue takedown notices to the places that provide such information.
 
A car needs 4 wheels and tires. If it lacks that basic stuff, it doesn't matter if it's a Rolls Royce or a Ferrari, it's not rolling! ...
If I don't like the brand of the tires the car came with, I can get them swapped out later.
In the old days, before about 1920 or 1925, many cars came without bodywork: No seats, no sheet metal, no doors, no roof. You ordered the frame and running gear (engine, transmission) from the car manufacturer, and then had it completed by a coach builder to make it drivable and useful.

For some vehicles, this is still true. At home, we have both an International 4300 (today the model is called the International MV), and a Ford F550. When you buy them, they have motor, transmission, frame, wheels, and the cab (the part the driver and passenger sit in). The whole back is empty and wide open. You then have it shipped to a specialty upfitter and install whatever you want. We happen to have a Terex Commander 4045 on one of them, and a Rugby DumpBody on the other.

I happen to like the same paradigm for my server OS: I install FreeBSD, and I expect it to be completely useless, and have no functionality. I then add the various functions I need: I set up user accounts, large file systems, NFS server. I download packages for DNS, DHCP and NTP server, and populate their config files. I install and configure Apache, and place all the web content in the correct directories. I fetch my personal server software from the source control repository, make the required hardware connection (today that's down to a few USB and serial wires), and start using it. FreeBSD is excellent at delivering this experience, without getting into my way, and without causing me to tear my hair out over bizarre configuration choices, or "the OS knows better". FreeBSD (and the other two BSDs) implement POLA better than any other server OS.

But note that this is for a SERVER machine, which has no GUI (the fact that it even has a VGA port and a keyboard attached is really just for emergency maintenance, when all the network fails). For my desktop (laptop) machine, I prefer a totally different paradigm: I go to a store, give them my credit card, and they give me a cardboard box. At home I open the box, plug in power, and I type in about 3-4 pieces of information: My account on a big cloud computing organization, my password there, the desired username and password on the new laptop. And I select the correct SSID for the WiFi and enter its password. After about 30 second, I expect the GUI to come up, and be configured exactly the way I like it, the way it is on all my other laptops. The screen background will be correct, the icons are all in the right places, and the application menus are populated the way I like them, not some OS-specific default. After about 30 minutes, I expect all my e-mail to be downloaded and cached, all my web resources to be ready and cached, and all the files of which I desire to have local copies to be present (it takes 30 minutes because our network at home is slow), without me having done very much to make it happen. There happens to be a product out there which can deliver this user experience to me (and a similar user experience on cell phones), and it is not FreeBSD.
 
But note that this is for a SERVER machine

FreeBSD is better, you just have to learn it. School is never out. FreeBSD is not Windows and i like it that way. I am addicted to this beast of a system and it is not in-and-of-itself a server. Apache, for example, is a server. FreeBSD is an operating system, which is indeed equipped to be a superior and reliable server system but it also equipped to handle your everyday desktop computing. FreeBSD!

I have my FreeBSD setup to boot to the login shell, where i can maintain a shell environment for the mere sake of true computing and continued education. Then, i can either run startx with a window manager or startxfce4 to boot into a modern day Desktop Environment - for those days whenever i want to avoid interacting with the terminal as much as possible (games, videos, music, graphics work, internet surfing etc).

I have finally entered the realm of ports. Today i have successfully compiled gnome-calculator from ports and i tested it in xorg as well as xfce. I have to say, as a Windows user, i love this Mousepad text editor. I would use MS Notepad even if it were a FreeBSD or Linux editor. How can anyone hate the lightweight Notepad? Notepad is my go-to php editor (except for initial creation because Notepad maintains the BOM). So Mousepad is my favorite editor now outside of my Windows life. I recommend it to anyone coming from Windows.

So initially i was seeing an error when trying to compile a port: 'c compiler cannot execute'. I traced it to a missing devel/gmake port. I successfully compiled and installed gmake, which solved the C executable error. However i need to make a notice to nix users that suggest adding clean to make install: when you want to rebuild: make clean, then make all - it is used to solve any dependency issue in the Makefile which contains clean rules. Telling people to do this without a need to rebuild is shameful and incorrect. Folks, if you are running FreeBSD in VirtualBox for testing before installing on a system, then make install clean will cost you many hours of parallel hell. Your laptop could overheating using make install clean. If you run this command and find this tip, then press [control][c] keys simultaneously in order to stop make and return to the prompt.

So after adding devel/gmake i was getting a pywheel error. 0.0 I tried to remove the outdated pywheel for the newer version but it didn't make a difference. I decided to install it using pkg install and it solved my problem. I was finally able to compile and install gnome-calculator (a smaller port to save my laptop from overheating on a larger port with more dependencies.) Now i need to learn how to use poudriere and use it with jails. I'm getting further along in my FreeBSD education.

cue Fats Domino - What a Party :)

I also learned to pipe ls output to less for reading page-by-page using b/space keys or page up/page don keys. Awesome! I am impressed wih this concept as well as virtual terminals - which i find more useful than tmux, since i am not logging in to a server to issue long running commands. I have no need for tmux but these virtual terminals are awesome!

Windows chains us to Explorer, services that we do not need or want running (and they prevent disabling a ton of bad services), package CIA (espionage and backdoors), fingerprinting, ad ids, Windows Defender (deleting your favorite hack tools until you control it) and the list becomes a novel if you don't stop typing. Now they want to add AI to the mix. By the way, alot of so-called privacy buffs seem to sleep on the fact that alot of money sponsored firewalls log all of your traffic. That means that they can spy on you/collect data about you and personal data if you registered Windows or purchased third-part software. So why on earth does anyone want to run a Windows firewall? And i haven't used anti-virus software in 15 years (more user data collection)

I'm sticking with FreeBSD. I love this system. I really do but i have alot to learn...
 
yes, Thank You astyle :)

Espionage724: i want to run the xfce DE not x with twm.

Code:
~/.xinitrc
twm &
#xclock -geometry 50x50-1+1 &
xterm -geometry 64x20+400+5 &
#xterm -geometry 64x20+400-5 &
exec xterm -geometry 64x20+5+5 -name login

$ startx

but i can use my xfce DE instead of x with twm:
$ startxfce4

Virtual terminals are awesome! Unix people are so smart. I learned about these two days ago and i thought "FreeBSD, where have you been my whole life?"

I love the virtual terminals concept:
- boot up and login to ttyv0.
- [Alt][F2] open ttyv1.
- login to ttyv1 and startx.
- from xorg [Control][Alt][F1] return to ttyv1 terminal.
- [Alt][F1] return to ttyv0. do something.
- [Alt][F2] return to ttyv1. [Control][F9] return to x window manager.
Then, stare at screen in amazement!

Fantastic! FeeBSD is amazing. Coming from Windows: i feel like i fell into a cavern full of diamonds and gold :-)
my computing spirit is renewed. Thank You FreeBSD! The devs, the community, the system. FANtastic!

Now i also think that Microsoft is using a virtual terminal behind our desktop to track us. Probably how they implement background services and updates. The imagination can run wild with wonder...

But also, why in the hell does Microsoft think that a login screen (display manager) and a single DE is best for its users? I prefer the virtual terminals. I guess that MS and Linux decided to move this concept to virtual desktops instead.

I am going to read more about these terminals and i have some more reading to do about the configuration files.
 
It starts XFCE, rather than plain Xorg/TWM...
I install Xorg and Xfce, log-in from CLI, type startx, and Xfce starts. I figured Xorg had to be started anyway for input/graphics and that it was starting Xfce's desktop session on-top of Xorg.

I never heard of TWM or knew there was a different way to go about starting Xfce other than through Xorg or something Wayland.
 
I install Xorg and Xfce, log-in from CLI, type startx, and Xfce starts. I figured Xorg had to be started anyway for input/graphics and that it was starting Xfce's desktop session on-top of Xorg.

I never heard of TWM or knew there was a different way to go about starting Xfce other than through Xorg or something Wayland.
Ok, let's untangle this...

TWM is the default window manager that comes with a basic Xorg installation. When you look at basic Xorg, TWM is the window manager you're looking at.

Since you have XFCE 4 installed: The fact that XFCE starts for you when you run startx - that means that you have a ~/.xinitrc file that has just the following line in it: . /usr/local/etc/xdg/xfce4/xinitrc... I just now looked this up in the User Handbook section on Desktop Environments.
 
Thanks for the info, astyle :)

compared to 'real' programmers, i'm a hacker in the negative sense. I know how to program but i do not know system programming yet. I am new to FreeBSD, so i am hacking here-and-there to learn faster. I want a shell like i'm using FreeBSD headless but i also want to be able to run x with a window manager or start a DE. I figured it out and moved on. I only know that twm is default in 14.2 new installation. I'm not qualified to say more than that. I like twm enough to leave it for now.

I am trying to hack this xorg and DE concept because i lack the fundamental knowledge of how they are working (under the hood). I read that DEs are stuck at 1024x768 in virtualbox and that auto resizing doesn't work. However, whenever i run the budgie-desktop by itself ($ budgie-desktop) it loads and the screen automatically resizes in my VirtualBox. Amazing! I thought that VirtualBox was stuck in a particular resolution. So apparently, this is false. I wonder if some FreeBSD user know how this works but are not sharing this info. Or noone but me knows that this happens with budgie-dektop.

So i wonder: does anyone know how to stop budgie from wanting to launch a display manager and the mouse is not working when i launch it by itself ($ budgie desktop). Otherwise, it loads just fine but i have to use [Control][Alt][c] to logout to the terminal. I'll keep hacking and check out config files but maybe someone already knows how to do this...

Maybe we can get all of the DEs auto resizing in VirtualBox :cool:
 
Ok, let's untangle this...

TWM is the default window manager that comes with a basic Xorg installation. When you look at basic Xorg, TWM is the window manager you're looking at.

Since you have XFCE 4 installed: The fact that XFCE starts for you when you run startx - that means that you have a ~/.xinitrc file that has just the following line in it: . /usr/local/etc/xdg/xfce4/xinitrc... I just now looked this up in the User Handbook section on Desktop Environments.
Is Xfce presented differently between startx and startxfce4?

I haven't seen TWM and by-default after booting FreeBSD I get a log-in prompt in TTY. It seems like from there it'd be an extra step to go from TTY -> twm -> Xfce (startxfce4), vs TTY -> Xfce (startx)? Unless TWM can be made to auto-start? But I'm wondering what the advantage would be using startxfce4 vs startx if they both launch (presumably the same) Xfce?
 
Well, i didn't know about VcXsrv, so thanks for the info. However, it seems a bit strange to have such a program on a Windows machine whenever one can just install Linux or FreeBSD in VirtualBox. Besides that, it doen't address the issue. The auto-resizing has nothing to do with Windows (the host system). VirtualBox has its own graphics drivers. Normally, the guest OS resolution (display size) can be auto-resized to fit the hosts resolution (maximized virtualbox window) after installing guest additions. FreeBSD uses virtualbox-ose-additions instead and the display is not autoresized. I am discussing this problem as it relates to FreeBSD in VirtualBox, which has nothing to do with Windows. But Thank you for sharing your knowledge with us. Very much appreciated kpedersen :)

I have xfce resized now and it is nice to have the desktop fit into my host vm with FreeBSD. Yay!

Now i am going to read more about config files, then call it a day...
 

Attachments

  • xfceautoresized.jpg
    xfceautoresized.jpg
    71.7 KB · Views: 9
Is Xfce presented differently between startx and startxfce4?

I haven't seen TWM and by-default after booting FreeBSD I get a log-in prompt in TTY. It seems like from there it'd be an extra step to go from TTY -> twm -> Xfce (startxfce4), vs TTY -> Xfce (startx)? Unless TWM can be made to auto-start? But I'm wondering what the advantage would be using startxfce4 vs startx if they both launch (presumably the same) Xfce?
OK, something is messed up in the presentation about how Xorg is actually started. Let's untangle this:

By default, startx is the command to start TWM.

If you have ~/.xinitrc with the line . /usr/local/etc/xdg/xfce4/xinitrc, then XFCE4 starts instead of TWM when you run startx. If you want to run TWM in this scenario, you actually need to run twm from a TTY.

If you don't have that ~/.xinitrc, then TWM starts when you run startx. If you want to start XFCE4 in this scenario, startxfce4 is the command to run.

The difference between the two is the very existence of the ~/.xinitrc file.
 
Well, i didn't know about VcXsrv, so thanks for the info. However, it seems a bit strange to have such a program on a Windows machine whenever one can just install Linux or FreeBSD in VirtualBox. Besides that, it doen't address the issue. The auto-resizing has nothing to do with Windows (the host system). VirtualBox has its own graphics drivers.
Its kind of hard to explain without a demo but VcXsrv is a platform agnostic viewer rather than relying on an emulated GPU. Basically, having the display server on the host completely side-steps the issue of the virtualized GPU drivers not being very flexible. Another option for example is Xvnc where you could specify the resolution to be 99999x99999 if you wanted to and connect with a VNC viewer.

Are you familiar with Microsoft's Remote Desktop? Its the same concept really, it separates out the physical hardware (and its limitations) from the display.

That said... Tackling your issue directly, it is likely that Virtual Box just doesn't know about the resolutions you need (the VESA standard is traditionally quite limited). You can do this via some subtle hacks via setextradata:

https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/adv-display-config.html

(if its still needed? Its been a while!)
 
Hi kpedersen, i skimmed the intro and only noticed x11 for Windows. I should've read deeper, then you wouldn't have to spend your time re-explaining. My apologies for this oversight. Very nice resource. I read the entire Lenovo page that you have linked to in your previous post. I also downloaded it and added it to my Windows software collection :)

But i managed to get my xfce dektop to autoresize, so i am happy. I plan on installing FreeBSD on the system but for now i am learning in VirtualBox and having a full screen desktop makes it nicer to work with. I know about the setextradata but i wanted to find a way to do it within FreeBSD. I have accomplished this task.

You are very kind and helpful. I appreciate you very much :)
 
I plan on installing FreeBSD on the system but for now i am learning in VirtualBox and having a full screen desktop makes it nicer to work with
Full-screen desktop in VirtualBox is nice to work with, but that does make it important to know about 'Escape Key Sequence', because VirtualBox does demand to have exclusive control of keyboard and mouse. Some guest OSes do allow integration of that control with host, sometimes not.
 
Back
Top