System76’s Pop!_OS Linux distribution already has their own “COSMIC” desktop that is based on GNOME, but moving ahead they are working on their own Rust-written desktop that is not based on GNOME or any existing desktop environment.
Stemming from a Reddit discussion over the possibility of seeing a KDE flavor of Pop!_OS, it was brought up by one of their own engineers they are working on their “own desktop”.
With GNOME curling up on itself more and more, this was inevitable. I’m curious to see what System76’s developer come up with, because interacting with some of them on Twitter has taught me they’re good people with good ideas. Since I’m not a developer I’m not going to make any comments on their use of Rust – I’ll leave that to our readers – but I like that it’s indented to be distribution-independent.
I don’t have any real experience writing system language programs, but I’m really rooting for Rust. Kind of wish I had more time to learn it, to really get a feel for that borrowing stuff.
Personally I like a fairly limited selection of good options within a set of established standards which work together and enough spit and polish so they are not brittle and fall apart at the first tap. I also dislike intransigent management and NIH and inflexibility to the point where yet another project is spawned. With that out of the way…
Distribution independent is good. Secure and performant software is good. If there’s one thing I learned from a quick look at Zorin OS and other desktop theming projects is “look and feel” of Linux desktops can be very good now. If there is a weakness there’s no solid way of bundling up themes so a user can carry them wherever they go whether it be a new install or creating a look they are happy with at an employers office or home. Most desktops are sufficiently flexible enough and share enough similar concepts you can get them effectively looking the same. So far there is no cross-desktop theming system or aything like “roaming”which would auto-install a desktop and theming and key applications from log-in on one system to log-in on another.
No real comment on implementation or fragmentation. I’m just taking an end users viewpoint.
I had a moment where I got into a tiz over theming but the moment passed. I can live with Linux Mint defaults at least until I have had a few months to settle in with it. I’m still testing a few things otherwise ready to shift 100% to Linux and leave Windows behind.
KDE Plasma has the potential to have a theme bundle where you could do that… problem usually is that it seems like there are different chunks to it and all it needs is some sort of ‘export current qt theme, icon theme, configurations to .themebundle’ function. Snapshot of your configuration to port to another system would be great.
I am a gnome person myself though, and as long as it stays out of my way, which gnome seems to do nicely, I done see a need for another desktop. I do like playing with others though.
If the distro would copy the theme and settings into the user’s profile when the account is created, the settings would be portable, but yes, it is a problem. I’ve wondered why Gnome doesn’t have a profile export option.
Right now, user customizations are saved in the profile and are portable.
Linux seems to be effectively single user at the desktop level. Command line multi user works great but when you create a new desktop user they seem to inherit nothing. I solved this with a cloning script. Someone should write an official one. Or maybe I just couldn’t find it.
lapx432,
I’m not sure about with wayland, but with X11 multiuser desktops work over SSH tunnels (the -X flag on ssh sets this up for you). This is how we remotely logged into the university computers back in the day. It did require special X software to connect from windows at home, but from linux it is trivial.
I don’t think this is the kind of multiuser support you meant though. It sounds like your talking about synchronizing shared desktop settings/themes across computers. When we used Sun Workstations, it did not matter which terminal we logged in from, all of our settings & files would be there. This is because they used NFS such that our profile was available no matter where we logged in. I don’t know if this is worth doing for a home user, but it is an effective way to keep profiles synchronized across many desktops.
I’m not sure what to do about synchronizing a distro’s native package manager. Snaps and Flatpaks may be easier to synchronize by installing in NFS directories.
One idea is to export selections from one machine and import them into another, but there may be caveats like requiring the same OS versions on all machines.
If you know of a tool that synchronizes application installs across hosts, I’d be curious to see it!
Alfman
No .. much simpler. This is a shared kitchen computer. Every family member has a log on. I was replacing a Mac Mini with a RPi4 housed in an Amiga 1200 case including SSD, keyboard USB interface etc..
First I discovered that Raspberry Pi OS is not multi user. You can add a desktop user but that user is not configured like the original single user and the log on screen in pathetic. Then I tried Mandaro and Ubuntu. Similar experience, The new user was unreliable and or not configured.. So I switched to to Twister OS (because of the huge amount of preinstalled software) and made it multi user via a combination of a user cloning script and a custom config of the lightdm-gtk greeter to give an artsy OSX log in experience. I ended up customizing the original Xfce desktop vs using the pre built themes. Multi user broke those. . I used Borg for back-up. I call it Twisted OS and am very happy with it, But a lot of work and half afraid to upgrade in case it breaks. The apps are a mix of installed / configured at a user level vs global. Fixing that is a future project. In any case, the theory is I can upgrade the Pi every few years instead of buying whole new computer.
lapx432,
I haven’t tried that specific combination and I’m not sure if I understand quite what you mean. Do you mean that the new accounts are using the fresh defaults?
I suppose it may be annoying that none of the user customizations carry over to other profiles (I use custom docks, keyboard shortcuts but, etc), but that’s kind of what I expect. Isn’t this the same with windows? I guess I’d like to better understand your specific wish list.
It may be possible to use symlinks to share the same customization settings between user accounts, would that address your needs? I haven’t tried it but it may work. The master account would set the settings and all other accounts would use them (and presumably only have read access).
You can also create a default profile for all new users…
https://askubuntu.com/questions/186487/how-to-ensure-that-all-new-users-have-the-same-profile-settings-as-the-current-u
But settings can start to deviate after account creation.
Do you think settings should be more hierarchical with system-wide defaults and per account overrides? AFAIK none of the linux desktops support this currently. It would require changes to the configurators.
I always find this tricky as well regardless of OS. I really prefer for applications to be installed globally, but this only works if the users have admin access. For security reasons it can be better to keep them isolated and put up with the cons of installing applications per user.
In any case, I usually mount /home to it’s own separate volume that sticks around no matter how many operating systems I load up. This usually works OK even when I reinstall the OS.
Alfman,
Lot’s of good ideas here. Basically what I was trying to achieve was a default retro OS X like user profile that would be generated every time you create a new user. And when the user changes their desktop or even app icons those stick and remain local. The etc/skel http://www.linfo.org/etc_skel.html is a great lead.
On the application side I want every app to be available to every user, regardless of who installs it. It’s OK if non admins need an admin password when they do an install. The Twister OS is a mess for this because of using package managers like Pi Apps that only install locally.
I think I will park the project for now as it is working. Later, probably when Pi OS goes 64 bit as the default install, I will redo the project systematically, including using a different volume for the OS vs home/ . I used to do that years ago but stopped. Now I see the merit of being able to wipe the OS at will and maintain user continuity. I would love to put “apps” there as well but figuring out how to separate system from apps is not that obvious … https://granneman.com/tech/linux/thelinuxenvironment/topleveldirectories .
The idea is to create a tinker proof system . What I have now is a spagetti house of cards.
lapx432,
This is a bit tangential, but fixed partitions are kind of annoying and it wouldn’t surprise me if that’s why you stopped, changing partition sizes later is impractical. But we have a solution, logical volume management makes it easy to resize volumes without too much fuss. Admittedly there should be a more user friendly way of doing this, but it’s not hard to script: one command will resize the volume and another will resize the file system.
Thin volumes are another option that I’ve gotten working, but I can’t recommend because LVM2 implements them too poorly IMHO. It’s unfortunate because thin volumes are very effective for point in time snapshots.
I really dislike the unix/linux hierarchy due to this spaghetti syndrome and having things spewed everywhere. I tried fixing it in my own distro but the maintenance burden of converting 3rd party software was too great for me so I gave up.
I did find gobo linux, which does a good job organizing the FS mess, they used a couple of tricks to make maintenance easier for them.
https://gobolinux.org/
Unfortunately it’s doesn’t have broad support like other distros. I’d love for us to replace the chaotic linux FS hierarchy, I don’t expect we ever will though.
Lately I’ve grown wary of the attempts to advance the Linux desktop/workstation experience at the expense of security, performance, and stability, so I’m cautiously optimistic about System76’s attempt with Rust. The last thing the *nix community needs is yet another desktop environment, but GNOME has started a downward trajectory after finally getting good a few releases ago and in my opinion is no longer a viable choice. I’ve tried version 40 on several Linux distros as well as OpenBSD, across a range of hardware, and it’s simply anti-user at this point. KDE Plasma, on the other hand, has vastly improved and combined with a sensible distro like Void or Slackware, it makes for a complete and stable DE that doesn’t bind the user’s hands. I would never have said that five years ago, but here we are. I’m hoping Plasma gets fully ported to OpenBSD soon.
Gnome and its defaults are fine. KDE when it works, is great. Lxqt is also good. Same for Sway. I can use and be productive in any of them. Heck even Mac OS DE is “ok”. For me personally, it would be difficult to green light a different Desktop environment. I’m not deciding to buy or not buy a system 76 machine based on the Desktop environment it comes with. So I’m more concerned with the financial drain on System76 than anything else.
Uhm also, Gnome is largely funded by Redhat, now owned by IBM which has started making cutbacks at Redhat. So there’s that too. Its great that its open source, but its current funders aren’t going to expend any extra expense to increase compatibility with anyones plug ins.
It’s always been on the extension maintainers to make sure their extensions work with the current Gnome version. Extensions hosted on Gnome’s GitLab instance will get included with regular CI/CD runs, if I’m remembering correctly, but it’s still up to the maintainer to fix any problems which pop up.
System76’s problems with Gnome are self created. They didn’t didn’t submit any code to add functionality they needed, and as such, the functionality got left out until someone can work on it.
Agreed. Standing up and maintaining a complete DE is A Lot Of Work (TM), and it seems that most people who start into one radically underestimate how much work it involves.
And even when a DE succeeds, it takes a long time to reach maturity. Something like three to five years. Unity, for instance, started off as the “Netbook” interface in Ubuntu 10.04, became the default DE — too early — in 12.04, but wasn’t ready for prime time until 14.04. Cinnamon also took about three years to go from “complete but glitchy” to “reasonable choice of daily driver.”
So IDK. The strategy of creating a general purpose DE in order to more effectively brand your distribution, well, I suppose it “works” for Mint and Elementary in the sense that both distributions exist. But it’s hard to see how this same strategy commands an investment from System 76 unless it’s really a way of building workflow around a suite of tightly-integrated development tools. (Which, given their hardware business, might very well be the target they’re trying to hit.)
Funnily, Elementary is Gnome based, and actually did the work to make sure their stuff continued to work with Gnome 40. The Elementary team has created a really nice environment, by the way, and they seem to know what they are doing.
The biggest takeaway is the Mint and Elementary teams have some expertise in GUI development and project management.
The big problem is weak standards and fragmentation. Most Linux distributions are based on Debian or Arch so there’s a root standard of sorts. Desktop environments are somewhat fragmented but based on the toolkits used by Gnome of KDE mostly so again not too bad. Problems happen where some applicatios depend on a particular desktop. The area which causes the most work and pain is the total mess sitting underneath the desktop as compared to a mostly server orientated use case. Before anyone starts shouting this is pretty much what desktop developers say as well as Linus Torvalds.
Myself I feel it needs someone to look into those issues and sort out common standards which can accomodate flexibility and develop a plan to refactor the mess. That is going to be a massive pain point for everything hanging off it but the idea is sound. With a roadmap in place and cooperation it’s feasible to sort this out.
I get the sense there’s been good progress with discussion on desktop enviroments and software distribution from a generic normal person usability point of view.
I used to think Linus from Linus Tech Tips was a bit of jerk but his channel has matured and when I watch it he seems thoughful and alert to usability and monopoly privacy issues. His channel is authortative for a lot of ordinary users and has just started an experiment with running Linux as a personal desktop for the next month which will be interesting.
Yeah. It might be fun to build a DE for the experience, but unless the business is swimming in cash, there are probably better things to spend money on. Like laptops which aren’t based on Clevo designs or mini desktops which aren’t NUCs with a logo lasered into the top.
Anyway, best of luck to them. Maybe Rust will get a widget toolkit out of this.
If I were them, I would concentrate on the hardware side and not worry too much of the DE, they can just use stock Ubuntu and collaborate with Canonical or Redhat for integration. For Redhat, the target market is workstations. For ubuntu, for the mass desktop market.
There is NO money on another desktop Linux.
I’m a little torn on this. On the one hand, good luck to them, new idea are always worth a try! On the other, Ubuntu (on which Pop is based) tried to make their own DE, and were successful with a decent market share, and even they (with b/millions in backing) had to drop it.
System76 make a decent OS (in a crowded field), and are selling hardware (another difficult niche in a crowded market) and now are trying to break into the (fairly crowded) DE market? The only way it could viably survive is heavy sponsorship from outside of System76. But im not sure who that would be and worry this could be System76 overstretching themselves
I’m rather surprised, given how mature Gnome and KDE are, that so many efforts spring up to write new desktops. I use KDE daily, and with a few tweaks, it can be as lightweight and performant as XFCE. With Manjaro on an old laptop, I only install plasma-nm, I disable Baloo search indexing, and then make sure everything’s using the same version of Qt. It works.
I would think that rewriting components of this stack in Rust would be a good way to bring safe programming to the Linux Desktop.
If it was “indented to be distribution-independent” it would be written in Python.
I’ll get my coat…
Maybe the config is all done in YAML?
My biggest concern with all these desktop environments is that (some) DE are also application frameworks and it could make difficult to install an awesome application from one DE (like Krita) in another DE.
I`ve installed and used Krita on Gnome and some other DE without problems.
That’s the reason Linux desktop will never take off. But thanks to Steam Deck, usage of Linux will increase, but for desktop? It failed due to this NIH syndrome.
You can’t develop a unifying desktop interface, for people will favor over another due to various reasons.
Linux users if there are 3% of the entire desktop market, yet was thinly scattered over various desktop environments. Developers who may target desktop Linux will be discouraged, unless if they knew that they need only to target the big three: Debian/Ubuntu, Redhat and Suse. I advice developers who are developing applications for Linux desktop to just target the three platforms, and just ignore the rest as noise.
Is Suse popular at todays Desktop? I don`t think so. Well at least I know no one who use it. At sergver – yes. On desktop – I feell that Ubuntu, Fedora and Arch-based took it all.
And here is the problem with open-source (in the consumer sector where you can’t sell support):
– If this new DE isn’t any good, then System 76 will have wasted a ton of resources for no benefit to their product while at the same time trying to compete in the price-competitive OEM market. That’s what happens with failed R&D projects, so no surprise here.
– If this new DE is any good, then some company like Samsung or LG will take it, say the corporate equivalent of “thanks dude”, and then use it on their own laptops at no cost, while System 76 would have taken the cost to develop the thing and passed it to their customers.
At this point, I only have hopes for an open-source OS only if there is some proprietary value-add offered on top (like GMS for Android).
First point have nothing to do with open-source, with open source it just in the air that new project have failed. With closed source you might not even know that project existed, developers waste time and money and then it have been scrapped.
First point was to show that the failure mode is the same for both proprietary and open-source software. The success mode isn’t.
The smart thing for a large company like Samsung or LG to do if they really like an open source project is to help fund it with developers and resources. Otherwise the project may change in ways that make their usecase more difficult. Or they effectively have to take over a fork of the project.
But in the case of someone huge like Amazon, they can easily fork a complicated Operating system and go with it, as they did with Android. Amazon eats open source projects for breakfast.
It should be pointed out that I’m a notorious pessimist when it comes to new things. I was also against Mozilla developing rust, and well now I’m really glad they did. That was an amazing achievement I didn’t think they were capable of.
Most Linux people are completely ignorant how the consumer market works. This is not a case of companies like IBM and RedHat working together to improve the same code-base because they each have their respective businesses and loyal customers.
In the consumer space, companies work in two modes: “Differentiated product” mode (Apple and Samsung work that way for example) or “race to the bottom mode” where all competing companies essentially package the same chips and OS and try to make money by out-cost-cutting each other (HP, Dell and Lenovo work that way when making PCs).
Thing is, there is no room for open-source collaboration in either mode. It’s the reason MeeGo went nowhere (Nokia realised their proprietary layer was too thin while Samsung was standing in the sidelines waiting to benefit from MeeGo), and it’s the reason Symbian fractured in different “experiences” (for example, Nokia held the S60 and S80 experiences while Sony Ericsson held the UIQ experience). There is a good write up on The Register on what happens when consumer electronics companies try to co-operate (as was the case for Symbian) so I won’t repeat it here:
https://www.theregister.com/2010/11/29/symbian_history_part_two_ui_wars/?page=2
It’s also why consumer electronics companies don’t contribute back unless they really, really have to and instead only take open-source code to integrate or customise in their own products.
GNOME 3 in its current state does not satisfy the basics needs regarding GNU/Linux on desktop. As the situation has been like this for years and likely won’t change for years to come. Different parties are struggling and are trying to find their own solutions to overcome this problem. Personally i don’t feel it’s doable in foreseeable future. That is to develop a whole DE from grounds up and to be considered of such quality that it can be accepted as the future of GNU/Linux on desktop. In my opinion there is only one realistic option. To move beyond this mess we are currently in and that is giving KDE a honest shot. KDE should become the default GNU/Linux on desktop DE for the most popular distributions. The rest should be considered as being a customization.
I’m happy to see another project use Rust and it will be interesting to see how the DE compares to the others.