In my last post I whined that it takes a while before OpenSuSE gets the updated Discord app. I checked today, and the update was there. I only have three days to catch up on: nice!
Thank you to Wojciech Kazubski for updating the app in the repository.
I think instead of creating a new post of when Discord goes broken (does an update) and when the new version shows up fixed, I’ll just make a list here.
2023-12-27 Discord client update came through, and this time it matches the server version 🙂 I was down fifteen days, but I’ve been out of town for six days.
2023-12-19 Discord update came through, but maybe it’s too late? Yep, still down. OpenSuSE updated to version .38-1.1 but the Discord app wants to install version .39
In my previous post, I explained that every time Discord publishes an app update, I’m locked out* until someone fixes it in the OpenSuSE repositories. Four days ago, it showed up in my list of updates, and hooray! I was back in Discord after eight days of being locked out.
Today, another update is published. Sigh.
*“Locked out” is a poor term: I am voluntarily opting-out. I boycott Flatpak and Snap Apps because I dislike those technologies.
Every time Discord updates their app, I don’t use Discord for many days. This is a bummer because I have a circle of friends on the Internet I’ve known for 20+ years, and Discord is where we have settled (so far). So when Discord does an update, I go through a dry spell of not being in contact with them.
The OpenSuSE folk tell me I should install the Flatpak version of Discord or the Discord Snap app. I’m not a fan of either Flatpak or Snap. Snap fouled up a machine months ago (and it’s still broken to this day) when I installed it. Flatpak seems like a (no better) replacement for my RPM repositories. Worse, it duplicates storage and doesn’t integrate unless I convert everything over; so that just creates more points for stuff to break. But at least the single developer doing the Flatpak doesn’t have to integrate, so that’s not his problem.
I can use the web version of the Discord app. It has keystroke conflicts with the web browser, though, and because I use temporary containers for everything, it treats me like a new user who didn’t see that sticky post from five years ago….
So, I wait until someone asks the Discord people to update the RPM in the OpenSuSE repository. Eventually it happens. Time before last, it was eleven days.
Ooof. This one kicked my ass for a really long time. The question is “How to connect the Home Assistant Media folder to an SMB share?” There’s a wizard, but what to enter for the Remote share entry is murky.
A part of this is pretty obvious, but the other part is not. Of course, I tried the wizard first, but I didn’t enter the Remote share entry correctly. I tried reading the documentation, but it wasn’t much more than “For the Remote share entry, put in the remote share.” Home Assistant would always fail to mount the share, and the error message was (essentially) “It didn’t work”. Sigh.
I had previously created an SMB share on my Synology NAS, and could map to it just fine from my main Linux desktop, from my Nextcloud instance, and from Windows machines I have here on my home network. I knew from my Nextcloud install (adding it to /etc/fstab) that the vers=3.0 option was important.
Doing a search found a Youtube video about editing the /config/configuration.yaml file and running a shell command. It mentioned that the vers=3.0 was important. Maybe this is what I need? This turned out to be a rabbit hole (but no rodent with a mean streak a mile wide at the end 1).
Since the system-launched shell command wasn’t working, I tried the next logical step: try it from an actual command line. It didn’t work. I think that is because of Docker and the impermanence of the terminal shell and sandbox for security.
I installed a terminal app in Home Assistant, but whenever I tried the same mount command that worked on Linux, it would fail on Home Assistant with “permission denied”. Not really helpful. In fact, it seems unhelpful, because if I read between the lines 2 I see “your password is wrong” – which it wasn’t. “Permission denied” is the error message you get when your password expires, and the credentials file has the old password. Of course, I knew my password was correct: but if I were someone brand new to this, I would have been mislead by my own thinking.
Here is the mount command that does work in Linux but not in Home Assistant:
mount -t cifs -o vers=3.0,credentials=/config/.smbcredentials //mysynology.domain.tld/sharename_smb/data /media/nasfiles34
The problem that I was running into was that the Home Assistant documentation never tells you what it wants for “Remote share”. The dialog box says “This is the name of the share on your storage server” – but that doesn’t help, because it doesn’t specify what to put in. That’s why I’m writing this post: if you have a mount command that does work elsewhere, the pieces you need are here.
Over on the Synology, it told me the share name was smb://mysynology.domain.tld/sharename_smb/data
That does not work here in Home Assistant.
Here are the settings that do work:
So, from the mount command above, the Server entry is mysynology.domain.tld and the Remote share entry is sharename_smb/data
Phew. This was a long time in figuring out, as I tried all sorts of stuff for the Remote share entry:
I set up Nextcloud on a new instance of Debian, and thought I had added all the pieces for memory cache and file cache, and had set up cron to run php -f /var/www/html/nextcloud/cron.php correctly. But in the Administration Overview screen I was still seeing this:
Last background job execution ran 2 hours ago. Something seems wrong.
The database is used for transactional file locking. To enhance performance, please configure memcache, if available.
But had installed Redis and APCu and configured them … so what is wrong?
I should mention that I’m using php 8.2. Apparently, with that new version of php, the APCu code now needs an additional setting that wasn’t needed before.
Find your way to /etc/php/8.2/mods-available and edit the apcu.ini file. Add this:
apc.enable_cli=1
Finally! I have the green check mark: All checks passed.
How to test if you cron job is going to run correctly:
I had to add the sudo package to Debian, because the basic server build did not come with that. But what it does do, is let me switch user and do the command. First, I specify the same user that Apache is going to use: www-data and then I run the PHP interpreter, using the file /var/www/html/nextcloud/cron.php
Prior to the change, it erred out with a rather ugly OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
Now after the change it simply runs without reporting anything (everything ran sucessful)
This seems to have solved some the frustation I’ve had; Audacity is better now. NextCloud client is up to date too.
Way back when, I had tried Tumbleweed. But at some point I moved away from it. If reason I moved away reappears, I’ll note the why of it. I’m pretty sure it was because LibreOffice got upgraded and broke KDE.
I recently did an “upgrade” from OpenSuSE Leap 15.3 to 15.4. As expected, it did not go well.
I ended up doing a manual install (as if the disk were new, except for /home), and then re-installing every application I need. Thankfully, there aren’t that many I need.
But I didn’t add any weird repositories. Today I happen to need to use Audacity. Hmmm. The version on this machine is 2.2.2 The current version is 3.3. Well that would explain why the Noise Gate plugin isn’t present.
I did add some weird repository to get the latest version (there appear to be seven of the them). Nope. Doesn’t work.
I happen to be running NextCloud. Every time I start the machine, it warns me that the desktop client is out of date. Okay, I’d like to add a repo please. Nope. Only manual installs, like the uncivilized practice, are what is done here.
I suspect that repositories are considered difficult, so the decicion was to do away with them over time: let programmers define flatpaks and snaps, instead. I kinda hate flatpaks and snaps; but, what I’ve got here isn’t working, either.
Another new irritating thing is that I use “focus follow mouse”. Every time I’m on a Windows machine (one day a week), I’m reminded how nice it is to wave the mouse over the screen I want to work on, and that’s the window with current focus. Lately, however, this stops working after a while. Time to reboot. What is this, MS Windows?
Did I mention that about four times in the last three weeks (out of multiple times a day), the power down function doesn’t? It appears to go mostly down, but leaves the motherboard running. I’m trying to save electricity here, since rates went way up, and if I’m not using the machine, there is zero good reason to be burning electricity wastefully. Power up takes less than 20 seconds, so why not?
Well, because sometimes the machine doesn’t go fully down. I later want to power it up, but it’s locked up in the mostly-down state. I have to go to the back of the machine and flip the switch on the power supply. That could just be a Linux thing instead of OpenSuSE thing, though.
I wasn’t fond of the idea using Snap, but I recognize that might be my dislike of change speaking. I needed to add a domain name to my Let’s Encrypt SSL certificate, and all signs said to install the Snap version of Certbot. Okay, maybe I’m in the wrong, and should just get with the program.
And now since adding Snapper to my Ubuntu machine, every time I go to update packages to keep things up-to-date security-wise, I get a kernel upgrade warning that always fails to install. Thank you, Snapper folk, for breaking my system. I so very much appreciate adding your stuff and creating trouble in my life. Don’t know where I’d be without you.
All that really happens is that after every update, I get “Pending kernel upgrade” “Newer kernel available”
“The currently running kernel version is 6.1.10-x86_64-linode159 which is not the expected kernel version 5.15.0-73-generic.”
“Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.” Thank you. Do you have any more ideas that don’t work? I’ll try those too.
I suspect that because the running kernel is newer, it’s just some entry somewhere that says I’ve got an older version installed. Nothing I easily found told me where to fix that though.
All I’m really doing is complaining that I didn’t have this problem prior to installing Snapper to support the Let’s Encrypt certbot.
2024-08-10 – I finally got this fixed a couple of weeks ago. Looks like I did:
dpkg uname -a
grep ^deb /etc/apt/sources.list
cat /etc/*release
sudo apt -s install linux-generic-hwe-22.04
sudo apt install linux-generic-hwe-22.04
sudo apt -s purge ?config-files
uname -a
reboot now
Pro-tip you should have done a decade ago: add a second hard drive to your machine, and put /home on it. Then during the install of the fresh OS, do not format that disk, simply mount it as /home
In a previous post, I was whining that YouTube videos were not working. I also (rather mean-spiritedly) implied that maybe Google was screwing with the connection because I was looking for ad-blocking videos. That was wrong: this fresh install of OpenSuSE has fixed that problem.
Of course, never does a single thing change, and I happened to roll over into the new month, so T-Mobile doesn’t see me as over my “unlimited” transfer limit.
But for all that testing I did, what I hadn’t tried was Windows versus Linux. I saved off a problematic YouTube link to my NextCloud Tasks, and logged in to it on a Windows machine. It played perfectly.
Another exiftool operation: suppose you have a bunch of files named something like this:
01 - String Quartet in B flat Major, 1st movement "Allegro".ogg 02 - Sonata, K. 310, 1st Movement (Mozart - Alfred Brendel).ogg 03 - Asturias_Leyenda (Albeniz - Alirio Diaz).ogg 04 - Massenet: Meditation from Thais (Mischa Elman).ogg 05 - La Coulicam - Rondement (Rameau - Harnoncourt, Lars Fryden).ogg
11 - Sonatine en trio "Modere" (Ravel - Orpheus Trio).ogg 12 - Preludes - La cathedral engloutie (Debussy - Sviatoslav Richter).ogg 13 - Eili, Eili (Mischa Elman).ogg 14 - Simple Fugue (Gr. 1, D. 1) (Bach - Gustav Leonhardt).ogg 15 - A Felicidade from Black Orpheus (Paula Robison).ogg
But really, you want the files to just be named after the Title of the song. You don’t want the leading track number, and if there are any characters in the file name that would cause Windows heartburn (like slashes, colon, asterisk, question mark, etc.), you would like those stripped out too. For example: Massenet Meditation from Thais (Mischa Elman).ogg
Here’s a handy command:
exiftool '-Filename<${Title;}.%le' *.mp3
So we have exiftool which is the utility that does the work. Thank you to Phil Harvey for doing the work to make this easy.
Then we have two parameters:
'-Filename<${Title;}.%le'
*.mp3
The second parameter says to work on files with the filename extension of .mp3
The first parameter breaks down like this:
-Filename<
Note that the non-change-making version is -Testname< (for testing, obviously)
-Filename tells exiftool that it will be updating the file name. The < symbol says that the replacement for the file name will be incoming from the rest of the parameter.
What follows after the < has two pieces: ${Title;} and .%le
${Title;} is the processed text from the metadata variable Title. The leading $ and the { and } with the ; before the closing curly brace serve to strip out any invalid characters found in the title that wouldn’t work as a file name.
.%le appends a file name extension. Technically, .%e is the file name extension, but adding the l makes it lowercase. So we get the Title as the first part of the file name, and the last part of the file name is .mp3 (because we told exiftool only to look at .mp3 files).