Niente on Linux

1.0 Introduction

As far as installing and running my software on assorted Linux distros is concerned, my standard practice is to support the top 20 or so distros, as listed at Distrowatch in or around May 2022. That means Niente has been tested to install and run well on the following distros:

Arch-based Distros

  • Arch
  • Manjaro
  • EndeavourOS
  • Garuda Linux

Ubuntu-based Distros

  • Ubuntu
  • Linux Mint
  • Pop!OS
  • Linux Lite
  • Zorin OS
  • ElementaryOS

Debian-based Distros

  • Debian
  • Devuan
  • Linux Mint Debian Edition
  • Peppermint OS
  • MX Linux
  • AntiX Linux

OpenSuse-based Distros

  • openSUSE Tumbleweed
  • GeckoLinux Rolling
    (NB: OpenSUSE Leap and derivatives are not supported:
    their Bash version is too old)

Other Distros

  • Fedora
  • Solus

Raspberry Pi Distros

  • Manjaro on Pi
  • Raspberry PiOS ("Raspbian")
  • Ubuntu on Pi

The differences between installing on any one of these distros, as compared to installing on any other, are trivial and come down, mostly, to what mix of software dependencies are required to get Niente working. Each distro tends to come with a unique mix of pre-installed packages, so the ones Niente finds to be 'missing' will vary as the distro varies. The specific instructions as to what needs to be installed will therefore change... but the overall installation process remains standard, regardless.

If your specific choice of distro is not listed above, the chances are that if it at least belongs to one of the major Linux 'families', it will run fine anyway. KDE Neon, for example, isn't one of the 'listed distros' above, but it's allegedly based on Ubuntu -and the Ubuntu 'family' is definitely supported... so Niente will probably run fine on KDE Neon. However, such 'derivative distros' are not on my radar and I cannot check that they will run Niente correctly... so if your distro isn't listed above, by all means give installing and running Niente a go, but please don't get in touch if it all goes horribly wrong. I support the above distros and nothing else: you are on your own when you choose a distro that's not on the above list.

In what follows, I therefore document a specific installation on Arch (running KDE Plasma -a graphical environment of some sort is required), but the installation has been performed on all the distros listed above without any difference, apart from the bit where you are prompted to install 'missing packages'.

Please note, too: if you have previously installed Giocoso or Semplice on your Linux PC, Niente will install and run without difficulty -and you are unlikely to meet any of the 'missing software dependency issues' described below in Section 3, since they will have all been already resolved to get those other software programs installed and functioning correctly.

2.0 Installation of Niente

Before installing Niente, it's probably good advice to use your distro's package manager to fully-update your system. On Arch, I'd issue the command sudo pacman -Syu; on Ubuntu and Debian distros, sudo apt update && sudo apt upgrade; sudo zypper update on Suse-based distros and so on. Reboot after a full system update to make sure all patches are applied properly.

All distros will need the wget package installed, if it isn't already by default (it is on every distro I've tested on, except for Arch, where practically nothing is installed by default, of course!), so use your package manager to install that if necessary: sudo pacman -S wget will do the deed on Arch, for example.

At this point, you're ready to obtain and run the Absolutely Baching installation script, with the following commands:

cd
wget https://absolutelybaching.com/abc_installer

The first 'cd' is simply to ensure you're sitting in your $HOME folder; if you'd prefer to download the installer script somewhere else, by all means place yourself in your chosen location before running the wget command which actually fetches the script.

The script being fetched is pretty small:

As you can see from that screenshot, it's around 7K in size, though the specifics will change over time.

Once downloaded, you run the installer script with the command:

bash abc_installer --niente

...and this triggers the following on-screen activity:

As you see, some further downloads take place after which you'll be prompted for your sudo password: the installer needs to copy the Niente executables into the /usr/bin folder and that requires root privileges, which you grant at this point. The whole process is over in less than a couple of seconds: you're now ready to run Niente for the first time.

3.0 Running Niente for the First Time

Once installed, the command to run Semplice is simply:

niente

That's all in lower-case, and without any sort of extension. The first time you run the program, you will probably see this:

The red text tells you that your software environment has been scanned by Niente and found to be... lacking in certain respects! The text will list the programs that Niente depends on and which it has found are not present on your system -so the specifics of what will be listed will depend on precisely what packages you've installed in the past, as well as what packages your distro maintainers think should be included by default. Here, on a minimal Arch box, only the fd utility has been found to be missing, so more fully-featured distros may get away without this message appearing at all.

If you do see text such as that displayed above, you need to type out (or copy/paste) the commands in italics onto a new command line and execute the commands to ensure the missing dependencies are installed. Note that the red error text may wrap over onto more than one line (as in the case above), but you need to submit the command(s) as a single-line. If you just copy the entire italicised text as-is, you'll find a line-break gets copied along for the ride and the installation command will therefore probably break or not work as intended. Here, for example, I've turned the two-line error message instruction into a single-line command:

You'll notice that the software download size is pretty small -in this case, about 1MB. Again, that will vary depending on the distro, but you're never going to be looking at tens of megabytes!

Note that a handful of distros will trigger this sort of 'you must install some other packages' message twice. OpenSUSE Tumbleweed, for example, doesn't include the 'bc' package that nearly all other distros will include by default (though Arch is another one that's likely to be true for, given the minimal nature of its initial installation). BC is the 'bash shell calculator': its prior existence is required for Niente even to display things properly, so if it is detected to be absent, its installation will be prompted for alone, separate and before from anything else that might be missing:

Once bc has been installed, run the niente command once more and the more 'standard' set of prerequisite packages that are known to be missing will be prompted from, as described earlier. It therefore takes a second run of the niente command to finally get past the 'your system is lacking necessary software' commands, where other distros that ship with bc pre-installed will only take one.

Once all the software prerequisites have been installed, re-run Niente for a second time (or third, in the case of bc-less distros!). Again: the command is simply niente. This time, you should see this appear:

Niente has a number of options that allow you to say (for example), 'Album art that is smaller than 300 pixels in one dimension or another are to be considered small' or 'though I have a 24-core CPU, I want you to cap your degree of paralellism to just 4 threads at a time'. Such options are set in a persistent configuration file, which needs to be present before Niente can run -but which will definitely not be present the first time Niente is run after installing software prerequisites! Therefore, the yellow message appears to tell you that, if you press a key, a default persistent configuration file will be downloaded for you. It's a one-off download and will not be required to happen ever again (provided you don't delete the downloaded file, of course!).

So: press any key you like at this point and, after a momentary pause, the screen will change to this:

...and that's Niente, finally running in all its glory: you're ready to use it to help manage and maintain your music collection!

Broadly speaking, there are three main areas of program functionality you'll use, in the order they're presented on screen. You'll initially create a database of what music files exist (and you'll keep refreshing that database over time, so that new additions to your music collection are recognised and added to the database). All the options 1 to 4 are there to help you create, refresh and manage that database of 'what exists'.

Secondly, you'll want to visit each of the music files known to exist and examine them for physical and logical integrity and consistency. This is the 'file analysis' part of what Niente does, and all the options 5 to 9 will allow you to do this sort of file analysis in various ways. Depending on how you catalogue your music, you may not be interested in all (or even any!) of the logical analysis options mentioned -but that's OK. Just sticking to option 5 or 6 alone will still provide you with a thorough check of physical corruption that may be happening to your music files.

Finally, option 10 is what you take to find out the results of the file analysis you performed. It leads on to a sub-menu:

...and in this reporting sub-menu, each option allows you to generate on-screen reports about the different forms of physical and logical corruption that may have been detected. If you earlier took option 7 from the main menu (to analyse for album art problems), you can now take sub-menu option 8 to report on all album art issues detected, for example. If you're only interested in detecting physical file corruption, you'd have taken option 6 from the main menu and could now take option 2 from this reporting sub-menu, and so on.

Whilst you can schedule (that is, automate) the performance of the Niente database refreshes and music file analysis (using crontab or similar), the production of reports about what has been found to be of concern is an entirely user-interactive affair: you take the menu options to generate the reports you want to see in real time.

4.0 Minor Issues

4.1 Font Display Issues

You may not have noticed it, but in some of the above screenshots, Niente is not actually displaying everything correctly. In particular, the header area of the screen is getting muddled trying to display the top line. You may, for example, see this:

There are some dodgy characters being displayed to the left and right of the 'Niente: The Digital Music Manager'. Clearly, one of them is a musical note of some sort, but the other just looks like a little box with some numbers in -and that's not right! Welcome to the world of trying to get Unicode characters to display correctly!

Most distros will display the header correctly, first time of asking; if your choice of distro results in this sort of display mess, however, than you may be able to fix it by trying a couple of things. First, check your terminal's choice of font: not all fonts have the glyphs needed to display specific Unicode characters, even if they otherwise display Unicode correctly. I have personally found that Go Mono or Dejavu Mono will display the particular characters we're talking about here correctly. How you install those specific fonts will vary by distro, unfortunately, but they are widely available, so you may just have to hunt around a bit to find out how to do it. For example: this page should prove helpful in tracking down the Dejavu Mono font for all sorts of distros. On Arch, I just do sudo pacman -S ttf-dejavu but your mileage will obviously vary!

Once appropriate fonts have been installed, you need to close all running instances of the terminal program, then launch a new terminal and set your terminal appearance preferences to use them. Here's me doing it on Arch:

When you subsequently then launch Niente, you should see the header appearing like this:

...at which point, the little square boxes with numbers have turned into a couple of joined semiquavers.

4.2 Terminal Sizing

Another minor issue might arise when first running Niente:

Niente's main screen has been designed to display correctly in a terminal that is at least 103 columns wide and 28 rows tall. If your terminal is configured to use a size smaller than that, in either dimension, then you'll see this warning message. Note that it is only a warning: you can press a key at this point and the program will run perfectly fine -though the display is liable to be somewhat (i.e., very!) garbled:

Here, for example, we've lost the top part of the display entirely; the single horizontal lines tend to wrap around and finish on the line below which they started, and the double horizontal lines are being displayed seemingly at random!

If you simply adjust your terminal's default appearance parameters so that all terminals open at 103x28 by default, these problems will disappear. Here's me doing that:

The terminal can certainly bigger than 103x28, in either or both dimensions, but so long as both are at least 103x28, then the terminal sizing warning message won't appear again.

5.0 Conclusion

As I hope this short article has shown you, installing Niente and getting it running for the first time, is not difficult:

  • You use wget to fetch the generic installer script
  • You run abc_installer to fetch the Niente-specific program
  • On first running Niente, you are prompted to install any missing software dependencies, which you do using your distro's standard package manager
  • On the second running of Niente, you are warned of the need to download a persistent configuration file, which then happens automatically when you press a key
  • And then the program displays its main menu screen: it works from that point on as the text menus tell you it will…

It's not terribly difficult, is it?!

What you probably next want to do is just explore the various options and capabilities that the main program display exposes: I provide a link to the article describing that in some detail below. You may also want to read up on what exactly is in that persistent configuration file you've just downloaded in getting to this point: again, a link below will let you explore that in some detail.


|[Back to Front Page]|[Niente Quick Start Guide]|