Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
OpenBSD Minimalist Desktop (nechtan.io)
139 points by hucste on Oct 17, 2022 | hide | past | favorite | 108 comments


Not related to OpenBSD itself, more for "minimalistic" approach - screenshots with irssi were popular like 25 or 20 years ago. I see kinda nothing new here, just fly stuck in amber.

Has minimalistic meant to be "limited"? Then makes sense.

TUI based? Somewhat makes a bit of sense.

Minimalistic but yet full featured? I couldn't see that on provided sample.


I have a similar setup as I mentioned in another comment.

I wouldn't say it is limited or not fully featured. It does everything one needs. There's nothing missing, rather it lacks the bloat. It begins with a basic system and you build up the things you need and want on top of it (versus starting with a bloated system and trying to remove things you don't need or want).

Why do I prefer the minimal setup? In my mind, stability. I have used the same setup and mostly the same configuration for ~16 years. At times my machine has had an uptime of 700+ days before a reboot.

I like things that "just work" and continue to work, forever (preferably). More moving parts means more potential breakage. Keep it stupid simple and to the point.


One's needs are much different from other one's needs.

Not blaming your setup is bad for your needs, but I'm pessimistic on ideals of 700 days uptime and not changing things for 16 years. Sign of stagnation for me.

My needs includes being able to cast my screen to TV or play music via AirPlay or chat in Slack/Mattermost or run some ML/Cuda stuff or tell (by voice) my laptop (Cortana actually) to set alarm for 5 minutes or...

I'm not sure I could do all that with setup of the sort you have.


>cast

Just use HDMI.

> Music

VLC has Chromecast support, and maybe Airplay.

> Slack

Bitlbee has plugins for everything. Just plug your fav IRC client.


It’s very easy to be minimalistic when you’re doing very little.


I don't need nor desire desktop software written with web technologies or other bloated UIs to be productive, thank you.

If you enjoy the bloat of Electron and using your toy mouse to make your computer do what many people do in a terminal then that's your choice. I won't begrudge someone their TOMY computer experience.


Do I understand it right that taskset you need to cover with computer is quite static and not that much focused on collaboration with others? For example - other team members have daily stand up in Slack's huddle, with screen sharing and even drawing from time to time, but you are not actively involved or even cannot attend at all?

Wider question - how it makes your productivity/life better?


I used Slack for the first time the other day and I don't see the fascination and buzz behind it. I'd rather an open source / in-house solution, regardless of whether it's for a business or non-profit project; Mattermost or Zulip, for example. Perhaps even IRC.

I wouldn't be drawing anything with a mouse or trackpad, that much is certain - perhaps a tablet with a stylus would be more suitable for those things. I could use a digitiser tablet with Gimp or Krita if I wanted to do some drawing.

That said, I have access to a web browser which allows participation in Slack, Zoom, etc if required as well as any other GUI programs I may want to run in my minimalist environment. Even in the screenshot I have IRC and Matrix - those are used for collaboration, it's just the clients aren't written in JavaScript/TypeScript.

Some people consider Discord essential for collaboration - those people are probably bad dangers.

I'm more productive and my life is better because I know every file on my computer and what it is doing or what it is communicating with at any one time; I can customise everything to be used in the way I find most optimal/efficient without permission from anyone :)


Like Linus the creator of Linux? Is he really doing "very little"?


Admittedly he does very little with his computer. He often said these days it's mostly reading and writing emails and merging patches. And he often stated he does not know nor care much about how his desktop works. He uses stock Fedora and spends his time inside his Micro Emacs clone, and laments he's not even doing much coding these days.

I wouldn't be surprised if he had a harder time than an average sweng to set up a LAMP server or troubleshoot networking issues.

Being central to the kernel development doesn't automatically mean you're a computer wiz.


Writing version 0.1 of a kernel from scratch very much does mean you are a computer wiz, how else are you going to make it run? You need to program the base hardware of the computer manually!

Of course if to you a computer wiz is someone who knows how to write a web page, or how Windows works, or how you use Photoshop, then no that’s not what you need. Then again the people who know that probably aren’t enough of a computer wiz to write a kernel from scratch.


Not really it does not. We differ on the definition of wiz: you mean one that knows really well how the hardware works, in this context I mean someone that knows how to "program" a computer. This is why I used the very generic word "wiz" and not software engineer. I mean being generally proficient, and he said he is not.

Knowing the exact procedure to enter protected mode in x86 doesn't mean knowing how to troubleshoot network issues, setting up a Wireguard connection or figuring out why systemd doesn't want to start that process.

And in any case, as I mentioned, Linus hasn't been doing much coding these days. These days Linus is a world class product manager. This is main role, and he has admitted that himself. His main responsibilities and daily duties have evolved since 1991, and so has the computing world.


In my opinion a computer wiz has enough talent and knowledge about tech that he can very quickly learn how to do all these things. And I don’t doubt for a second that Linus would be able to learn Wireguard, systemd or any networking system within a few days to a level far exceeding most people, insofar he doesn’t already know.

Linus didn’t just build the most used kernel on the planet, he also built the most used revision control system on the planet and has proven to be an effective project manager, whatever people think about his style. You’d probably be short sighted to dismiss any of his abilities.


you are right and I agree with you on fast learning path, knowledge and being smart in general. The original point though, it all started with

> It’s very easy to be minimalistic when you’re doing very little.

Still makes sense even for Linus, as he probably not need to have say Hadoop running in Docker Desktop, Chromecast playing videos/casting and whatever beyond things related to kernel development on the coding machine vs general case machine.


Standards change.


The screenshot was mostly to break up the article - it's not a picture book, the meat is in the words.

As a minimalist setup there's not really anything of note you could screenshot; Just a bunch of windows without decorations and some non-bloated software.


And I thought my Sway config is complex. Look at this stuff, it even runs X. Does Wayland work on OpenBSD?

The howto also uses an FTP client, and doesn't explain how it got the checksum.


"file transfer program" https://man.openbsd.org/ftp

Wayland applications can be used with the Arcan display server, but there is no native support for OpenBSD in Wayland.


The word minimal often means minimalistic in appearance and resource use, what I want is minimal work. That's why I run default gnome.


> That's why I run default gnome.

That's why I run Mac OS X and don't waste hours setting up a machine/operating system that could just work out of the box.


After you log in to iCloud, of course. And then you have to download the Xcode tools, which is fine because it only takes ~8 hours. You'll probably want to reboot after the latest version of Monterey downloads, but make sure you do this after the Xcode tools are done downloading. While you're at it, you should also disable SIP so you can use the filesystems on your external drive, and you'll also want to double-check that your docks/Ethernet components are all MacOS-compatible. You'll also need a copy of GNU's coreutils, so grab those after installing Homebrew/Nix or else you'll get dozens of bash errors. Can't forget Docker, either! That's okay, just go to the Docker website and download their Commercial Client, and only run it when you need a container. We can't just run Docker in the background of a modern OS, can we?

Depending on your workflow, MacOS is fully capable of wasting your time. Especially if you're a developer, MacOS will frequently go out of it's way to deliver you a worse UNIX environment than Linux. If MacOS makes you happy, use it - but nobody is deploying their web infrastructure to MacOS. You're beholden to Linux usage whether you like it or not.


Don't forget to keep your Apple development certificate paid up if you want to distribute your software inside or outside of the Apple App Store.

Enrollment is 99 USD (or in local currency where available) per membership year.

https://developer.apple.com/support/compare-memberships/


> it only takes ~8 hours

Um, what? Can't say as I've experienced this. Only time I ever felt like this is when I was downloading rustc and cargo from the FreeBSD repos.

The rest is semi-fair, if not completely understanding of the trade offs (rootless is mostly good, lots of people use docker on Linux, no one is deploying their web infrastructure on MacOS, not because you couldn't, but because it's not free, etc.)

As always, use what works for you! I made a joke about how this OpenBSD desktop has like Linux of 25 years ago vibes ... which I'd amend to say, and Linux has a MacOS of 5-10 year ago vibes without the apps (all the love in the world for Linux and the BSDs, and my M1 Macbook Air too).


I'm only taking issue with the "Just Works" comment, because it's most certainly not true when you're talking about development workflows. If you're a video editor or a music producer, MacOS becomes a much better value proposition. For developers though, MacOS gets treated like a second-class citizen. Entire swaths of Open-Source software will not run on MacOS out of the box. You don't even get a package manager without installing it yourself!

All of this is to say, everyone is going to have a different set of needs from their OS. Honestly, I agree with your "MacOS of 5-10 years ago" comment, and it's great that Linux continues to pick up the slack when MacOS "moves on" from various technologies. If I could still run Mojave, I would. Linux really does feel like the next-best thing, and with NixOS I hardly spend 3 minutes setting up my entire system (symlink /etc/nixos/ from my git repo and I'm done).

At least MacOS isn't as bad as Windows in the dev environment sense.

> Can't say as I've experienced this.

That was MacOS' estimate, in reality it only took ~4 hours. Still extremely frustrating when all I need is a 32mb git binary...


> I'm only taking issue with the "Just Works" comment,

I take your point, but "Just Works" on Linux can be a more difficult road than maybe we often care to acknowledge. If you didn't go through the "OMG why won't my laptop suspend properly" years (which maybe still haven't left us...?), then let me tell you UGH, give me a Macbook as my Unix desktop/laptop experience.

I really think it's mostly what you're comfortable/familiar with. Mention NixOS to me and I think interesting, but it actually sounds more complicated than a Time Machine backup on a ZFS NAS to me (although probably much more elegant).


NixOS is definitely more complicated than an OS snapshot - but that's why I like it. That kinda flexibility is what makes Linux great and completely unapproachable, which is why I won't make a bid for Linux domination any time soon. For developers and certain gamers, though, Linux could be a direct upgrade from Windows on their current hardware.

PS, if you are interested in shooting the shit about NixOS, it's actually quite neat. All the time-consuming Linux setup that people loathe can be mostly automated with a config file or two[0]. The package manager (Nix[1]) is pretty badass, and worth checking out if you are on Mac. I much prefer it to Homebrew for dependency management.

[0] https://gist.github.com/domenkozar/9071879

[1] https://nixos.org/download.html#nix-install-macos


Nix OS with Gnome just requires a few tweaks to the config file. Then it's pretty plug and play like as OSX. Devices, network manager, screen sharing...


Why would you do all that when the minimalist desktop apparently is running a mail client, an irc client and an ftp client?

You can do all that minimal desktop does and much more without MacOS ‘wasting your time’. Do you really want to pretend this minimalist desktop includes Docker?


This was true 3-5 years ago, but you can now buy OEM laptops with Linux preinstalled that "just work" the same as a Mac. Granted, in the long run I don't expect many to be able to maintain Linux unless they're pretty technical. But the whole "waste hours" idea just isn't true these days.


> This was true 3-5 years ago, but you can now buy OEM laptops with Linux preinstalled that "just work" the same as a Mac.

With the trackpad working as good as it does in Mac? And Bluetooth/WiFi? And as good of battery life due to strong hibernate/standby/sleep when you close the lid working? And equal support for external displays?

If Ubuntu is really 1:1 on par with Mac OS X in all categories, I'd be surprised.


Linux != Ubuntu, but yeah, while no one beats Apple's trackpad tech, the rest is there.

The biggest gotcha is still vendor hardware choices that don't follow spec. Appreciating that MacOS doesn't work on any laptops Apple doesn't make, it's pretty amazing how great the baseline for support is with any general Linux distro, even on Macs.

Also, Mac wifi and BT use some proprietary magic that isn't OS dependent. Just to emphasize that the hardware and OS are separate things.


I'm currently using a Magic Trackpad 2 with my KDE desktop (5.26). Gesture support is now 1:1 with MacOS, giving you silky-smooth kinetic gestures for changing desktops, going into Overview, etc. If you're using Wayland, it should also have fairly good support on GNOME too. The only thing you're missing is Force Touch, but I didn't even use that on MacOS.


My MBP trackpad feels so silky and sexy gliding around my OpenBSD cwm(1).


“Just works”, unless you’re doing anything remotely technical. I like macOS, I use it daily, but unless you’re popping open a browser and checking email and that’s it, there’s nothing out-of-the box about it. You’re likely going to set aside some time to set it up for actual work.


Installing Ubuntu takes 15-20 minutes.


I run xfce on my Linux machine and find that it does what I want out of the box.

I'm sure most of the people here complaining about custom configs can't be bothered to read documentation and hope the gui gives them enough hints to stumble through using it. And this has worked well enough for simple programs as visual hints allow one to stumble through the interface using trial and error.

The gui as documentation has done massive amounts of damage because you can only hint so much before the idea breaks down in the face of 100's of knobs and levers. Then the GUI becomes a liability because once the program becomes stable management (or bored oss devs) find reasons to change the gui breaking the user experience by corrupting the documentation. Now the user has to re-learn everything. The web then becomes a graveyard of obsolete how-to guides.

Goes to show you why emacs or vi and their clones haven't changed much ui wise yet visual studio and other monster ide's are moving targets. man pages and command driven interfaces are very stable.


Default KDE does more out of the box, and is very usable. Resource usage seems OK. I recommend it over Gnome.

The only thing I liked about Gnome was the appearance, which was something purely superficial.

(I don't use Linux anymore.)


I enjoy KDE more than Gnome nowadays but it's far from being more minimalistic; it has way too much options, applications, dropdowns, buttons, etc. compared to Gnome and pretty much any other DE.

It DOES run great though, but I think they'd do a good job by simplifying some aspects of it, too bad the community seems to be mostly opposed to that as they want KDE to remain a more power-user friendly desktop.


I haven't tried it out in awhile, but I wonder if LXQt might be worth looking at for something more configurable than GNOME, yet more simple than KDE. Of course, there's also always XFCE, MATE, and Cinnamon. I just don't see LXQt mentioned much.


I prefer Gnome but I also use KDE because that's what's on my Steam Deck.

Both work great and have all the features I need, but KDE feels a bit boring, a bit "Windows XP" while Gnome seems like a more modern desktop to me. I much prefer Gnome's dock to KDE's "start menu" with so many things cramed at the same place (well, like Windows).


I think the parent comment's choice of "minimal work" was key. In my experience, KDE requires quite a bit of work to set up because it encourages you to adapt the system for your workflow. GNOME, on the other hand, encourages you to adapt your workflow to the system, which is minimal out-of-the-box, and IMO doesn't take much effort or work to do so.

Regardless, I think once KDE is set up to one's workflow properly, it stays out of the way and can remain out of the way on new systems by transferring the config files. It just may take a lot of upfront work to get to that point and you can get easily distracted tweaking the minutiae over time. For that particular reason, I also prefer just using vanilla GNOME (with only the AppIndicator extension for DropBox and Steam tray icons). Granted, that's a "me problem" because I get easily distracted and can never stick with a specific setup when there's so many options available for me to tweak.

TL;DR: Both KDE and GNOME can be minimal, but the latter requires "minimal work" because it's minimal out-of-the-box and there's not much work that can be done.


I like to understand the system and am happiest with a simple setup.

So openbsd with a small tileing wm(I use spectrwm) is perfect for me.

If I were less addicted to web browsing I would probably use plan 9.


> If I were less addicted to web browsing I would probably use plan 9.

You can run a linux vm using vmx on 9front and run a browser in there. Not fast as lots of vm work is still needed to improve guest performance (send patches.)


That's why I run xfce4, best of both worlds!


I won't reply to every inane comment asking "why use X?", "minimalism is easy if you aren't doing anything", or "MacOS is better because it loads my CP out-of-the-box"...

1) The screenshot was from another system before I decided to do a write-up; my current setup is as per the article without further customisation.

2) cwm provides virtual desktops through grouping. That desktop pictured is what I use for email, IRC, Matrix, and RSS/newsboat.

3) Would I be better off in the console with tmux? No. Could I survive on the console? Yes. I use a web browser and another terminal in desktop 2, and other GUI programs in another virtual desktop. There are very few pieces of software I can't use on OpenBSD; Some people even play Steam games on it!

4) OpenBSD base is exquisite and the operating system itself is so easy to configure and maintain compared to GNU/Linux. It's simplicity and 'retro' configuration doesn't take away from its power or usability in modern computing (for all those saying it looks like an old GNU/Linux screenshot).

Unlike GNU/Linux and the linux kernel itself, the direction of OpenBSD has never and will never be dictated by corporate need or greed. The licence is arguably more open, allowing both innovation in open source and commercial use - but you would never see, for example, Elon Musk's next obsession making its way into the kernel because it was fashionable.

Meanwhile, Ubuntu continues on its downward spiral, Debian has just voted to include firmware blobs by default, and don't get me started on what macOS has become - or should I say 'iMacOS'.


The Web is where so much of the UI mindshare and skills are. Wondering if an OSS, vendor-neutral competitor for ChromeOS would lead to better Linux Desktop adoption? I still think Firefox OS could have been a precursor for that.


This is my long term safe place desktop if Ubuntu slides further down the slippery slope of advertising.


Ubuntu and OpenBSD are at completely opposite in the user friendly spectrum. You're a better off moving to Debian.


ubuntu is just the apple of linux world ubuntu is everything working out of the box ubuntu is made with the foundation of an ex businessman whom dislikes win/mac

ubuntu is a linux among hundreds of linux distros

openbsd is a rock-solid safe regarding security everything is handlymade to get a taylored-made computer.

if I had to compare, ubnutu is a bit like a high rank standing appartment in a big city where openbsd is a very nice home handly made to answer to all your choices and decision, whom might not be delivered with several defaults when you receive the keys ;)


Ubuntu was my first choice to make the jump from Windows. My current daily driver is Pop!OS, which seems equally user friendly to Ubuntu with minor differences in the details of usage.

I've been using Linux since RedHat 5.x "pocketbooks" with CDs were available at newsagencies (late nineties?), so I'm not scared of the prospect of having some fiddling to do in setting up OpenBSD. The main concern would be the availability of compatible apps that I use regularly.


True, but openbsd is far easier to understand than ubuntu.

user friendly is not the same thing as simple.


> user friendly is not the same thing as simple

Testify!


Who still partitions like that???


> Who still partitions like that???

Anyone using ZFS should!

Since ZFS partitions are all taking from the available space of the pool, you can have as many partitions as you need, which is very practical for snapshots and diffs, or if you want to use the same pool for different hosts (=> use a different etc along with a few others like var/lib )

Look at the set of partitions I recommend on https://github.com/csdvrx/zfs-autosnapshot (this is for the host 7275 on the pool nvme)

zfs create -o mountpoint=/ nvme/7275

zfs create -o mountpoint=/etc nvme/7275/etc

zfs create -o mountpoint=/opt nvme/7275/opt

zfs create -o mountpoint=/usr nvme/7275/usr

# for optimization

zfs create -o mountpoint=/img recordsize=1M primarycache=metadata secondarycache=none nvme/7275/img

zfs create -o mountpoint=/img/qcow2 recordsize=64k nvme/7275/images/qcow2

# for safety

zfs create -o mountpoint=/var nvme/7275/var

zfs create -o mountpoint=/var/tmp nvme/7275/var/tmp

zfs create -o mountpoint=/tmp nvme/7275/tmp

zfs set exec=off nvme/7275/var

zfs set setuid=on nvme/7275/var/tmp

zfs set setuid=off devices=off sync=disabled nvme/7275/tmp

# for systemd-journald

zfs create -o mountpoint=/var/log nvme/7275/var/log

zfs set acltype=posixacl nvme/7275/var/log

# for postgresql optimization

zfs create -o mountpoint=/var/lib nvme/7275/var/lib

zfs create -o mountpoint=/var/lib/postgresql nvme/7275/var/lib/postgresql

zfs set recordsize=8K primarycache=metadata logbias=throughput nvme/7275/var/lib/postgresql


I did an Ubuntu ZFS install for the first time recently, and I can confirm that a similar list of datasets arrive automatically.

It also taints the kernel, which is interesting.


> I did an Ubuntu ZFS install for the first time recently, and I can confirm that a similar list of datasets arrive automatically.

FYI this list was created to address Ubuntu's choices for ZFS datasets, which I think are suboptimal.

> It also taints the kernel, which is interesting.

Oracle could fix the ZFS situation at any time if they wanted to (and then get some positive feelings which they sorely need).

They don't. Personally, I don't care much. They may eventually change, like Microsoft did.

It's in their best interest: adapt or die.


ZFS runs on NetBSD, and FreeBSD. NOT OpenBSD.


You don't have to go to that extreme. Although, /usr/local should be its own partition for the wxallowed, and /var/log should be its own to keep some nasty logging from screwing everything up. I have a standard /, /home, /tmp, /usr, /usr/local, /var, /var/log. I also am a heretic so I also do /opt.

It actually isn't that hard. I do wish OpenBSD had a more robust filesystem. I switch to FreeBSD when I need a server with lots of storage.

[edit] the vultr install of OpenBSD only has / and /usr/local


I kinda wish Linux distributions would do this. Sure the /usr/X11R6 is a bit weird, but otherwise I think you should.

You should have at least: /tmp/, /var, /home and /usr by themselfs, personally I'd add /var/log as well. I've lost count of the number of times I had to rescue a Ubuntu system here something filled up either of those directories and now the system isn't responding. Having the entire disc filled up doesn't make it easier to fix.


Reminds me of early ~00s when I used to manually partition directories and choose optimal file systems for each one.. like reiserfs for /tmp etc.


I see /usr/X11R6 and it brings back memories of when Linux distros separated X in such a manner. Then I realized that r6 is kinda old.


OpenBSD's X distribution (xenocara) is based on X11R7.7 + updated components, it's just a historical naming convention. Other systems have merged X into /usr or /usr/local, OpenBSD kept the install prefix.

https://man.openbsd.org/hier


OpenBSD does not run the X server as root, so it does have a security benefit over more modern systems.

  USER       PID %CPU %MEM   VSZ   RSS TT  STAT   STARTED       TIME COMMAND
  _x11     71289  0.0  0.6 11164 24992 ??  S       9:06AM    0:00.41 /usr/X11R6/bin/X :0 vt05 ...
  root      2878  0.0  0.0  2696  1412 ??  IpU     9:06AM    0:00.04 X: [priv] (Xorg)
I understand that their malloc conversion from sbrk to mmap flushed out some long-standing X bugs as well.

http://www.undeadly.org/cgi?action=article&sid=2005082419031...


Do you remember what distro used to do this?


All of them that I can remember. Note that this is from the '90s. At some point they all merged the X stuff into /usr. Maybe it was with the x.org switch, as XFree86 does indeed mention /usr/X11R6 in the docs.

https://xfree86.org/4.8.0/Install4.html#6


Ah, you meant as a directory. Sure, I remember that, I just thought you meant as a partition.


Wait til you have to fsck a 3TB drive on UFS.


That was my first thought too. Why so many partitions?


As the article says it's the OpenBSD default.

As for why: A power loss will likely only affect filesystems being written to. So less risk of ending up with an unbootable system if / and /usr are not being written to.

Even moreso if they are mapped read-only.

I don't know about now, but I've seen people only enable softdep mount option for FSs that need some extra speed, and not on / and /usr. (article does this for /home. look at the listed mount options)

It's also nice to mount /tmp and /home with "nosuid" and "nodev". Some file systems even "noexec".

Edit:

Note that I'm not advocating for it. I'm merely listing reasons one could have.


I’ve posted it here before but the frustrating state of OpenBSDs filesystems is a big issue for me putting it into production.


Yeah. I don't quite remember now, but I think many of the packages don't work if you don't have a separate /usr/local fs, since the packages need wxallowed.

Unless you want to enable wxallowed on / or /usr.

Then of course there's the fact that they don't do journalling. It's not my expertise but if literally everyone is doing journalling instead of softdep, then maybe they're right.

I've used OpenBSD off and on since 2.1, and I've experienced much more data loss on it than on Linux. So yeah I'm also not a fan of OpenBSD's filesystems.

I feel like OpenBSD don't have enough staffing to do the right things (e.g. Wayland, Bluetooth), so instead they try to do what they can, but right.

Which is fair enough, but will become more and more like retro computing for every year that passes.


> journaling

Yup, the journaling is the nail in the coffin for me. I scratch my head when people recommend it as a network appliance due to the data loss issues.

> retro computing

I kind of do use it in that niche. I enjoy finding the oddball hardware OpenBSD runs on with, at least partial, -current support.


My first one would be "can I hire any reasonable sysadmin for that at all?"

Among others - is it supported by any hosting vendor or I'll be forced to tinker with it myself without even cloud-init tooling?


> Among others - is it supported by any hosting vendor or I'll be forced to tinker with it myself without even cloud-init tooling?

1984.is has OpenBSD as an install option; that's what I use for my mailserver and webserver.


Honestly, any competent Linux or FreeBSD admin should adapt to OpenBSD easily.


I'm honestly in much doubts here. To make it proper reply it must be lengthy, will try to highlight at least several points and keep it short.

* finding FreeBSD guys, who probably the best match here is somewhat puzzle on its own

* highly likely common approaches in modern world would fail - cloud-init, systemd units to be adopted, not even mentioning Docker/podman and highly likely monitoring/metrics tooling. Not checked, but very unsure NewRelic or Datadog are compatible => admins will not be able to use their previous skillset effectively

* convincing people to join team of supporting OpenBSD systems can be somewhat tricky. I'm basing on my own feelings here - I'd rise the bar for salary 2 times and even that will think twice on should I spend my time on such experience

* leaving performance alone, I bet it will require extra hardware planning instead of buying any Supermicro/HP/whatever server and be sure it's Redhat compatible. Must be very serious reasons to put yourself in chores of this sort. And reasonable admins must consider such risks and delays for rollouts of products in production

So on.


Something tells me they’ll type “sudo” into the shell pretty fast and be very surprised.


I guess that's part of "adaptation" and for humans probably not a bit deal

But I feel that would be the top of the iceberg - bottom part would be - how much of other tooling, say Ansible will fail? Homegrown scripts will fail?

Amount of efforts seems to be very high for, let's say politely unknown and unclear benefits.


Most clouds don't support it, but vultr.com does.



OpenBSD has certain flags it sets on various partitions to enable/disable performance and security features. Sort of like setting `noexec` on /tmp, using XFS instead of BTRFS on your database volume, etc. Like most OpenBSD things, it stays way on the "correctness/security" side of the "security--convenience" scale


Very similar to my setup using a base Debian net install but with dwm instead of cwm. I even use a lot of the same command line tools/programs.


I just use FVWM with light customization. Don't need anything fancier.


> If you are not using xfce, then you will need to enable messagebus/dbus with:

Not too sure of that, on OpenBSD I set this:

export DBUS_SESSION_BUS_ADDRESS="no"

In ~/.xsession to avoid using dbus. My WM is cwm(1). Without dbus I am not missing anything (AFAIK), even when executing firefox. So wondering what dbus gives someone on OpenBSD.

Anyway, nice write-up.


Good point, thank you. I always assumed it was required for Firefox so have automatically enabled it!

I can't think of anything else it could be needed for other than various GTK-bloat IPC so I'll make a note in the article!

Thanks again,

Daniel


Minimalist Desktop == not very much works/to use? Minimalist in the backwoods cabin, no running water sense.

This is not intended to be mean (hey, if it works for you!), but in many ways this is about vibes, and this does have a Linux of 25 years ago vibes.


OpenBSD base has almost everything else I need.


If I wasn't clear, I think that's fair! And certainly appreciate your blog entry. I think if anything my quibble is with our/some's obsession with "minimalism". Like, in one sense, it's less complicated to live in the woods, in another, it's tremendously difficult for some. And I'm not certain we should glorify it. It's just a different way of living.

For example, OpenBSD won't adopt ZFS. Won't adopt Rust within the OS. Won't use hyperthreading. All aren't even up for debate. They have their reasons, but also I do enjoy my creature comforts. Because at a certain level of additional ease does have its benefits?

It feels like the other side of the Simple Made Easy talk by Rich Hickey[0]. Yes, we shouldn't aggravate complexity, but also we need not make things unnecessarily hard on ourselves either for the sake of "simplicity" or "minimalism". It's a balance for the rest of us. I think the goal should be to strive for both easy and simple, and an OpenBSD desktop falls short re: easy for me. And, if the point is "It's simple/minimal!", I think that simplicity should have benefits (it's more composable..., it fits on a very small flash device,...). We shouldn't simply worship simplicity for its own sake.

[0]: https://www.infoq.com/presentations/Simple-Made-Easy/


> Won't use hyperthreading.

That's a switch.

> Won't adopt Rust within the OS.

It's in packages. Get it.

> OpenBSD won't adopt ZFS

Hammer2 would be preferable.


> That's a switch.

That's fair. I supposed what I was getting at is: OpenBSD seems... mono-maniacal(?), and that's one reason it remains niche.

> It's in packages. Get it.

Yeah, but won't adopt inside the base OS.

> Hammer2 would be preferable.

"...from a licensing standpoint..." Otherwise, ZFS is still obviously the state of the art. Most of us shrug and say "Whatever?" re: the licensing noise and run the stuff that works?


ZFS has two flaws: the license and that it's too intrusive.


Am i missing something or is the guy's desktop just some terminals?


There also seems to be some kind of bar at the bottom with the time, though they also have the time showing in their terminal.


Can openbsd compile with a minimal C89 (maybe a bit of c99) compiler, or does it require gcc or clang?


If this hasn't changed recently, the two official compilers for OpenBSD are clang and gcc 4.2, the latter for some more obscure architectures unsupported by clang. The specific version is used because gcc changed its license after that, and I think this was before the C99 support of gcc was basically finished (4.5?).

So technically speaking, it would sound possible, if such a large code base doesn't trigger various compiler bugs and undefined standard issues, never mind some low level gcc extensions (asm etc.) probably being used.

Haven't heard of someone doing that, though.


The last attempt I'm aware of was over a decade ago now, at the time there was some interest in building the system (kernel+userland) with pcc (Portable C Compiler), ultimately LLVM/clang won out in the end.

https://undeadly.org/cgi?action=article;sid=20091228231142


so mostly clang then gcc.

Totally unable to compile without such grotesquely and absurdely massive c++ coded compilers like linux.

sad.


Well, projects like the BSDs need a lot of platform support, where even LLVM is still lacking. You wouldn’t want a different compiler for each arch. There simply aren’t that many candidates.


eat the bullet: cleanup syscalls, write a full kernel using risc-v assembly with a conservative usage of the preprocessor. Get done with compilers for good... and only for that it would be even worth maintaining full assembly code for the few major ISAs and a generic C implementation which compiles with naive, small and simple C compilers and certainly not gcc or clang.

I know what to do now.


If your minimalist desktop is just terminal space, why bother with X?


Because you can fit a lot of terminals on a modern display.

Aha! you say, just use tmux.

tmux is great, but I like the feel of a tileing window manager more than tmux.


Well, you could always go with dvtm [1] and skip X11.

[1]: https://www.brain-dump.org/projects/dvtm


Or just Ctrl-Alt-Fn to the nth console (enabled in /etc/ttys).

Unless you’re coming in through com0, that is.


Virtual desktop 1 (pictured) is just tmux with a bunch of communications programs I have.

Virtual Desktop 2: Firefox, sometimes an additional terminal

Virtual Desktop 3: More GUI apps, though often vim split with something else, depending on what I'm working on.

I use plenty GUI-based software, but there's a lot of unnecessary bloat - both in resources and on the eyes - that we can do without.


Better font support leading to more screen real estate.


- Unicode.

- Spleen/Unifont fonts.

- OpenBSD base already has X.

- Image and videos with nsxiv/mpv.


X is already installed on OpenBSD, might as well use it.


just to add my participation, Im using openbsd through dwm (isotop project) or xfce, it depends.

rest of time, using lmde, not bad.. does macos have still users? :D




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: