Linux

Report #7 - Useful Cross-Platform Programs

This report will have a tidy list of all of the software posted at the bottom if you want to quickly peruse through. For everyone else that enjoys some ramble, read on!

Very top of my useful bit of software is Joplin https://joplinapp.org/ It's a markdown editor that I use for pretty much anything involving text in some form or another. Quickly making lists, writing these reports or writing down technical information that requires sections to be marked as code. There is also a webclips addon that while I haven't used very much, the few times it's been very handy for quickly capturing information from web pages. Before this I used Simplenote and while it also has markdown functionality, it's hosted by someone else and I was looking to move as much as possible to self hosting. It also works on my phone so I'm able to check and edit things else where.

There really isn't to much more to say about it other than it's handy for keeping a ton of information and/or writing, easy to sync with just about anything.

Other notable text writing programs would be:
Focuswriter https://gottcode.org/focuswriter/ Good for distraction free writing.
Ghostwriter https://wereturtle.github.io/ghostwriter/ A minimal markdown editor.
Simplenote https://simplenote.com/ note keeping app that you need an account to sync, uses markdown but I never used that bit.
novelwriter https://novelwriter.io/ Side info for novelwriter, if you're on Windows the easiest way to install it is to install python3 with PATH enabled in setup then in powershell execute pip install novelWriter Linux land in terminal run sudo apt install python-3 and then pip3 install novelWriter
It's a very useful bit of software if you're going to write a large novel, it helps you keep track of a lot of information and stay organized.

Next part I should talk about is syncing files among machines, I have a desktop, laptop and a phone. The desktop and laptop have general files to keep in sync with all of them but I do want things like Joplin to be able to sync to all three. I tried to use Dropbox for a while as Google's Drive was not something I was interested in as I've been slowly removing google bits from my digital day to day. Nothing inherently wrong with how Dropbox worked it just didn't give me enough granular control over what I wanted, for general single folder sync, would of been perfect. I did find Syncthing https://syncthing.net/ and it fit everything I needed and wanted perfectly. I could declare different folders to sync and the big bonus, it's something I could self host, you don't even need a central server to self host either, it's peer to peer so no middle man bits, just need two computer you want to sync a folder, or folders to. Setup was really easy and wish I found this bit of software sooner! And while you don't need a server, I run an instance of syncthing on my server anyway to be a kind of 2nd hand back up.

Now if you need something more manual for syncing or manual I can recommend FreeFileSync https://freefilesync.org/ it's pretty much Rsync in GUI form which I like, you can also save sync jobs and name them so when you open up a job it's options easily readable rather than trying to remember what the long list of option commands.

"Is recursive -r or -R...wait why are there both -a and -A in here too?"

This has happened a few times and having to reread the documentation for a terminal command gets old after the 2nd time. FreeFileSync does all the things you'd expect, Local files & SSH remote files. There are more fancy features but that's all I really use it for as I have an external HDD that I use to keep my photo library on and after a shoot I dump all the images onto it, then sync the drive to my server which does all the backing up in background for me. Also the visual comparison that lets me skim to make sure things should be running as they should is just a nice little quality of life detail.

For general automated backup system of my desktop and laptop is Duplicati https://www.duplicati.com/ An automated backup system that can send backups in lots of different remote ways. Used to use DejaDup on Linux and I'm aware that Windows has it's own backup system but I stuck with Duplicati as it still allowed me to use it across whatever OS I want. Also it lets me recover a backup from a Linux backup onto Windows machine and vice versa if there is something I need.

KeePassXC https://keepassxc.org/ It keeps your passwords. That's it really. Has everything I need and has some nice password generation features, a dark theme, looks clean. Keep backups of your keepass file and nothing to worry over. The idea of someone else hosting my passwords is simply terrifying to me, companies get broken into all the time, I don't need that looming stress.

You'll notice a bit of a theme that I'm slightly obsessive over self-hosting as much as possible. Well here comes some more! I only recently came across this but with what I've messed with of so far seems very promising. I currently use things such as Discord, Telegram and whatever dozen accounts for messaging programs I've used in the past. Naturally I have to find a way to do it myself in some way. First on the list is voice chat, for that I've been using Mumble https://www.mumble.com/ it's comes bare bones so it's a small task to setup but the voice quality is so much better. Discord or Telegram will always hit you with the robot voice sooner or later. This is something I have running in a jail within my TrueNAS server that I'll talk about more later.

As for messaging and way more there is RetroShare https://retroshare.cc/ this is an interesting beast, does way more than I'm really needing but it's something that I'm hoping to slowly introduce at least to my close friends and family into using. A quick fire list of details is chat rooms, email-ish system, forums and a post board in a reddit style voting system. It's decentralized so no need to rely on someones server, it just requires at least two people to connect to one another and you can keep it to as small or as big of a network as you want. Some NAT and UPnP router stuff to make sure it works but as my router has UPnP on mostly auto it worked fine out of the box. There is a list for voice and video in the future but I've got Mumble for voice and video isn't something on my need-to-have list.

As mentioned earlier a lot of this self hosting is done with my server, which runs TrueNAS https://www.truenas.com/ previously known as FreeNAS. Before using TrueNAS I just spun up a Debian box but it was only a file hosting system, doing anything extra like virtualization or running instances was a hassle. I covered quite a few details in report 6 about the file sharing so I'll just cover the other stuff I self host. So currently on my server there are jail instances running for Mumble, Minecraft, a ffmpeg specific jail, Nextcloud, Plex, Syncthing, Zoneminder and Deluge.
It's doing quite a lot of utility for me without having to fuss to much and the WebGUI of TrueNAS makes it easier to quickly see the status of everything going on and still be able to jump into the shell of an jail. Just in case you're unaware a jail is a virtualized instance of the OS, very little overhead and lets you create and destroy them without having to worry about the base OS. This is a function of FreeBSD which TrueNAS runs.

Nextcloud https://nextcloud.com/ is a strange use case for me as I tried to use it as an all in one stop for just about everything. These days however It's simply a WebDAV server for my phone to keep contacts and events, just another tiny detail to make sure Google isn't holding enough of my personal information as is.

Both FFmpeg https://ffmpeg.org/ and Plex https://www.plex.tv/ I use together in a way. I'm not able to do this with everything but I prefer to buy the bluray of whatever movie or series and then take MakeMKV http://www.makemkv.com/ to turn it into something FFmpeg can chew away on the server which is then sent to a directory Plex can read it. Buying the optical media for what you want is more expensive, yes. But I've run into a movie or a series being kicked off of whatever streaming platform just for it to end up in a completely different one and that is simply frustrating, everything is far to fractured with streaming services and I'm not going to pay for all of them. Once you buy a disc, it's there, the bluray won't break down magically one day just for purpray to come out the next day and have to buy it again. I don't watch many shows or movies these days anyway so it's not like it's a huge budget anyway.

Zoneminder https://www.zoneminder.com/ is a CCTV NVR. You'll have to double check what kinds of cameras to buy and the WebGUI is a touch fussy. I'm not sure if it's my server or cameras but it's not quite smooth or easy to use. I'm looking to replace it with something else but currently all the other options are way more expensive or come with severe privacy concerns. For now though it's handy enough to slap some cameras around and have them record.

MineOS https://minecraft.codeemo.com/ I've made a previous post before about this bit of software and glad it's still around.

Deluge https://www.deluge-torrent.org/ While I’m sure the image of anything torrent is tainted with the look of “that’s for pirates” is a stain that will never go away there is plenty of things that still use it. That list is rather exhaustive so won’t clutter it up here.

There are other home server options available, make sure to do research for what you need as that's beyond the scope of this ramble.

Here is a quick fire list of programs I use as well.

mpv https://mpv.io/ A clean video player. I know a lot of people stick to VLC but in both Windows and Linux VLC gave me issues now and then but so far mpv has been flawless. I keep both them installed anyway.

Strawberry music player https://www.strawberrymusicplayer.org/ This is a fork of Clementine, for the most part there isn't anything drastically different. Updated fairly regularly.

FFmpeg Batch AV converter https://ffmpeg-batch.sourceforge.io/ take a beast of a CLI tool and slap a GUI to it. What's nice is that it gives you the CLI output so you don't need to always use the GUI.

Kabuu Audio Converter https://kabuusoft.com/product/detail/2/kabuu-audio-converter a simple audio converter tool, nothing I use regularly but very handy for when it's needed.

Audacity https://www.audacityteam.org/ Audio editing software, good for editing down podcasts or samples of sounds. I've used this bit of software for a super long time.

youtube-dl https://youtube-dl.org/ A super handy utility to download and make back ups of youtube videos, or almost any video on a webpage.

Everything in here is cross platform for the most part. I'll be making another post that is much more narrowed in on Windows specific programs. Along with other nit picky details in setup or usage. If there are changes to this list I'll make update notes at the bottom.

Joplin - https://joplinapp.org/
Focuswriter - https://gottcode.org/focuswriter/
Ghostwriter - https://wereturtle.github.io/ghostwriter/
Simplenote - https://simplenote.com/
novelwriter - https://novelwriter.io/
Syncthing - https://syncthing.net/
FreeFileSync - https://freefilesync.org/
Duplicati - https://www.duplicati.com/
KeePassXC - https://keepassxc.org/
Mumble - https://www.mumble.com/
Retroshare - https://retroshare.cc/
TrueNAS - https://www.truenas.com/
Nextcloud - https://nextcloud.com/
FFmpeg - https://ffmpeg.org/
Plex - https://www.plex.tv/
MakeMKV - http://www.makemkv.com/
Zoneminder - https://www.zoneminder.com/
MineOS - https://minecraft.codeemo.com/
Deluge - https://www.deluge-torrent.org/
mpv - https://mpv.io/
Strawberry music player - https://www.strawberrymusicplayer.org/
FFmpeg Batch AV converter - https://ffmpeg-batch.sourceforge.io/
Kabuu - https://kabuusoft.com/product/detail/2/kabuu-audio-converter
Audacity - https://www.audacityteam.org/
Youtube-dl - https://youtube-dl.org/

Full disclaimer, nothing here is something I was paid to say or link to. These are things I simply find useful in my day to day.

Full Migration from Windows to Linux – Report #5 Long-term Madness

It’s been a while, in fact I had a whole post ready for “1 year on Linux full-time”… Yeah it’s now past 2 years, I dropped the ball on that one and just let it roll under the couch.

I’ve been soaking in as much Linuxy related info as possible in these past 2 years.

https://www.fosshub.com A nice list of software that I looked at a couple times but haven’t really looked at recently.

https://linuxjourney.com A website to help you learn about operating Linux in handy lessons.

https://play.google.com/store/apps/details?id=com.enki.insights is an app on my phone where you do daily questions and challenges related to Linux and/or Bash, this has helped with a lot of nit picky details on navigating around when the desktop freezes/crashes.

https://github.com/zfsonlinux/zfs/wiki/faq I’m using ZFS for my local file server so this was my main jumping platform on what to do or fix.

https://www.pantz.org/software/cron/croninfo.html there was a strange amount of times I had to fiddle with cronjobs

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/index This is when things started getting out of hand…

Alright so why so many links? Well Linux can get pretty deep. And found myself in it's deepest parts, looking and reading at things that I genuinely find interesting but rather than casually filing it away for reference later, I found myself studying quite a lot of it.

I’ve always enjoyed reading technical manuals. When I used to work at a TV station I spent time during lunch reading the manual to the Chyron from front to back twice over. Now it wasn’t in my job description to do anything other than type in names and locations on the lower thirds. This TV station was super scrappy and under staffed so everyone had least 2 jobs. Also I had a really good boss, I’ve proved to him that fixing things is something I’m good at and enjoy quite a bit.

s-l16002.jpg

Other than killing the mini-fridge, screwed that one up real good.

This Chyron is super old and running on an old platter drive that has it’s own spot on the rack; Old, large and slow. Typing on this beast took forever, luckily it had enough memory to queue up all of my key strokes and then be able to walk away and come back 10 real world minutes later to see it just finish.

This was just the terminal input. It had 3 screens and the Chyron itself was on a rack.

This was just the terminal input. It had 3 screens and the Chyron itself was on a rack.

Now for the most part this wasn’t a huge problem but this was a live news broadcast and there was often times when a name, place or correction had to happen on my AUX screen (the display that didn’t show live) and often times the Chyron would take to long to fill in the letters, by the time it was done the next segment was already showing and it was much to late.

So after reading this manual and knowing how platter drives read data faster closer to the center, I completely reformatted the disk uploaded the most important data first. The Chyron even had a function to reserve physical block space depending on what number I FTP to it so I sent super large images towards the middle of the platter.

Now it wasn’t screaming faster but oh boy did it run way smoother than before and I was able to make live on air corrections in time.

Wait, what part of this is about Linux?

My point to this is that I’m aware that once I want to learn everything about something I will typically make it happen. I’m the sort of mad man to take a month of my free time to learn how something works.

However this approach with Linux has really hurt my creative output, there is always something more to discover with the Linux stack, to the point where you could simply scroll through the entire source code to every program running on the very computer you’re using at that point in time.

A good week was spent looking at and figuring out a way to become RHEL certified, why? Just wanted to and maybe something for the future but honestly I wasn’t going to be a sysadmin or even anything close to that.

At that point in time it finally hit me that I’ve been desperately trying to play catch up at a rapid pace. I used to fix up Windows computers and my know-how of Windows was good, where compared to Linux was just next to nothing.

It took some restraint but I took a step back and saw that everything running (RSS feeds, Podcasts, Youtube, Twitter, Ect.) was delivering me something Linux related, be it news or some reference blog. First thing I did was removed the (Five) Telegram rooms that were Linux related (wasn’t even using them anyway!), Telegram is back to just a messaging program with my friends and family. Not going to bog you down with every little program I went through to trim the excess but it was every where to the point of overwhelming distraction.

Which shows, as I haven’t posted much of anything in the entire year of 2017.

Now here is the (maybe) useful part for everyone else; Things I’ve learned.

Discovery

Linux distros are all very similar, as in practically exactly the same, it all comes down to how packages are delivered, what pre-loaded software or extras are included (such as SELinux) and what Desktop Enviroment you like.

Discovering how you like these things is the more time demanding detail than anything else. What I did to try out desktops was just install all the well maintained DE’s, log out, switch to whichever one and give it a whirl for a week or so. They all had something to them that was enjoyable and as someone used to the Windows world I'd recommend MATE or Cinnamon.

GPUs

Nvidia proprietary drivers… Well I could rant on about this forever- short version: Pain in the ass.

If you’re using Ubuntu or a flavor of it, just make your life easy and load in this ppa

ppa:graphics-drivers/ppa

If you use some other distribution find some 3rd party maintained repo to plug in (RPM Fusion for Fedora in example)

Then finally add nomodeset to your grub file, this is just needed anywhere you go no matter what distro.

I think thats the shortest most informative way to installing Nvidia drivers I can get. Manually installing the drivers are there on Nvidia’s site, you can even load in beta ones. I wouldn’t waste time on it unless you had a reason to do so.

As for AMD GPU users I’m afraid I know very little other than from what I’ve heard using the open source drivers these days is fairly smooth sailing if you have a semi-new card.

Software Locations

Be aware the repo that a distribution runs on is not the only place to get software from, there are things like Flatpak, Snap, AppImages, PPAs for Ubuntu based, .run files, tar.gz files or even build from source. I've personally come to dislike it when software is packaged in a DEB or RPM, as a desktop user I don't really see the advantage to doing this. Even had .deb files made for the version of what I was running and had it fail to run.

And now that I’ve learned how to build from source, discovered all the locations for keeping the software I use up to date, how to navigate using the terminal and over saturated my brain with sysadmin commands… It’s time to change just about all of that and stash it away.

Where to now?

For over almost 2 years I’ve stuck to using just Linux Mint, I figured if I stick to one distro there will be less time spent on reinstalling or learning a different layout. That worked for the most part. Everyday normal users I don’t imagine will have the nit picky details I do. There is a lot of software in my day to day, from photography, digital art of 2D and 3D, music production or some other odd ball thing that I just enjoy making. A lot of this stuff is just hobby projects and hardly any of it sees the light of day, or rather the black hole of the internet.

I found myself spending a lot of time looking at what is the best way to keep software up to date whether that be an AppImage, PPA, Flatpak, Snap or tar.gz.

One of the strange obstacles with Linux distributions is either having super bleeding up to date software or something that is months old, even if that distro version just came out.

For the most part I had about 17 or so PPAs loaded in, this isn’t exactly terrible but it did cause problems and even had to go in to directly tell apt-get to download the same library from both the offical repo and the ppa repo then make symlinks so the software I was using could function with it’s new version but keep the rest of the system in line for the other software could run as well. Fun...

Flatpak and Snap programs each have a different home folder. For example the .gimp-2.8 folder was in different places for each one. Little things like this drive me nuts, I understand it’s to keep things from conflicting but I can’t put up with it. Oh and some appimages did this too, just to rub it in.

With all this ranting I can hear it now, ARCH!1!!

I did look at Arch Linux a few times, now I like cutting edge but not bleeding edge. Also with the amount of software I load in, conflicts are just going to happen.
Even considered running on Debian sid, but same thing as Arch, just the newest bleeding edge builds.

Now that I’m reading this over, it wasn’t the agony I’m quite describing above, it’s just lots of little things I was putting up with that rubbed me the wrong way. Was willing to make it work, to put the effort into it. The alternative was Windows 10 or OSX (who am I kidding, only Windows). Just in retrospective thinking about it is really annoying.

Something new that works for me

One late night reading through r/Thinkpad I came across a couple of posts involving the Carbon X1, in each one it was either the poster or in the comments about how Solus Project worked great for their shinny new Thinkpad.

Found myself the next day backing up my laptop home folder and sticking Solus on it to fiddle around. Color me impressed. I’ve heard other people remark on how it’s a great distribution but really, if you look around that is said about every distro. Even Arch <3

Just going to summarize what important bits Solus does for me.

The repo has software that is the newest stable release, this one is a huge for me.

The repo has software loaded in that doesn't have to abide by a guide line of some sort of strict open source license. Along with every single bit of software I use that is open source.

Newest stable Nvidia drivers in the box, it's just there. Also does the nomodeset thing for you.

Steam Linux Integration. It handles a lot of pesky problems with loading in games, such as having it load on the wrong monitor. This just isn't a problem any more. Along with other snags with older unity engine titles, gone.

Lastly

These reports originally were intended to help Windows users that are fed up with the ecosystem Microsoft has been shifting towards. Give that person some perspective about how this Linux stuff works. I'm not entirely sure that I've achieved that here, perhaps this will help someone out there?
Honestly the best advice I can give is, download a Linux distribution, make a bootable USB drive and install it (make a backup of your other drive first). After that just simply use it. Everything I mention above makes it sound like you have to learn so much but that's just how I tick when it comes to new things.

Naturally the question "Which distro?" will come around, so I'll just say it here; Solus Project. It's what I'm currently using.

This past 2 years has been a very dense amount of learning and even burned myself out on it, however overall, I’m still glad I did it.

Now to worry less and enjoy working on more creative projects.

Photography resource for going FOSS in Linux

The following is my opinion and personal use case about lots of different software for photography. What works for me might not work for you. Keep backups of your original RAW photos along with library/catalogs or whatever database you and your software created.

This is a collection of information I wish I knew when switching to alternative software.

Software

If you've used a tool chain of Lightroom and Photoshop together then things are going to get more complicated but very do able once you've dedicated yourself to going all the way.
There are things I wish I knew about switching away from Adobe stuff so I hope the following helps out in preparing your photos/files for the big switch over.

Lets start with Lightroom.

There are quite a few choices and even more if you want simpler tools, but if you're being paid for your work then something more substantial will be required. As I personally only used Darktable that is what I'll be covering, but do know there are other choices!

As for choices there is quite a few, just keep in mind that some of these might only be for Linux distributions and might not have a Windows or macOS release.
Darktable https://darktable.org - What I'll be mainly covering. At the time of writing this up they now have builds for just about any OS of your choice! Windows builds are fairly new at the time of writing this up.
Rawtherapee http://rawtherapee.com - Also a powerful tool much like Darktable/Lightroom.
digiKam https://www.digikam.org - digiKam is a raw photo editor but I find it to be more useful as a photo library browser and metadata editor for large groups of pictures. It's what I use to navigate through my collection of reference pictures for doing art, kinda-sorta along the lines of Adobe Bridge.
Rawstudio https://rawstudio.org - haven't used this one but looks to be a straight forward RAW editor.
Shotwell https://wiki.gnome.org/Apps/Shotwell - If you need something simple and to the point for just cropping/rotate and adjusting exposure then Shotwell works nicely.

Most of these programs should be available in your package manager of choice if you're running Linux. Though I'd recommend grabbing an updated version from one of the following sources: Appimage, Flatpak, Snap package or PPA source if you're Ubuntu based.

Now to the Photoshop related stuff

For me personally I did everything in Lightroom, the few things Photoshop was used for was panoramics and HDR shots. I know other photographers really go all in with editing some of their photos which I'm confident is still possible.

GIMP https://www.gimp.org - This is really the most straight forward alternative to Photoshop you can get. Keep in mind however you'll need to get G'MIC addon and possibly a few others to really fill it out in making it feature complete.

Hugin Panorama Photo Stitcher http://hugin.sourceforge.net - This is what you'll be using to make panoramic shots.

Luminance HDR http://qtpfsgui.sourceforge.net - A fully automated HDR program.

File Formats

Before dropping Adobe all together make sure you prep your library. If you've converted your entire library to DNG, then go and grab the original camera raws. While DNG is technically an 'open' file format it's still non-free and fairly proprietary to adobe (it's just a fancy TIFF anyway), so I hope you saved your originals. Next check your library for converted panoramic and HDR renders from either Lightroom or Photoshop, they will most likely be DNG or PSD, you'll need to convert that over to something universal like a TIFF file as for me Darktable would tell me the DNG file generated from panoramics was unreadable.

Lightroom Library

As for your Lightroom library itself, you won't be able to keep it going forward. I found it good practice to go back with Darktable and redo choice old photos I've already exported out of Lightroom with all the touch ups and get it as close as possible. But if you have way to many photos or don't want to loose what you have so far then go ahead and export your edited photos at full resolution. Just make sure to not apply the watermark to it just in case you want to print it out later for selling/show/hanging-on-the-wall.
This part can be a major pain in the ass but if you're doing new jobs at a relative pace then you'll have new material to work with all the time rather than having time to worry about old ones. Also with time you'll have a chance to refine your skills with the new software.

Next up, how do you sort your photos? Well I hope it's by folders as that's how Darktable really likes to do it.
Alright, thats just the way I like to do it

My photos are sorted by Year then a sub-folder for events in that year, I'd recommend using the Film Roll mode in collected images as the Folders view shows everything in that year recursively from every sub folder, I've yet to find a setting to show only the selected folder but filmroll works in that way to start with.
There still is filtering by camera, lens, ISO, mm and all that good stuff. About my only gripe is that I'm not able to apply star ranking or color label within the darktable tab and only applicable while in the lighttable tab.

More than just Darktable

If you're used to using HDR and Panoramic tools within Photoshop/Lightroom itself then you've got more ground to cover.
You'll need to use Hugin for Panoramics, and Luminance for HDR (Photomatix does offer a Linux client to their software but it's 1.0.2, very old at this point so I wouldn't bother). More on HDR shortly!

Panoramic


Hugin seems complex and manual but it's actually quite automated, there are times when a panoramic I'm trying to pull doesn't just "go" with the first attempt, giving a guide to hugin would eat up a lot of this post so I'd recommend grabbing the latest build from hugins site and fire up a YouTube search.
Bonus use! If you do artwork that doesn't fit on your scanner Hugin comes in handy to stitch scanned artwork together and I've never had to fuss with it, gets it perfect every time.

HDR

I did make mention of LuminanceHDR but personally if you want an HDR that looks super clean and not the hyper crazy psychedelic look some HDR photos have you'll want to make it by hand! However if you dig that look in your photos then I'm sure Luminance will get you there!

I'll admit for the longest time I've only used automated software to make HDR images and with my HDR software choices being limited with the move to penguin land I actually stopped making them for a while.
Now the following is completely obtainable in Photoshop, just on my end I never put in the effort to try it by hand as the automated process was "good enough". With that said

Here are some examples of what I mean. The first one is an HDR merge from Photoshop that I took my time making. Second image is from LuminanceHDR and finally the third one is done by hand in GIMP.

By no means is this a pure example of "see this is better than everything ever", but more of a realistic example that automation can't really give you everything. Actually going in and doing a nice clean realistic HDR by hand gave me an image I was much happier with. The sky isn't a blurry mess and the colors are more proper and accurate and there is depth in places I felt were washed out. By no means is this perfect but much happier with the result!

If you're used to the easy click next button thing Lightroom provides Hugin and Luminance will be a bit of a shock in learning curve as the tools give you options and control over everything. While before even if you didn't fully grasp how an HDR image worked or what problems barrel distortion does when making a panoramic, you'd be able to click a few buttons and it would do it for you, and for the most part the fully auto did quite well. With these bits of software you'll need to know a bit further going in. Then there is learning the GUI and layout of tools, which keep in mind all of this software is made by small teams of mostly programmers and programmers are not UI designers, where as Adobe most likely has a team just for that.

Film & Color Filters

Now that I've scared everyone off lets get even more interesting! With Lightroom you'd be able to shove in a bunch of plugins or some really fancy film emulation stuff (like VSCO). For the most part if you just need some split-toning done it's built into Darktable, but if you want something fancy such as film emulation there are some steps.
First off install gimp from your repo, then also install G'MIC ( gimp-gmic in Ubuntu repos)
For other Operating Systems or just a more up to date one for Linux, just grab the G'MIC plugin from here.
When you load up a photo into GIMP, go into Filters then at the bottom G'MIC should be there, with this new window go into Film Emulation and just start clicking away. One of my personal favorites is Instant[pro] -> Polaroid 690-.

Watermarks

There is a feature of Darktable that I feel is underlooked. The watermarking.
In Darktable you can build a SVG vector file with text variables to define what you want on the watermark, and every time you export a photo it will apply whatever metadata you want on it.
Here is an example of what my SVG file looks like (added red so you can see it)

This SVG is a simple vector, a grey shadow box with a beveled edge to match my business cards along with the same font, and my website clearly at the bottom. Now there is some nonsense at the top. What that text is telling Darktable is to grab the camera model name from the EXIF (metadata) from the image and replace the $(EXIF.MODEL) with the name. The $(IMAGE.EXIF) grabs the basic information about the photo, shutter speed, aperture, focal length and ISO.
Now every time you export a photo with Darktable and have the watermark module enabled, it will print this out.

Now if you want to edit a pre-made SVG and you've installed Darktable from your local repository of software then the built-in SVGs should be located in /usr/share/darktable/watermarks
Copy the SVG to /home/username/.config/darktable/watermarks
I would advise you don't edit the SVGs in the /usr/share area as you'd need root permissions to edit it and you just shouldn't.
Here is the link again if you want the variable names the watermark SVG.

Photoshop hotkeys...

Finally I'd like to make note of Photoshop itself, personally I've been using it less and less with my photos as Lightroom gave me pretty much everything I ever needed and I never did massive touch up's on photos. However GIMP does have good healing and fill aware tools for such things. Also if you're used to the single window of PS you'll go nuts with the multiwindow GIMP starts with by default, go to Windows -> Single Window Mode to feel more at home.
All of the hotkeys can be thrown right out as GIMP for the most part uses different keys for just about everything. There are themes and hotkey replacements to make GIMP act more along the lines of Photoshop.
As someone who tried to do it, just don't.
It's not worth it as a lot of the times the tools you're expecting for one thing don't operate quite the same. If you hit a hotkey you know does something in Photoshop but not in GIMP it's actually kind of frustrating. Do yourself the favor and start from scratch on this one, I wasted a lot of hours on doing just that.
It will also make like easier in the long run with looking up guides/tutorials and they throw default hotkeys and now you've got to figure out what the Photoshop version is.
Last thing to keep in mind, GIMP does NOT have a shape tool (though it does have a pen tool), there isn't any layer styles, so things like drop shadows, bevels and stroke are now in places like Edit->Stroke Selection & Filters->Lights and Shadows->Drop Shadow. For the most part you'll find these functions as filters.

Closing Details

Hopefully the above information is helpful to you or at least interesting.
There are plenty of other places to find out about photography using open source software. Here are some extra links:

PIXLS.US List of Software - https://pixls.us/software
PIXLS.US - https://pixls.us
FOSSPhotography subreddit - https://www.reddit.com/r/FOSSPhotography