Closing Windows (for good?)

I don’t mind Windows 10, on the whole. I think it’s quite ugly to look at, but it mostly doesn’t annoy me too much and lets me get actual work done. There are some privacy concerns with it, but for the most part they are probably over-blown and, if you’ve the time and inclination, can be ameliorated with a bit of digging through the OS configuration options. It’s a shame it’s all ‘opt-out’, and that your privacy is compromised from the start with all the opt-in default settings, but you can take control and sort it, if you are so inclined. Still, there are some lingering concerns, and together with the fact that it’s been at least a year since I switched operating systems, I got to thinking that it might be quite nice to let Linux back onto my desktop.

The choice of distro wasn’t hard this time: it has to be Linux Mint 17.2, largely because I liked it last time (back in version 16 days), and 17.2 was freshly-released at the end of June. The other thing going in its favour: it’s based on a Long-Term Stable release of Ubuntu (14.04), meaning that it’s supported for security patches until April 2019 and I can therefore put off the evil day when I have to deal with systemd until at least then!

Normally when I switch operating systems, I just whip out the install CD and wipe the hard drive without thinking about it too much… but I’ve been using Windows 8/8.1/10 long enough that on this occasion, I thought a bit more thoughtful preparation might be in order.

Specifically, I undertook a software audit of what I had installed on Windows and, using a virtual machine with Linux Mint 17.2 (Cinnamon) installed and tested out what replacements or equivalents I’d have to consider in each case.

Here’s the complete list of programs currently installed on my Windows 10 desktop PC, and what I think their likeliest replacements in Linux might be:

7-Zip Already built-in. Right click a file, select Compress and then choose the .7z extension. The first file you do this to requires you to select “7z” as the compression algorithm from a long list; but once you’ve compressed one file with 7z, that will be the default suggestion for future compression (unless you select an alternative algorithm in the meantime, of course, at which point that becomes the new default, until you select something else… etc ad infinitum).
Adblock Plus Available as an extension to install into Firefox, so completely OS agnostic.
Adobe Air Don’t quite know what installed this in the first place: it’s an Adobe application development framework. Seems mainly needed for the Adobe Media Player, which I don’t care about.
Adobe Captivate Used to create video screen presentations. Not something I use a lot of these days, but possible alternatives are Wink and Kazam. Kazam is in the Mint repositories; Wink has to be downloaded and compiled from the developer’s website. However, only 32-bit version of Wink is available and that won’t compile of a 64-bit Mint O/S. Kazam it is, then…
Adobe Media Player Not required. SMplayer/VLC/whatever video player and Amarok/whatever audio player I decide on will do all the media playing I could ask for.
Adobe Photoshop CS5 GIMP is the obvious alternative, but it’s nowhere near as good. This is one area Linux really suffers compared to Windows: no superb graphics editing capability. MyPaint (available in the Mint repositories) looks plausibly good as possible substitute. Lacks a lot of the powerful Photoshop stuff, of course, but looks adequate as a simple photo cropper, toucher-upper.
Adobe Photoshop Lightroom 5.7 Darktable (in the repositories) looks possibly adequate as a replacement. Nowhere near the functionality as far as I can tell, but maybe enough for my purposes. Requires quite a bit of re-learning effort, of course.
AnyDVD Tricky. Ripping of standard DVDs is trivial in Linux. Handbrake will do it direct off disk, if the libdvdcss library is installed. Blu-Ray? Much harder: Handbrake will rip an unencoded BluRay, but how do you decode one?

MakeMKV might do the trick, though it’s not in the repositories and has to be compiled from source and isn’t free (as in zero dollars, except in beta) and it requires 100MB+ of prerequisites to be installed first, though the apt-get install command is simple enough…. Then it turns out that it’s AUD$76 after the first 70 days if you want to keep ripping BluRays. That’s pretty expensive. That said, it compiles easily enough and looks fairly functional (not yet tested with any actual recent release BluRays, though).

Could AnyDVD run under wine? (See below). Maybe running AnyDVD in a Windows virtual machine is a possibility?

Audacity Available in the repositories
Bitdefender Antivirus Clamav (available in the respositories –install clamtk to get a GUI front end, then clamav, clamav-base, clamav-daemon and clamav-freshclam )
Calibre Available in the repositories
dbPoweramp Hmmm… an entirely separate essay probably needed on this one! Wanted: a good CD ripper that can output to WMA Lossless in a tag-sensitive manner.

Soundconverter won’t do it (it’s output formats do not include WMA Lossless).

FF Multi Converter (not in the repositories, and depends on ffmpeg, so you have to add in two new ppa respositories instead) does output to lossy WMA (progress!), but not lossless (oh :-( ). It also has an alarming tendency to install old versions of Libre Office (though it will work without doing that if you don’t install unoconv). It’s lack of WMA Lossless output is probably because ffmpeg itself doesn’t support WMA Lossless.

However, bearing in mind that some 46,000 tracks from my CD collection are already ripped to WMA Lossless, you could argue that I don’t really need rip-to-WMAL functionality anyway: most of my ripping days are behind me (I hope). So, for any music acquired in the future, it will be fine to rip to FLAC. I might then batch convert using dbpoweramp in a Windows virtual machine. Or I might not: there’s no great harm in having different files in two different lossless formats… consistency is the hob-goblin of small minds, after all!

So, what’s the best ripper to FLAC that’s tag-aware? In the repositories, both Asunder and ripperx are available.

Ripperx is ghastly: ancient interface, very little track-naming or tagging capabilities. Asunder is much better. But my favourite (warranting another essay) is abcde, a cutely-named (“a better cd encoder”) command-line only tool that rips a CD with one trivial command. It’s also in the repositories, so installation is very easy. It’s output can be tweaked with something like the EasyTag tag editor.

Deluge 1.3 Bittorrent clients are ten a penny. Transmission is installed by default as part of the standard build, and is more than adequate for my purposes.
Foobar2000 Hmmmm… another Essay required. Maybe Foobar2000 under Wine? Doable, sort of (see below). Maybe Guyadeque (available in the repositories, but it can’t display album art embedded in WMA Lossless files). Maybe Amarok, which does display the embedded art but looks like it was sat on by an Ugly Hippopotamus. Banshee is the default media player and works reasonably well, in fact –plays Lossless WMA right out of the box, without the need for things like Fluendo to be installed first. And it gets the embedded album art right etc. But it’s terribly slow to scan 900GB of music: I have my doubt about how it will cope with a music library of my size.

You will conceivably have to bite the bullet and convert everything to FLAC. There is enough disk space available on the servers to keep a Lossless WMA and a FLAC version of everything, though it’s hugely wasteful.

Google Chrome Available in the repositories as chromium-browser
GpgWin For file encryption: Mint has native support for gpg (it’s already a part of a default install), though it’s all command line stuff. But a GUI is not really required anyway (even on Windows, it doesn’t add much to the party!)
Greenshot Shutter or gnome-screenshot, both available in the respositories. Shutter works very well.
Handbrake Available in the repositories.
Last.fm Scrobbler Not needed; Banshee, Amarok and Guyadeque all scrobble natively.
Lastpass Firefox plugin Available.
Mediaeval CUE Splitter Cuetools (in the repositories). Command-line only, so maybe not as straightforward, but pretty decent.
Microsoft Office Professional Plus 2013 LibreOffice, of course. Nowhere near as good as MS Office in some ways, but competent enough. I wouldn’t want to write documents whose format has to translate between platforms perfectly, but LO is good enough for the office work I do.

What about email? (IE, how do I replace Outlook?) Thunderbird is not in active development [by Mozilla, at least] and was never that good anyway… so how about Claws Mail (also in the repositories): it has lots of good features, including plugins like SpamAssassin and vCalendar, for email/calendar integration. It looks a bit tired and dated, but it works quite well.

Microsoft Silverlight No equivalent (and not needed, I suspect)
Assorted Microsoft Visual C++ Redistributables No equivalent (and not needed, I suspect)
MobaXterm For ssh connections, the basic terminal in Linux is fine all on its own. If you really wanted to, putty is in the repositories (!).

No really good tabbed ssh client seems to be available, however. Terminator (in the repositories) lets you easily split a single terminal window into multiple separate terminals and thus allows creating and viewing multiple ssh sessions very easy. Doesn’t help with storing ssh session details, though.

Remmina has an ssh plugin and can do tabbed SSH sessions, but I couldn’t get it to connect to one of my servers: every time I tried, it complained that the public key had been changed, and would never actually attempt to make a connection. Maybe worth pursuing and trying to get properly sorted.

Mp3Tag Easytag (in the repositories. It’s interface is not as comfortable to me, but it is capable of using tag data to rename and move files to appropriate folders. However (and it’s a biggie!)… it doesn’t work with WMA Lossless files. Does Mp3Tag itself work under Wine? See below.
MuseScore Available in the repositories
Notepad++ Scite. Despite the name, it’s perfect (and in the repositories).
Oracle VirtualBox Available in the repositories
ownCloud client Available in the repositories
PL/SQL Developer SQL Developer is cross-platform and free, but PL/SQL Developer can be made to work under Wine.
Samsung Magician A tarball of Samsung Magician is available from here. Haven’t yet played with it… not clear if it is kept up-to-date.

See also: http://jcutrer.com/howto/linux/samsung-magician-command-line-linux

Note that the command line tool does NOT do Rapid Mode, but does allow firmware to be updated.

Also, read: http://techreport.com/review/25282/a-closer-look-at-rapid-dram-caching-on-the-samsung-840-evo-ssd/6 …which strongly implies that Rapid Mode is rather less to sing and dance about than first appears… so not being able to do it under Linux might not be a bad idea!

Stellarium Available in the repositories
SumatraPDF Evince. There’s even an Adobe reader available for Linux (though I wouldn’t use it)
SyncBackSE Tricky. rsynch is the obvious candidate, but it’s hard to set up and get working perfectly. There are GUIs for rsync, too, but none of the ones I’ve used have been spectacular. Short answer: rsynch, but there’s a learning curve.
TrueCrypt Not available in the repositories and you’re not supposed to find it elsewhere either, as the developers have declared that all development of the tool is finished. Linux does encrypted file systems natively, though (I’m thinking of LUKS), so whole-disk encryption is pretty straightforward without TrueCrypt. Encrypting individual files… that’s what gpg is for.
WinSCP Filezilla (available in the repositories)

You’ll notice a number of references to “will I be able to get the software working under Wine” in that lot, so here are my detailed answers:

  1. Does Foobar2000 work well under it: yes, but it doesn’t understand WMA Lossless. Plays FLAC perfectly well, though. Banshee plays FLAC and WMA Lossless equally well, mind (as do most other Linux players mentioned, such as Amarok and Guyadeque), so although it’s a plausible program to run under Wine, I don’t believe there’s actually much utility in doing so.
  2. Does Mp3Tag work well under it: yes, but it doesn’t understand WMA Lossless files and their tags. (Neither does EasyTag). Feed it a FLAC file, however, and it copes just fine. Doesn’t display very nicely (nothing under Wine does!). I think that mastering EasyTag is the more productive way to go here.
  3. AnyDVD doesn’t work under the Wine supplied in the Mint package manager. It installs OK, but attempting to launch it simply brings up an error message: Failed to init ElbyCDIO. There are no workarounds as far as I can tell.
  4. It is apparently true that you can run Adobe Lightroom and Photoshop CS5 on Linux under Wine. See, for example, http://www.techrepublic.com/blog/linux-and-open-source/how-to-install-adobe-photoshop-cs5-on-linux-with-wine/ as a description of how to get Photoshop working in Wine, rather torturously as far as I can tell! See also https://www.youtube.com/watch?v=BmqNx1dEtVM for proof that Lightroom on Mint is possible with Wine… though I note that the instructions on how to do it are a bit thin on the ground, it was only tested with Linux Mint 17, only works with Lightroom 5.0 or earlier, doesn’t work with Linux Mint KDE and so on and on. I think using these tools under Wine looks to be more trouble than it’s worth. It’s not like I actually use more than about 10% of the functionality of these programs anyway, to be honest. ToH’s a different proposition, though…

Summing all that up, then: there are a satisfyingly large number of programs which work exactly as-is on both Windows and Linux. No learning curve there at all. Things like Stellarium, Handbrake, Firefox, Chrome, Calibre, Audacity and MuseScore are all truly cross-platform.

Many programs have equivalents which, to one degree or another, lack a bit of functionality -or have loads more functionality than their Windows’ equivalents, but at the cost of a learning curve (of various degrees of steepness). Notepad++ ↔ Scite, for example; or Lightroom ↔ Darktable, MS Office ↔ LibreOffice, Mp3Tag ↔ EasyTag and Captivate ↔ Kazam.

In some areas, though, the “equivalents” are profoundly different and require entirely new work flows. I’m thinking of how abcde rips CDs like dbPowerAmp can do, and even has rudimentary tagging and album art embedding capabilities, but as a command line tool is profoundly different from the point-and-click world of dbPowerAmp. Not only do they behave differently, abcde is not going to allow tag editing before ripping in the effortless way that dbPowerAmp does, so whereas I can often rip a CD currently and get all the tags and embedded album art completely right from the start, with abcde I’m definitely going to have to use EasyTag in a separate step to clean up the tags and get the album art correct. It’s not impossible to do in Linux what I currently do in Windows, for example, but the work flows will be completely different.

That leaves one or two areas where there simply aren’t real alternatives and no amount of re-thinking one’s work flows will get you an equivalent capability. I’m thinking of graphics: Gimp is no replacement for Photoshop, though it might do in a pinch if all I want to do is a quick picture crop or simple touch-up. The matter therefore really becomes one of questioning the assumption that you need a specific set of capabilities in the first place. Can one, instead, live without?

In my case, I am no photo virtuoso, so do I really need Photoshop’s capabilities? Would a much less capable program still let me do what I do? And even if I do occasionally use capabilities that only Photoshop provides, perhaps the question to ask is then: would running it in a Windows Virtual Machine prove adequate? (Because faffing around with Wine seems in all cases more trouble than it’s worth).

One of the more obvious of these “no go” areas is anything to do with WMA Lossless audio. Playing it is fine: Banshee even does it out of the box, no need for Fluendo. But none of the encoders can produce it; many of the players can’t play it; and EasyTag will have no truck with it at all. At this point again, I have to ask myself whether I really need WMA Lossless encoding capability (not sure!); whether I could live with old files as WMA Lossless and new ones as FLAC (probably); or whether I could just switch entirely to using FLAC (requires more thought). There are ways around the issue, therefore; I just have to work out what suits me best.

Watch this space, I guess.

Meanwhile, putting all of that into a single “install everything in one hit” command results in this:

sudo apt-get install kazam mypaint darktable handbrake wine winbind audacity clamtk clamav clamav-base clamav-daemon clamav-freshclam calibre abcde chromium-browser shutter cuetools evolution terminator remmina easytag musescore scite owncloud-client virtualbox-nonfree stellarium filezilla grsync luckybackup aisleriot gnome-games gcstar openconnect network-manager-openconnect-gnome gparted

Oracle 12.1.0.2 on Linux Mint 17.2

I am casting my eyes around for a new desktop operating system (yet again!). I’m currently running Windows 10, and whilst it’s OK, there are some privacy issues I have concerns about. So, though I’m happy-ish with the current status quo, I am doing some experiments on the side for an alternative.

Linux Mint is right up there with the best of them as a suitable desktop OS. In the past, I’ve run Linux Mint Debian Edition (LMDE), but this time I thought I’d take the ‘standard’ version for a run: it’s based on Ubuntu.

Of course, getting Oracle 12c running on any form of non-Red Hat/non-CentOS distro can be tricky, and although my old Gladstone script used to automate it for a number of ‘peripheral’ distros, I haven’t maintained it for a while.

So I’ve written a new automation script, stripping out a lot of the complexity from the original gladstone script in the process. The new script configures a fresh 64-bit Linux Mint 17.2 desktop for an Oracle 12.1.0.2 64-bit database installation, making the user that runs it the “oracle user” and owner of the resulting Oracle software installation. By running it, a “linking-error-fix.sh” script is written to the user’s desktop, for later use at the point when the Oracle software installation starts to throw up linking errors.

Installing Oracle on LM17.2 thus becomes a matter of downloading and unpacking the software from Oracle and the oracleonmint.sh script from me, double-clicking the shell script and supplying the root password and waiting for a lot of prerequisite software to be downloaded from the standard Linux Mint repositories. When that’s all finished, you’ll be prompted to reboot.

Once your PC is back up and running, you just launch Oracle’s own runInstaller as usual, click [Next] lots of times, and wait for the inevitable linking errors to occur once the installer tries to build Oracle binaries.

At that point, you just double-click the linking-error-fix.sh script that should be sitting on your desktop, click [Retry] in the Oracle installer …and wait for the installation and database creation process to complete. Update: There’s now a full-blown article documenting what you do, step by step.

No messing around with editing various obscure compiler files by hand: just run the first shell script to create the second; and run the second when the Oracle installer throws up its first linking error.

I’m running out of prime ministers these days, so this new script doesn’t have a fancy name. It’s just my “Oracle on Mint” script :-) It has been tested on all three of the Cinnamon, Mate and KDE versions of Linux Mint 17.2. There are no differences in how it runs on any of them.

Whether or not I do end up ditching Windows 10 for LM17.2, I can’t yet say: but being able to run Oracle on LM17.2 certainly makes the idea of a transition a whole lot more feasible.