Tag Archives: Linux

In which it takes over two hours to play an MP3 file on Linux in 2016

Let me preface by saying that it’s 2016. Right? Am I right? It’s 2016, I think.

TL;DR

Having problems in Banshee, Totem, Rhythmbox (GStreamer apps) on Lubuntu? Can’t play MP3? Can’t get any audio output at all? Try the following command:

sudo apt install gstreamer1.0-plugins-ugly gstreamer1.0-alsa

If you give a crap, it’s a combo of no MP3 decoder being installed by default for GStreamer (despite the existence of an MIT-licensed one), and dependency fail in Lubuntu (which uses ALSA, but inherits defaults from Ubuntu which uses pulseaudio).

I encountered this bug in Lubuntu 16.04, but a related report dates back as far as Lubuntu 13.04 – at least three years.

You’re welcome. :|

Complete accounting of sadfeels

A little background: I’ve fallen on hard times. My music library has been offline for years, at least 2 years if not more. I’m trying to restore it for the sake of my sanity, and all I have to work with is a 2008 Macbook running Lubuntu 16.04 – a choice of operating system not taken for the sake of my sanity, as you will soon see. I’m using Lubuntu due to economics.

Here’s what I’ve had to do in order to import my old library and get playback of MP3 music file working. MP3 is a codec which I first used in 1998. Importing and playing music should be dead simple in Banshee 2.6.2. It’s anything but. Unfortunately, I’m stuck with Banshee on Linux just like I was stuck with iTunes on OS X, because I’m a heavy user of smart playlists – when the apps manage to function at all, anyway.

It’s worth noting that Audacious, the lightweight music player installed by default in Lubuntu, was able to play MP3 out of the box as YHVH intended because it is fucking 2016 why is this a problem.

  1. Import my old iTunes media library into Banshee. Wait, no, that causes Banshee to freeze.
  2. Disable some plugins, then import! Wait, no, that causes Banshee to crash.
  3. Disable ALL the plugins except the import plugin, then import! It mostly works – a truly earth-shattering accomplishment for a program under development since 2005 and billed as version 2.6.2 (except in the Ubuntu package, which is billed as “2.9.0+really2.6.2-7ubuntu2,” I shit you not).
  4. Double-click the file and play! Wait, no, that pops up a red X icon for the given song and the next 4 songs, with no other feedback at all. Cute.
  5. First examine ~/.config/banshee-1/log and then run ‘tail -f’ on it while trying to play the MP3, in an attempt to figure out what the fuck is going on. (Why do I need to know about the existence of a log file for a fucking media player? Because I am in purgatory, that’s why, and nothing is ever simple.)
  6. Of course, there is absolutely no related human-readable output for an obvious playback error in the FUCKING LOG FILE.
  7. Do the next least-worst thing and search a vaguely-unique-sounding term in the log file which may or may not be related. BTW, 99% of users would have given up at step 1 and be left, if they had my library, trying to choose from within 89GB worth of music with the file manager.
  8. Receive vague hints from Internet that GStreamer (why do I need to know this exists?) may be “broken.” At this point, I begin to suspect licensing fail resulting in no MP3 decoder installed by default. At the moment, I don’t remember if Lubuntu 16.04 asked me about installing non-libre plugins, but if it did, this would be a GREAT candidate. :|
  9. ‘sudo apt install gstreamer1.0-plugins-ugly’ (since if there’s a plugin which handles MP3, Fluendo or otherwise, it’s likely to be “ugly,” because nerds).
  10. Double-click the file and play! NO FUCKING AUDIO OUTPUT. Begin writing this post because I need to vent and because I suspect documenting my tribulation will help at least 3d6 benighted searchers to play a FUCKING MP3 FILE on their FUCKING COMPUTER.
  11. Take a break to update a bug report on banshee, file a different bug report on banshee, and file a bug report on lxpanel for shits and giggles (volume control UX needs work). Plan an additional bug report on gstreamer for its utter lack of useful error messaging.
  12. Determine that additional gstreamer apps are also pretending to play back a file but producing no output. I’d installed totem in step 7 in order to confirm that the original playback fail was gstreamer-related. Indeed, totem is also exhibiting the new playback fail.
  13. Search ‘gstreamer “lubuntu” audio’ and find a bug from 2013 that is related.
  14. ‘sudo apt install gstreamer1.0-alsa’
  15. Double-click the file and play! Finally, it fucking works. Well, not for M4A files, but that’s another rant.

So by my count, I need to file the following bugs:

  • gstreamer error output is useless in the context of a missing MP3 decoder
  • Lubuntu has a dependency problem; gstreamer 1.0 installs a pulseaudio “sink” by default, but Lubuntu uses ALSA, not pulseaudio.

I’m tired, and I don’t get paid for this. But hey, now I can listen to the 70% of my library that’s not encoded in AAC.

Edit: If you want to play AAC (M4A) files, ‘sudo apt install gstreamer1.0-plugins-bad-faad’

Missing man pages on CentOS, or reason № INT_OVERFLOW why I hate CentOS/RHEL sofa king much.

I can’t remember all of find’s arcane incantations. Nobody can.

$ man find
No manual entry for find

wat. find is clearly installed, of course. man pages? nope.

Search search search. Searchity search. Horrible relevancy because what are you gonna get when you think you’re smart, do rpm -ql findutils and note that /usr/share/man/man1/find.1.gz doesn’t exist, and then start searching for how to find packages with missing files using Red Hat’s primitive yum and rpm commands.

It was only when I gave up and searched on “centos missing man pages” that I found the answer.

# yum install man-pages

Yes, seriously.

$ cat /etc/redhat-release
CentOS release 6.5 (Final)

Released 1 December 2013. So I guess I can’t ask what fucking year it is.

Linux users on Apple machines: how to find the system product name of your Mac

Here’s another nugget I’m dropping in the hopes it’ll get indexed, because I have a hell of a time remembering how to find my Apple Mac type in Linux (where by type I mean things like “Macbook4,1” or “iMac6,1” and the like). Finding the exact model of Mac you’re running is often useful when debugging the all-too-frequent rough edges of Linux running on a Mac.

Be advised, I’ve only tested this in Linux Mint. I expect it will probably work fine in Ubuntu and likely Debian.

In Terminal or on the command line, to find what model Mac you’re running Linux on, simply run

sudo dmidecode -s "system-product-name"