It's month 5 already, this is coming up to the half way of the year, the planet is in COVID19 lockdown, and this month I've gone where possible all in with redesigning my home setup using OpenSUSE leap. It's been an enlightening journey to say the least.

The Month Started with the re-purposing of a 15" 2015 MBP which will no longer run OSX however runs Linux

OpenSUSE Leap Server on Macbook Pro

This one shocked me a little, I bought my Dell XPS where this started because my Macbook Pro started with kernel panics and wouldn't run stabily post reinstall, downgrade or ram swap out.

I've tried running Linux (usually Ubuntu) on older Macbook pro's and there were usually hoops to run through. Since installing OpenSUSE Leap 15 on the MBP its not crashed once, its running stable proably more so than it did with OSX on it.

I've repurposed the MBP as a "server" as its got an i7 processor and 16Gb ram, and its running several docker containers, a plex server over Wifi with no issues.

The install of the OS was literally boot off a USB, and run the installer as you would do on ANY other PC. Once completed reboot and login. the Wifi, Trackpad with double click and usual suspects for not working all work fine, the Mini DVI port connected ok to a second display and its running faster than with OSX on it..

Multi Monitor DPI fun

As i'm working from home and the 28" Monitor I have died, i spent some cash and bought a HANNspree HL407UPB 40-Inch Full HD HDMI monitor. was less than £300 however while it worked straight away when I connected it to my Dell XPS 13 as expected, the 1080p display needed some tuning to get a display which didn't look like something out of Minecraft.

This took me on a journey understanding xrandr and DPI scaling which in turn lead me to writing a script to check when the Monitor is attached.

Scaling the Monitor

The XRandR command i ended up using to get the new monitor and a 3rd working looks like this.

xrandr --output "DP-1" --pos 1920x0 --auto --scale 2x2 --refresh 59.9 --output "DP-2" --pos 5760x0 --auto --refresh 59.9

I turned this into a script which launches on KDE running on Tumbleweed

#!/bin/sh
while :
do
##check if the Big Monitor is plugged in

hdmi_active=$(xrandr |grep ' connected' |grep -wyy 'DP-1' |awk '{print $1}')
echo $hdmi_active
if [[ ! -z "$hdmi_active" ]]; then
    echo "Big Monitor connected"
    hdmi_resolution=$(xrandr |grep 'DP-1 connected 1920x1080' |awk '{print $3}')
    echo $hdmi_resolution
            if [[ ! -z "$hdmi_resolution" ]]; then
                    echo "wrong resolution, resolving"
                    xrandr --output "DP-1" --pos 1920x0 --auto --scale 2x2 --refresh 59.9 --output "DP-2" --pos 5760x0 --auto --refresh 59.9
                    sleep 5
            else
                    echo "Resolution is ok"
                    sleep 5
            fi

else
    echo "Big monitor is NOT connected"
    sleep 5
fi

done

I added this to KDE Settings -> Startup Applications and after a reboot as soon as I plugin the new monitor, the resolution is set appropriately.

Terrible Fonts

While this fixed my scaling issue and I ended up with some terrible fonts, and i'm suprised this is still a issue on KDE in this day and age, we used to have this back in the day.. As monitors get higher resolutions and more external monitors of larger sizes found this is going to be more of a problem.

Using OpenSUSE Leap for servers

While I'm full in on Tumbleweed as my daily desktop driver, I've been having a lot of fun and games with the home lab redesign and using OpenSUSE LEap as my server of choice.

There have been occasions i've needed to use other OS, i'll discuss this more below, however its mainly because the instructions for OpenSUSE are all over the place and very bitty, some are for older versions and where these exist because of changes they are just not working any more.

Trying to Centralise Updates

This was one of this months big challenges and a really good example of shooting for the stars and hitting the clouds.

The requirement has been to have a central location to point my OpenSUSE and Ubuntu servers at to pull down updates. I don't have a problem with Bandwidth this was more about the challenge of how I do this.

The Journey started with Spacewalk, the OpenSource version of Red Hat satellite. Something i've installed and am familiar enough with to know can be setup to deliver more than just Redhat Update however it turns out that a few years ago the SUSE project forked Spacewalk to produce their own update server.

Uyuni is the SUSE "version" of Red Hat spacewalk and the install is pretty easy, however with a common thread here the instructions at time of writing were amazing to get the software installed and slowly got a little bit what i'd call "assumed knowledge" towards the using end.

What I will say about Uyuni is its it would work perfectly in the enterprise where SUSE Linux is the primary install base. As a platform it supports multiple Linux distros the problem I was having was the simple one of getting those non SUSE Enterprise distros to pull down and work. Remember this is just a personal experience and you may fare better

The next step was to create an OpenSUSE private repo mirror, which is documented however heavily focused on how to do this with a public mirror (as it should be)

This then got me thinking, so I want/need to be pulling down full data sets from the OpenSUSE repos locally?

This then took me down the route of Squid Proxy, this made more sense to me to create a caching proxy and point all the servers to the Squid Proxy and feed off the proxy cache, so one server downloads updates first and the the others use the cached image.

However it turns out Squid isn't the best product for this as Zypper appears to collect updates from multiple locations and not just the repo you point to, thats more of a waypoint for the local files.

I have managed to fudge this to kind of get it to work, however for such an old project Squid is pretty poor at displaying the basics on a web interface. Like contents of the cache using things other than Perl and CGI Scripts.

If anyone reading this knows how to get Squid to act as a Zypper proxy for OpenSUSE please reach out and i'll happily document the process

SUSE, OpenSUSE, Guides, support and instructions.. oh my

If you've managed to get this far, you'll probably think of me as a grumbler, and you're probably right. However one of the biggest issues I'd see with a more widespread adoption of a Distro like OpenSUSE compared to Ubuntu is the Documentation.

The problems fall into several camps

SUSE or OpenSUSE

When googling for information on setting up things like Hawk, Squid, even a Nextcloud setup there are two camps of documents, and if the thing you are looking to setup is in any way shape or form linked so something of an enterprise product the user will end up with help from the SUSE documentation. And while I'm aware tha the enterprise and Leap roducts are reaching parity, they are not there yet and a lot of the SUSE docs out there are so far off the mark its not funny.

Old Versions

There is a lot of documentation from 2010, 2015 etc however things change and following old docs causes no end of issues. This is both within the SUSE world of docs and the wider internet. This gets frustrating when libraries referred to or applications don't exist any more i the core repos.

Assumed Knowledge

Then there's the worst type of Docs, the tech guru who has written his notes up and done so with so much assumed knowledge its pretty much useless. While its nice to be part of a club of one or two, and its easy to look down on people trying to get things done this is hugely frustrating.

Where do I get support?

The final grip is the support, I've been active on the Ubuntu forums and they make a real deal of helping all levels of user. I've logged several tickets, with a lot of information in them, issues, expected outcomes and the like on the OpenSUSE forums, all of which have had 600+ views, but no feedback. I've had better luck on Reddit, and occasionaly on the Telegram or Riot chat engines.

If OpenSUSE wants/needs to move forward i'd suggest the distro is mature, the supporting infrastructure needs a long hard look at. A better community within the OpenSUSE brand needs to be built

I'm not just whining about this, i'll happily get involved and assist, anyone who looks at my tech blog knows I am more than willing to document a process.

Software

Whining and grumbles aside, i've installed some really handy software this month, and thought i'd share that here.

RemotePC Software

I've been using RealVNC Connect as my GUI connectivity for a while as a replacement for TeamViewer. However there is always been a security niggle in the back of my head about using VNC as a protocol.

This month I've moved over to iDrive's RemotePC software.

While not mentioning OpenSUSE out of the gate it does have an RPM installer which works fine on Leap and Tumbleweed which in turn can be accessed using a Web Interface, native Linux App or Android which if you install the Android app on ChromeOS scales properly as well.

The app reminds me a lot of TeamViewer and works fine, it supports 2FA logins and Pin protected connectivity as well.

They are doing a deal if a 90% discount if you can show you've migrated from another product (i'm not affiliated).

RemotePC™ - Remote access to your computers and beyond the screen from anywhere using Augmented Reality
High-performing remote access solution for your PC and Mac. Support multiple remote computers in real-time from anywhere, even from iPhones or iPads.
VNC Connect as a Teamviewer Replacement.
A cloud managed remote desktop server solution which has been around for a very long time just not in this guise.

Cockpit

Using Red Hat Cockpit to centrally manage my Homelab
As I’ve been redesigning how i use my homelab, having a central console I can go to to manage the servers and get viability has become more of a requirement for my homelab setup. I have the key based ssh setup, I have software sat on each server for management of tools, what I was looking for was a…

I wrote a post on Cockpit, and am using it on and From Tumbleweed on my laptop to Manage my OpenSUSE Servers, which has made connecting all the servers to my Samba AD server easy as Cockpit installs whats needed and connects to RealmD at the click of a button.

Just having the basic Dashboard and to be able to see whats going on log wise (will be setting up Loki/Grafan next month) and if any services have died via a Web Interface is nice.

Hawk2

Installing a cluster on OpenSUSE using Hawk2 and iSCSI
Some notes on setting up Hawk2 on OpenSUSE as a multi node cluster backed by FreeNAS ISCSI

Hawk is an amazing SUSE tool for setting up services in clusters, it does this all managed by a nice web interface and is really easy to install (one you know how)

Problems this month

Had a strange one this month, Zypper is great at not just dumping a user out of an update, as a tool it provides suggestions on how to move forward. Post an update I had the problem below.

KDE Settings -> Global Themes and Plasma Style

Having run a "zypper dup" on the laptop and a reboot, Opening Global Themes or Plasma Style in Settings I was shown the following:

Thankfully I had a reply to a reddit shout out from https://www.reddit.com/user/PointiestStick/

OpenSUSE Tumbleweek KDE: Error Loading QML File from openSUSE

The answer was to install kirigami2

sudo zypper in kirigami2-devel

This command brought back 3 solutions, the first was to install kirigami2 from OpenSUSE Unstable Repo, having selected and applied this, the problem was resolved after a reboot.

However later in the month, seems by installing the Unstable Repo, i broke the Tumbleweed zypper dup update. However i learnt quickly how to disable a repo and use the kirigami2 which had been updated in the main repos.

Final Words

If you've reached this far its worth reiterating, i LOVE openSUSE on my Laptop, its one of the best Linux experiences I've had in the 20+ years of using this OS as my daily driver. Things just work, i'm able to use it as a daily driver and the Tumbleweed updates in general don't break too much. As i've said above, a distro is more than just the installer ISO, it's the community around it and either i'm missing something with the community because it feels very fragmented, all over the place. This makes asking for and giving support really hard.

Previous Posts in this series

Using OpenSuse the year begins — Tumbleweed on my Dell XPS-13 (2019)
The Dell XPS 13 Developers edition is a laptop designed for Linux, it’s built from the ground up to support most if not all of the Linux major distributions which makes it straight off the bat the right laptop for me.
OpenSuse: Month 1 - Jan 2020 - Setting up the KDE Desktop
This is the first post from the first month of not Disto hopping for a whole year and sticking with one Distro, OpenSuse Tumbleweed, for 12 months (at least) Disclaimer > Remember when reading this, these are my personal opinions which mainly come from 20 years of hands on Linux experience not su…
OpenSUSE: Month 2 - Feb 2020 - What does OpenSuse do?
Following on from last month, this is a post about what makes OpenSUSE a good distro and sets it apart.
OpenSUSE: Month 3 - Mar 2020 - Getting on and using it.
Having got to grip with the tools and the command line last month this month I’ve been getting my daily drivers and applications working which means getting the Applications I need to use and connectivity back home working.
OpenSUSE: Month 4 - Apr 2020 - Support and Branching out
How does OpenSUSE work as a daily driver? What is ti like to run the applications you need and get support issues resolved?