Troubleshooting a thorny openSUSE problem

Every computer user has an excellent opportunity to become a professional in the field. Computers have so many problems, you can find yourself becoming an expert technician simply by finding solutions to the multitude of issues plaguing you on any given day.

Once you regularly figure out these issues, friends and family start asking you for help. Eventually, with some luck, you solve computer problems day in, day out as a support technician, system administrator, or software developer.

There’s a long story explaining how I got from office receptionist to technical writer, but I’ll spare you that for now. Here at Notes from the Metaverse, I’ve spent a lot of time lately trying to solve the much bigger problem of how to make the internet a safer and more democratic space. Today, I want to share how I solved a much smaller problem: What went wrong with KDE Plasma on my openSUSE Tumbleweed virtual machine. This isn’t exactly a common problem, but it certainly perplexed me for weeks. If it happens to you, I can save you much time and anguish.

Fixing Tumbleweed in a VirtualBox

openSUSE logo
Geeko, the openSUSE chameleon logo

I run openSUSE Tumbleweed in a VirtualBox virtual machine as a testing system. Tumbleweed is a “rolling release” version of openSUSE Linux. The system updates several times a week with the latest software updates that pass smoke tests in the distribution. A smoke test installs the software package; if it doesn’t blow up the system, it’s included.

Users get the advantage of running the newest version of a package with a small sacrifice of some stability. Many people love this tradeoff, in part because they get a brand new system every few days! Putting the rolling release in a virtual machine gives me the added security that if something goes wrong, I can isolate it without risking something else on the physical machine.

At the new year, I thought I’d start fresh with a new base system. I deleted the existing Tumbleweed VM and installed a fresh version from the latest update. Two weeks later, I updated the system and rebooted the VM as requested.

I logged in, but my KDE Plasma desktop environment wouldn’t come up. I got a black screen that never went away. I shut down the VM with a VirtualBox command (File > Close > Issue the Shutdown command).

Hmm, maybe there’s a memory issue somewhere. The reboot completed normally. I tried loading one of the more lightweight desktops, LXQt, and it displayed just fine. I didn’t have time to work on this problem, so I left it to the next session.

Here’s the dumbest troubleshooting idea I had. Good thing I tried it first. Somehow I thought because KDE Plasma and LXQt came from the same code framework (the Qt environment), perhaps uninstalling LXQt would free up whatever was holding Plasma back. That didn’t work. I should not have been surprised.

Fortunately, Tumbleweed offers a multitude of desktop environments, and I could regularly get work done on these other desktops without addressing the underlying issue. Variety is my favorite thing about Linux.

That availability of desktop environments led to my next theory: Is Plasma the only DE having a problem? How did any other problem manifest itself? I logged in with nine different DEs: three Plasma flavors, three GNOME flavors, Openbox, SLE Classic and XFCE.

Whether one loaded Plasma in its default configuration for the X.org windowing system or under the Wayland protocol intended to replace X (plain or “full”), I never got out of the black screen.

Interestingly, GNOME loaded normally in all its forms (plain ordinary GNOME, on Xorg and Classic) and restarted normally too. So it definitely wasn’t a memory issue, as GNOME is the other “heavyweight” in this field. Both lightweight entries (Openbox and XFCE) had no trouble either. The exception was SLE Classic, the default desktop of SUSE Linux Enterprise. Yeah, that’s KDE too.

I also tested the Plasma flavors using different VirtualBox Graphics Controllers, hoping that changing this vBox setting would resolve the issue. Nope.

Progress! Errors to track down!

I continued updating Tumbleweed regularly. I hoped that installing the brand new Plasma 5.21 desktop would solve the problem, but those hopes were dashed.

At the end of February, I noticed a bunch of error messages were appearing in the update log, claiming that many Plasma-related systemd services (plasma-*.service) were “missing from /usr/lib/systemd/system.” Aha! Something I could check on! Plasma broke because these services weren’t loading!

Perhaps those services were missing because that directory had either disappeared or the services were going to some other directory. Off to the File Manager, where nothing seemed out of the ordinary in /usr/lib/systemd/system. A search for plasma-*.service didn’t turn up those files anywhere else.

While I was waiting for that search to complete, I had one more hope of quickly resolving the issue: reverting my system back to a working state. Because openSUSE uses the btrfs filesystem, you can go back in time to where Plasma was working normally. Off I went to YaST > Filesystem Snapshots (aka Snapper). I should have thought of that sooner, because there wasn’t a snapshot available except the initial install. I wasn’t ready to start over just yet.

Oh, but wait! Maybe I can uninstall/reinstall Plasma from YaST! When trying to uninstall the Plasma pattern in YaST, I noticed that it installed many more patterns that I wasn’t expecting to see.

Among them was the MicroOS pattern, another new spin on openSUSE. I tried uninstalling that and whatever other pattern that I didn’t think I wanted. Surely that was the problem, right? After upgrading 5372 packages while removing those patterns, no fixes for displaying Plasma.

Finally, a solution!

This week, I was going to try a complete reinstall again. I downloaded the latest snapshot, blew away the old setup, and created a new system one more time.

Went through the process, took screenshots of every page to include in the Tumbleweed documentation (did I mention that was one reason I keep this VM around? That’s another story.). Tried to save myself some time by importing my user account from the previous installation. Waited for the install to complete.

Same old problem. No error messages about systemd services. No interference from another desktop’s files. Back to the beginning.

Hmm. It’s a longshot, I’m thinking, but could there be a problem with the user account? Back to YaST. Yes, I know I can easily create a user from the command line, but I’m lazy. Off to YaST > User and Group Management. Click Add, add a name, username and password. Click OK. Reboot. Change the desktop environment to Plasma on the Login page and choose the new User. Type the password and click Login.

A minute later, the Plasma desktop loads as it should and always did. Hmm, wonder what was wrong with the old user? Clearly something. I write myself a note for the next login: “Will delete OldUser, possibly after checking for any useful files.”

The next day, I log in as the new user and check the Home directory of the old/bad user — and there’s the answer!

VirtualBox allows you to share directories between the Host OS and the Guest OS. I like to make sure I can access documents from any environment I’m in, so I share the Documents directory from the Windows 10 host to the Home directory of all my VMs.

When the Tumbleweed installer imported the user account from the previous installation, it tried to include all the files in Windows! But something went wrong in the sharing mechanism, and everything just hung. Not sure yet what Plasma did differently from the other desktops, but I’m going to look into that.

So after all this effort, I think I found a bug somewhere. Candidates include:

  • The Tumbleweed installer/user importer
  • Plasma’s file manager in VirtualBox
  • VirtualBox’s Shared Folders mechanism

Will report further if I find out more. But I’m sleeping better now that I’ve solved this nagging problem. Now maybe I can decide once and for all if Tumbleweed is indeed my favorite openSUSE flavor!

Tech of, by, and for the people

On February 18, 2021, the movement toward a decentralized web took another step forward. The people behind the Decentralized Web Summits and DWebCamp 2019 launched a new website for organizing and information: GetDWeb.net.

About 100 people joined a Zoom call to learn more about the site, and talk about the future of the project, focused on the principles of this movement.

Some things I learned

Here’s a quick summary of what I learned at the launch:

  • The design and building process for GetDWeb.net took about 13 months.
  • You can access the site using two decentralized protocols besides good ol’ https. Open the Brave browser to see the site on the Interplanetary File System (ipns). Use Beaker Browser to see it on Hyperdrive.
  • The project runs Meetup groups in nine cities: Five in the US, three in Europe, and in Shanghai. The site offers tips on starting a new one where you live.
  • Want to learn more about the project? The resources page contains links to a variety of articles and videos to help you. The FAQ page (once you get past the Meetup section) answers common questions.

What I didn’t learn

Now you might come to a site called “Get DWeb” expecting to find “how to get on the decentralized web.” That is, you’d find tools to access an existing decentralized web.

The FAQ suggests this disappointing reality:

Some apps and programs, built on the decentralized model, are already available and you can sign up and use them at will. But the Decentralized Web, as an ecosystem, might not be fully functional and integrated for another five or ten years.”

GetDWeb FAQ, “OK, sign me up. How and when can I get on to the Decentralized Web?”

Is this the “only” Decentralized Web?

The thing about decentralization is that by its very nature, there’s no central control. I might set up a decentralized network of websites that might not make a bit of sense to you. You then have the option to create a different network that makes sense. Of course, then you have to justify your sensible network to get other people to join.

Last fall, a group called Rebellious Data released a report called “The Decentralized Web of Hate.” It outlined the use of decentralized peer-to-peer (P2P) tech by white nationalists and other extremist groups on the political right. The report gained a whole lot of readers after the January 6, 2021 insurrection at the US Capitol.

The folks behind this effort toward a decentralized web might describe themselves as a polar opposite to the groups described in the Rebellious Data report. Because San Francisco’s Internet Archive is its initial sponsor, I’m tempted to call this project “The Decentralized Web of Love,” but that’s just because I’m old.

This project worked out a set of principles that should make sense to more than a few people. They released the first draft on the website after being hashed out by “members of the DWeb Community — those involved with and convened by the Internet Archive’s work on the decentralized web.”

One problem with the principles

Now I happen to think that this is an excellent set of ideas to undergird this project. I just have trouble with one thing: It is abundantly clear that the folks who drafted these principles are highly educated people who have spent a really long time thinking about and building the Web and other useful technologies. That’s fantastic, of course, but if you’re not part of that group of people, you might have some trouble understanding where you fit in.

Now I have some experience translating Geek-to-English, so I tried to apply some of that experience to these draft principles, and put them in the table below. I hope they are a little easier to understand.

On the left side is the original text, copied from the Principles page at https://getdweb.net/principles. My text is on the right, labeled Revision.

Disclaimer: I never spent a minute with the Stewards or Contributors listed at the bottom of the page. I have no idea what discussions went on to carefully parse any disagreements among the drafters. Generally, I have tried to maintain all the ideas in the draft, but if I left anything out or misconstrued something, that’s totally on me.

Where I have a Note, that’s usually just my speculation aiming to improve understanding of my readers (you). But the Principles committee is certainly welcome to adopt some or all of these suggestions for improved readability.

PrincipleRevision
Technology for Human Agency
We stand for technology that enables the primacy of people as beneficiaries of the technology, by upholding their security, privacy and self-determination.People come first — Their security, privacy and the ability to decide for themselves.
We urge coexistence and interoperability, and discourage walled gardens.If you decide to switch platforms, for whatever reason, you should be able to move every character, every image, every piece of data with minimal interference.
We value open source code as a fundamental building block of an open and inclusive Web.You can view the source code of every page on the World Wide Web in a browser. This should continue. The door is open to the use of proprietary algorithms, but they should not be the norm.
We aim for peer-to-peer relationships, rather than hierarchical control and power imbalance.People use the Web to collaborate and share information. Companies that build websites should not have control over the Web.
(Note: BTW, if we’re not crazy about hierarchies, why are the principles in a numbered order? I’d favor bullet lists.)
Our technologies must minimize surveillance and manipulation of people’s behavior, and optimize for social benefits and empower individuals to determine how and why their data is used.Websites should focus on social benefits and empowering its users. People should have control over their data. Companies should not profit from user surveillance and manipulation.
We believe that multiple technical means will be more effective than a single technical solution to achieve ethical and people-centric outcomes.Our decentralized Web will not pick a single technology to achieve its goals. We will focus on ethical and people-centered outcomes.
(Note: This may be a swipe against those who believe that no decentralized web can happen without running on a blockchain.)
Distributed Benefits
We believe that decentralized technologies will be most beneficial to society when the rewards and recognition of their success, monetary or otherwise, are distributed among those who contributed to that success.Our decentralized web aims to reward and recognize the people who contribute to its success. That’s how society will benefit the most.
If that is infeasible, proportionate benefit should flow to the community at large.If we can’t effectively reward only contributors, or if everyone is a contributor, we aim to reward the community as a whole.
High concentration of organizational control is antithetical to the decentralized web.Our decentralized web will not recreate today’s web. Control resides with people, not companies, oligarchies, or similar organizations.
Mutual Respect
We support and encourage codes of conduct to ensure respectful behavior and accountability.Individuals participating on the Web should be kind.
We expect participants to remain mindful of, and take responsibility for, their speech and behavior, by acting out of respect for others and respecting physical and emotional boundaries.With great power comes great responsibility. Respect others, be kind, and do the right thing.
We stand for open and transparent organizational practices, motivations, and governance, in a manner that actively pursues equity, mutual trust, and respect.If you own a site, be open. Your users need to trust you to do the right thing.
Humanity
The objective of building a decentralized web is to protect human rights and empower people, especially those who experience systemic inequity and prejudice.Our decentralized web will protect all human rights. It aims to empower all people, no matter who they are, where they were born, what color their skin is, their economic status — all of it!
We stand for people having agency over their own data and relationships, rights to free expression, privacy, and knowledge, as these are essential to human empowerment and dignity.People come first in our decentralized web. They can define their relationships to others and to the sites they use. Free expression, privacy and the right to information are essential.
We condemn the use of distributed tools for activities antithetical to human rights, such as human trafficking; sexual, mental, or physical abuse; and arms trading.Our decentralized web opposes using decentralization to hide anti-human activities, including but not limited to: human trafficking; sexual, mental, or physical abuse; and arms trading.
We encourage building with harm-reduction in mind, and support the adoption of mechanisms that mitigate the potential for abuse, and consideration of those ‘not at the table’ — not connected, not users, and the disadvantaged.Our decentralized web aims to be free of hate. We will take steps to reduce online abuse of people, whether or not they’re connected.
We encourage the development of tools and applications in many languages and forms, with a high degree of accessibility.To be effective, the World Wide Web must be accessible. Our decentralized web aims to make the web usable and accessible to every human, regardless of their physical (dis)abilities, mental health, or the language they speak, read or hear.
Ecological Awareness
We believe projects should aim to minimize ecological harm and avoid technologies that worsen environmental health.Our decentralized web is conscious of human impact on the climate, heating the climate and making the current crisis worse. We aim to do better, because people (and other living things) come first.
We value systems that work towards reducing energy consumption and device resource requirements, while increasing device lifespan by allowing repair, recycling, and recovery.We will work to reduce technology’s impact on the climate. We recognize that no one should have to buy a new computer, phone, or other device every year to get full access to our decentralized web.
(Note: This may also be a swipe at blockchain-based distributed apps. A recent report indicated that global mining for Bitcoin uses more fossil fuels than the entire country of Argentina!

People should be able to fix, upgrade, recycle and swap parts to keep their older systems going, especially in underdeveloped parts of the world.
(Note: This is likely a swipe at Apple and other device manufacturers that plan obsolescence into their product pipelines.)

An important step for the DWeb

This website is a great way to gather new forces for the enormous tasks ahead for the decentralized web project. While kibitzing on the side of this group since discovering the first Decentralized Web Summit in 2016, I’d like to get more involved now. I hope you might too. You’ll learn a lot from the people involved, and this is an important evolution of the Web, and people’s ability to inform themselves and collaborate with others.

Brave Browser adds IPFS support: Do you care?

Diagram of a decentralized web developed by Paul Baran in 1964

Have you ever tried the Brave web browser? Since its founding in 2015, Brave Software has quite a record of innovation with its browser, but hasn’t made much of a dent in the browser usage competition.

A long suspension footbridge across a river in a forest.
Photo by Sven Huls on Pexels.com

Over the years, Brave has implemented:

  • A built-in ad blocker that’s On by default
  • Allowing Brave users to contribute (in cryptocurrency) to registered web publishers
  • Allowing users to browse via the anonymous Tor network

Just last week, Brave added support for the InterPlanetary File System (IPFS), a pathway to the distributed web. Jon Porter’s story on The Verge has the details. IPFS seeks to replace the Hypertext Transfer Protocol (HTTP) as the way to access sites on the web. Instead of pointing to an address on a single web server, you point your browser to an IPFS node address. The content would exist on other IPFS users’ computers.

Costs of Innovation

You would think with its focus on privacy, Brave would be more popular than its claimed 24 million users. Implementation issues have plagued the browser, though.

  • To placate sites (and advertisers) whose ads were blocked, Brave offered a scheme where users could agree to view “Brave Ads” sold by Brave Software. Users get crypto tokens as a Reward.
  • The revenue from “Brave Ads” would fund the publisher payment program. Is it an accident that the Rewards support board averages 84 posts per week? Many of those posts are variations on the theme of “Where’s my money?”

Brendan Eich and Conservative Politics

Some of us will not forget that Brave’s CEO, Brendan Eich, was forced out of the CEO’s chair at the Mozilla Corporation in 2014. He contributed to an anti-gay-marriage campaign in California two years earlier.

Eich, who created the JavaScript programming language while at Netscape, has long associated with conservative and libertarian causes. In the 1992 presidential campaign, he contributed to Pat Buchanan’s rightist primary challenge to George H. W. Bush, and also helped fund Ron Paul’s campaigns.

More recently, he apparently joined in the disinformation campaign around COVID-19. He doesn’t like masks.

A decentralized alternative: Beaker

What all the news stories on Brave’s IPFS support miss is that there’s another peer-to-peer protocol that does very similar things. It’s called Hyperdrive (originally DAT), and is supported by the Beaker Browser, which I’ve written about before (here too).

The Beaker developers explain Hyperdrives like this in their documentation.

“Hyperdrives” are like websites. They store webpages, pictures, media, user data, and so on. Hyperdrives power a lot of Beaker’s best features.

“Hyperdrives” are folders you host from your computer. They contain web pages which you can browse and edit. You can create and share hyperdrives using Beaker.

Beaker Browser Documentation

Works in Progress

I’ve played with IPFS a little, and suspect I might give it another whirl soon. Same with Hyperdrive and Beaker, which I’m a little more excited about. Go follow Paul Frazee on Twitter (@pfrazee) or YouTube (Paul Frazee) to see what’s he’s innovating on the peer-to-peer front.

The big problem with IPFS isn’t the technology per se, it’s that ordinary folks can’t access files stored on the system, even if the (Brave) browser supports it. There’s no effective search engine, or directory of the IPFS world.

Beaker/Hyperdrive/DAT has an index page to the sites they know about, but of course you have to open those sites with Beaker, the only browser to handle dat: or hyper: pages.

Looking forward to the next round of innovation for all these projects. May the best project win!

(Yes, the post is late this week. I’m the victim of two traditional Wisconsin catastrophes: The Packers lost on Sunday, and a nasty snowstorm hit last night. Aiming to do better in February…)

Related posts

Inrupt, the NYTimes and agenda-setting

In the 30-something years since Sir Tim Berners-Lee invented the World Wide Web, waves of change have swept through the mass media. In the last week, I’ve discovered one thing that hasn’t: The New York Times still sets the agenda for what the world knows about at any given moment.

Perhaps you’re thinking about Donald Trump, the electoral college and the riot/insurrection or whatever else you want to call what happened in Washington, DC on January 6, 2021. That story would likely dominate the front page in any country with a free press. Where the Times really makes its mark is in the less spotlighted areas.

Witness last Sunday (January 10, 2021), when the paper ran a story by Steve Lohr on a relatively new project from the very same Tim Berners-Lee (paywall) I mentioned in the lead paragraph. Google News flagged this story for my attention. I didn’t get it read right away. The next day, when I posted here, I noticed that traffic here at Notes had bumped up considerably, and the people were coming to read this story I’d written at Inrupt’s launch two years ago! (Thanks to all of you, BTW.)

If you want to know more about Inrupt, Lohr’s piece is a good place to start, but here’s a rough timeline.

The story spreads

Google News not only showed me the Times story, but had one of those lovely “full coverage” links, indicating that multiple media outlets were covering Sir Tim and his startup. The curious thing is that most of the stories predate the Times piece.

Oh, but within a few days, we also see stories covering Inrupt in places like the India Times, a reprint in the Charlotte Business Journal, TelecomTV, the youth citizen-journalism site Unilad in the UK, EMTV in Papua New Guinea

Two days after the Times runs its story (hmm…coincidence?), Berners-Lee speaks at the Reuters Next conference sponsored by the Thomson Reuters news service and covers many of the same points.

Then comes the commentary

As for me, I’m optimistic but realistic. Reviewing my original thoughts on Berners-Lee and Inrupt, I regret suggesting that Sir Tim was trying to cash in. Inrupt has so far succeeded in building up the Solid Project, at least to the point where The New York Times and Reuters are bringing the message to a broad audience. I’m looking forward to hearing more about Inrupt’s pilot projects at the British National Health Service, Flemish government and the BBC.

The idea behind Solid is important. Using both old and new web standards to share what we want — and only what we want — with giant corporations and governments is something we have a right to expect. I look forward to getting some practice using my Solid pod.

What do you think?

Book Review: Beyond the Valley

Beyond the Valley: How Innovators around the World Are Overcoming Inequality and Creating the Technologies of Tomorrow, by Ramesh Srinivasan (2019, The MIT Press)

Beyond the Valley is an important look at what’s wrong with the internet’s control by Big Tech. UCLA information studies professor Ramesh Srinavasan also offers practical examples of possible remedies.

How it’s all gone wrong

The first part of the book is all about the disasters we’ve uncovered in recent years. Remember these lowlights?

  • When right-wing political consulting firm Cambridge Analytica took data generated from millions of Facebook “personality tests” to develop profiles for micro-targeted advertising. Those profiles then helped Brexit campaigners in the United Kingdom and Donald Trump in the US.
  • Google’s journey away from its original “don’t be evil” motto
  • Amazon’s bullying of vendors, union-busting activities and tax evasion
  • Apple’s attempts to dominate how you listen to music
  • A variety of problems with artificial intelligence

Srinavasan warns that the technology companies will always choose profits over people. The history to date has not been positive.

As robots replace more workers, companies have no interest in how those replaced workers will survive. He suggests that a universal basic income (UBI) such as that proposed by 2020 presidential candidate Andrew Yang may mitigate the problem.

Perhaps you read about Amazon’s Rekognition facial recognition software. The ACLU of Northern California compared a database of criminal mugshots with photos of members of Congress. Srinavasan writes “For Congress as a whole the error rate was 5 percent, but for nonwhite members of Congress the error rate was 39 percent.”

Problems with technology and the internet aren’t limited to North America, of course. Repressive regimes use a variety of techniques and policies to enforce their rule. Srinavasan especially attacks China’s surveillance state and its social credit regime. The latter is the government’s policy of monitoring people’s behavior online and assigns “credit scores” to determine how well you contribute to society. Cross the government too often, or associate with people who do, and suddenly you can’t ride the bus as often.

Srinavasan explains: “A poor credit score that comes from expressing ‘bad’ speech online, smoking cigarettes, or playing too many video games could result in a range of punishments, from losing one’s freedom to travel, to public humiliation.”

Hope for the future?

Beyond the Valley isn’t all gloom and doom. The last part of the book looks to a variety of potential solutions, and alternative visions, to promote democratic control of the internet.

Among the options described:

Those of us who have been watching the movement for a (re)decentralized internet know that some enthusiasm for this idea comes from Libertarian circles, who hope to finance (and profit from) a decentralized web on the blockchain.

Srinavasan and journalist Adam Reese collaborated on a chapter about blockchain. They describe several projects and conclude (like me) that “We have no illusions about blockchain saving the world. All the same, these networks’ decentralized architectures make them potentially valuable tools for building grassroots solutions that support the needs of ordinary users. … we’ll keep our eyes open for emerging voices and continue to listen to those who talk past the hype.”

As with any academic work, Beyond the Valley is extensively documented with books, articles (both journalistic and scholarly), and web links (though I wish he had included more links to the projects and organizations he’s covered). Yet it is easy enough to read for most people.

Srinavasan doesn’t offer any panaceas, but some hopes for the future. . If you have any curiosity about how to solve the problems and inadequacies of the internet, it’s worth reading. I expect to be mining that bibliography for a while.