Ask HN: What are your favorite Linux applications?

70 points by manaskarekar ↗ HN
Inspired by the thread about Mac OS, I'm curious what are some really well done applications for linux.

I know there will be a ton of CLI apps/tools, which are welcome, but I would love to hear some really nicely done GUI applications as well.

Sublime Text, Sublime Merge, ripgrep come to mind.

51 comments

[ 5.7 ms ] story [ 116 ms ] thread
OS: Debian 10 + XFCE

Terminal: highly-customized Terminator bound to F1 + XFCE Terminal for "floating" instances

Text/Programming: Sublime Text, Intelij IDE, nano (yeah yeah bring your hate vim users - I know it well and I'm not a fan), Meld

Markdown/docs: Typora (TRY THIS OUT IT'S AMAZING.)

Browsing: Chrome, Chromium, FF, Brave (in that order); Postman for API work, Charles Proxy for reverse-engineering work

Communication: Hangups (CLI), Discord

Containers/Virtualization: Docker, VMWare Workstation (I run a full Win10 LTSB underneath with all quick-access to my Adobe Creative Suite, saves time not having to switch to the MBP)

Transfer: Qbittorrent, Filezilla

Misc: Remmina for RDP, Kazam for screen recording, pgAdmin4 for working with my Postgres DBs, ncspot (CLI) for Spotify client; KeePass2 for password management in a file-based DB; GParted for partitioning

Ninja edit: Sublime Merge looks amazing... I will be trying this out ASAP.

I’ve been using Typora for about three years. One of my favorite pieces of software for sure.
I prefer Mark Text because is powerful and free as in freedom :)
Haha, I get puzzled faces when I use nano too, but to quickly edit a file, it's actually less keystrokes than VIM. It's just not as l33T.
Huh. I've never run into a 'Linux app' that couldn't be authenticated at install-time. Different.
As an open-source alternative to typora I can suggest Marktext https://github.com/marktext/marktext which I believe is on par with typora features. Don't be alarmed by the fact that it's electron, it's pretty fast either way. And as far as I know typora is electron based too.
Try out Dbeaver instead of pgAdmin for database administration. It's a much, much better tool.
For all cli apps, the importance of cli itself can't be understated. While there are only a few cli programs available to ALL unix users (grep/ps/awk/sed/xargs/etc), the value of the pipe are one of the defining features of CLI that amplify any program made to work in CLI.

A command I often run: `ps aex | grep $common_denominator | awk '{print $1}' | xargs kill` to deal with multiprocess testing runs demonstrate this well. The pipe character is what uniquely enabled unix shells to be the great software it is that GUI have almost no real way to replicate.

As Awk is a pattern-matching language, you can simplify it to something like this:

  ps aux |awk '/what/ {print "kill " $2}'
This will give you a list of kill commands you can review, before piping to |sh to shake off those processes :)

And when what you try to do sequentially might take too long, you can consider throwing GNU Parallel [1] in the pipemix!

[1] https://en.wikipedia.org/wiki/GNU_parallel

> ps aex | grep $common_denominator | awk '{print $1}' | xargs kill

That looks pretty equivalent to:

  pkill -f $common_denominator
I suppose this is less portable, though.
Blender 2.8 is a work of art. ffmpeg is terrific. Pretty happy with cinnamon desktop.
If I had to choose one application as my favorite, it'd have to be xbill. I can't explain why. And I'm not sure I'd want to.
I think packages management tools, like apt, dpkg, yum, dnf, are pretty useful.
Clipboard Manager: copyq

Also for Windows and Mac. Gives you great sanity for all the clipboards, clipboard history. Fuzzy search in clipboard history

Has a GUI and CLI

Some of my favorites already spoken for: but +1 for SublimeText with SublimeMerge and Typora. Also cannot do without SecureCRT and SecureFX
I have used emacs since before Linux and window systems existed. Emacs is a small windows manager like it is nearly everything else. Nowadays I only use a tiny fraction of its functionality, because I do run a window manager and a web browser. Still emacs is one of the first programs I install on every system. On embedded systems where emacs is not feasible I try to get remote editing via TRAMP https://www.emacswiki.org/emacs/TrampMode working.
Does TRAMP mode offer any advantages to sshfs?
- 1 less step (just open the remote file directly, rather than running "sshfs" and then opening the file)

- If you execute shell commands from emacs -- these will be executed on the remote machine when editing thru tramp

- Tramp is not limited to ssh, but also allows emacs to access files in docker containers, as different users (e.g. root), in S3/GDrive/etc via the rclone backend, etc.

Text based diff is fine for basic use cases. When the results are too confusing to grasp what really has changed or I want 3-way diff meld can do wonders. Unfortunately it does not scale well and chokes on huge files (like Yocto build logs). Sometimes I use kdiff3. Wasn't there a 3rd one? Obviously I haven't used it for a long time, because I can't remeber it now.
Krita and Kdenlive are both great.
Trying to name some more obscure ones that I love.

Tizonia is a CLI music player that can play music from your Google Music library. I like it bc I don't have to use a browser.

Pianobar is a CLI client for Pandora, but I can run this on a Mac too so not sure if it counts. Same no browser required benefit.

I love CLI music players bc they help you extend battery life vs browser based.

Gpaste is a clipboard manager. It even stores images copied to the clipboard.

Not sure if it counts but when I do a rectangle select screenshot in Ubuntu, it puts it in the clipboard (instead of putting a file on the desktop like Mac does) and then I can just paste it in the Jira ticket / GitHub pull request / Slack / etc.

Probably a bit more that deserve mention that I am not considering right now.

Image output destination is configurable on Mac. Cmd + Shift + 5, then it's under options in the bar. I don't recall all the options but it's at least file/clipboard.
⌘⇧5 (CMD + Shift + 5) doesn't do anything on my macOS 10.13.6 system, ⌘⇧⌃4 (CMD + Shift + Ctrl + 4) is the default shortcut to take a rectangle screenshot and store it in the clipboard.
⌘⇧5 was introduced back in 10.14.0 Mojave.
Taking a rectangle select screenshot using ⌘⇧⌃4 (CMD + Shift + Ctrl + 4) will put the screenshot in your clipboard on macOS
Docker runs native. You get instant file sync.

On Mac my options are dinghy or docker-sync, both of which drive me insane by either being too slow (former) or not syncing files fast enough or good enough (latter).

This is probably the number one reason that I love Linux for development these days.

bat (just a better cat)

nl

pigz

parallel

bc

paste

ministat

httpie

nc

GUI: stellarium, conky

There are definitely more. These are what I could remember now.

calibre is a great app for reading EPUB, PDF, etc
Apps from KDE are great. Dolphin is awesome.
Freecad and Meshlab for 3D editing. KeepassXC for password management. Gnome Shell extensions: - KdeConnect (phone sync/remote access) - Argos (script based utilities for top bar)
The only 3 GUI applications I use regularly are Emacs, Firefox and XTerm (which, like Emacs, has amazingly low latency). All via a tiling window manager (StumpWM).

I also use Signal Desktop, which is a rather plain Electron app.

For some imaging tasks, GIMP and Inkscape are great. GIMP gave birth to GTK, one of the two major Linux GUI toolkits.

Since the desktop ecosystem is very fragmented, I don't think there are any great GUI applications in Linux. On Macs, things are declining now too. A lot of the GUI innovation is happening on mobile.

In Linux, niceties come from CLI and whole OS, like Nix.