12 ms·
OpenBSD Minimalist Desktop
- midislack 4y agoI just use FVWM with light customization. Don't need anything fancier.
- thanatos519 4y agoWho still partitions like that???
- 708733454927516 4y agoThat was my first thought too. Why so many partitions?
- knorker 4y agoAs 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.
- doublepg23 4y agoI’ve posted it here before but the frustrating state of OpenBSDs filesystems is a big issue for me putting it into production.
- CoolCold 4y agoMy 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?
- chungy 4y agoHonestly, any competent Linux or FreeBSD admin should adapt to OpenBSD easily.
- doublepg23 4y agoSomething tells me they’ll type “sudo” into the shell pretty fast and be very surprised.
- CoolCold 4y agoI 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.
- CoolCold 4y agoI'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.
- knorker 4y agoYeah. 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.
- doublepg23 4y ago> 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.
- yabones 4y agoOpenBSD 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
- anxiously 4y agoReminds me of early ~00s when I used to manually partition directories and choose optimal file systems for each one.. like reiserfs for /tmp etc.
- rascul 4y agoI 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.
- chasil 4y agoOpenBSD 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=20050824190317&pid=3 http://www.undeadly.org/cgi?action=article&sid=2005082419031...
- mhd 4y agoDo you remember what distro used to do this?
- rascul 4y agoAll 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 https://xfree86.org/4.8.0/Install4.html#6
- mhd 4y agoAh, you meant as a directory. Sure, I remember that, I just thought you meant as a partition.
- brynet 4y agoOpenBSD'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 https://man.openbsd.org/hier
- csdvrx 4y ago> 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 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
- chasil 4y agoI 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.
- csdvrx 4y ago> 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.
- deleted 4y ago[deleted]
- protomyth 4y agoYou 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
- matrix12 4y agoWait til you have to fsck a 3TB drive on UFS.
- mrweasel 4y agoI 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.
- sylware 4y agoCan openbsd compile with a minimal C89 (maybe a bit of c99) compiler, or does it require gcc or clang?
- mhd 4y agoIf 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.
- brynet 4y agoThe 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 https://undeadly.org/cgi?action=article;sid=20091228231142
- sylware 4y agoso mostly clang then gcc. Totally unable to compile without such grotesquely and absurdely massive c++ coded compilers like linux. sad.
- anxiously 4y agoVery 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.
- thehoomanist 4y ago
- BLKNSLVR 4y agoThis is my long term safe place desktop if Ubuntu slides further down the slippery slope of advertising.
- gtirloni 4y agoUbuntu and OpenBSD are at completely opposite in the user friendly spectrum. You're a better off moving to Debian.
- hd99 4y agoubuntu 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 ;)
- BLKNSLVR 4y agoUbuntu 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.
- somat 4y agoTrue, but openbsd is far easier to understand than ubuntu. user friendly is not the same thing as simple.
- aliqot 4y ago> user friendly is not the same thing as simple Testify!
- INTPenis 4y agoThe word minimal often means minimalistic in appearance and resource use, what I want is minimal work. That's why I run default gnome.
- athorax 4y agoThat's why I run xfce4, best of both worlds!
- ogogmad 4y agoDefault 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.)
- dysoco 4y agoI 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.
- nvrspyx 4y agoI 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.
- nvrspyx 4y agoI 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.
- mustache_kimono 4y agoMinimalist 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.
- danielnechtan 4y agoOpenBSD base has almost everything else I need.
- mustache_kimono 4y agoIf 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/ https://www.infoq.com/presentations/Simple-Made-Easy/
- anthk 4y ago> 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.
- CoolCold 4y agoNot 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.
- anxiously 4y agoI 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.
- CoolCold 4y agoOne'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.
- anthk 4y ago>cast Just use HDMI. > Music VLC has Chromecast support, and maybe Airplay. > Slack Bitlbee has plugins for everything. Just plug your fav IRC client.
- znpy 4y ago
- numlock86 4y agoIf your minimalist desktop is just terminal space, why bother with X?
- anthk 4y ago- Unicode. - Spleen/Unifont fonts. - OpenBSD base already has X. - Image and videos with nsxiv/mpv.
- gtirloni 4y agoBetter font support leading to more screen real estate.
- somat 4y agoBecause 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.
- ninjin 4y agoWell, you could always go with dvtm [1] and skip X11. [1]: https://www.brain-dump.org/projects/dvtm https://www.brain-dump.org/projects/dvtm
- MonkeyClub 4y agoOr just Ctrl-Alt-Fn to the nth console (enabled in /etc/ttys). Unless you’re coming in through com0, that is.
- boomboomsubban 4y agoX is already installed on OpenBSD, might as well use it.
- danielnechtan 4y agoVirtual 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.
- ed_blackburn 4y agoThe 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.
- protoc 4y agoAm i missing something or is the guy's desktop just some terminals?
- boomboomsubban 4y agoThere also seems to be some kind of bar at the bottom with the time, though they also have the time showing in their terminal.
- hd99 4y agojust 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
- jmclnx 4y ago> 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.
- danielnechtan 4y agoGood 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
- danielnechtan 4y agoI 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'.