One of the most widely used system administration tools on Linux is the humble rsync, a command that's brilliant at replicating the contents of a directory, usually across a network, to a different location. What makes rsync so effective and better than a normal copy is that it can do this with certainty, thanks to hashing. rsync can do this by only copying the differences between an older version of a file and a newer version of a file that already exists at the destination. But what rsync isn't very good at is bidirectional synchronization. This is a common requirement when you're working on the contents of a synchronized directory in more than one location, such as the same project on both PC and laptop, or at home and at work. Unison has been solving this particular problem perfectly for more than 10 years.

Unison is like rsync for bidirectional synchronization. At its simplest, you can execute the unison command followed by the two locations where you wish to sync the contents. Remote directories are accessed over a direct socket or using SSH with your local SSH configuration for passwordless connections. Synchronization works best when both locations start out empty, avoiding what can be a lengthy analysis stage. After a short period of consolidation, you can begin to create files in either location to be duplicated in the other. With the Unison daemon running in the background, the two locations will remain in sync, with updates copied from both sides whenever their respective directories change. If the same file has changes at the same time on both sides and a conflict is detected, you're asked which file should take precedence, just as you might when using git. There's even a rather ancient GTK-based GUI, if you'd rather not use the command line. This allows you to easily see the status of your shared directories and also better navigate conflicts by visualizing changes and manually merging differences.

Project Website

Unison can work transparently in the background, on the command line, and via a simple but effective GUI.

Spotify client


Despite the negative commentary that the official Spotify client seems to attract, it's generally a solid piece of software. It mimics the user interface of its Windows and macOS cousins. While it always lags behind Windows and macOS in new features, Spotify does allow you to explore and play your Spotify music subscription from the Linux desktop. However, the Spotify project also seldom responds to comments or feature requests, in addition to being in a perpetual state of beta development. Oh, and Spotify is not open source. This is why third-party unofficial clients are so exciting. They're able to capitalize on Spotify's lack of official development and responsiveness to create clients that better integrate with your desktop, run from the command line, or use fewer system resources because there are now a few of those resources. Using fewer system resources drives Psst development, which has resulted in a rather brilliant and low-resource graphical client that proudly boasts its speed comes "without Electron."

Psst has been developed using Rust and uses its own user interface library. On Linux, the library can use either a GTK or pure X11 back end (with Wayland under development), keeping the entire package very minimal and dependency free. The same is true of the GUI itself, which has none of the decoration you might be used to on Gnome or KDE. The window has no ornamentation and contains only the same four sections of the UI you see in the original client. There's a search pane on the left, complete with quick links to your playlists. On the right is the area used to explore new music and your own collection, while under that is the playback section with transport controls, details on the current track, and timing information. Finally, volume control is to the left. The application is still under rapid development, and there are many features missing – especially if you need to modify a playlist. Anything missing can of course be done through another client, leaving Psst to do what it's good at – low resource playback.

Project Website

Avoid Spotify podcasts by using an unofficial third-party client such as Psst.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Free Software Projects

    DJs don’t need expensive decks now that Mixxx offers a competitive computer-based alternative. The Liquidsoap programming language provides a fully automated approach to generating flexible streams.

  • Anki

    Anki brings a virtual flash card box to the desktop. Thanks to a useful collection of add-ons, you can adapt Anki to suit your needs, making it one of the most efficient learning tools.

  • Steam Deck Linux-Powered Gaming System Set to Take Over the Handheld World

    A Linux and KDE-powered portable gaming platform is set to be released by Valve.

  • FOSSPicks

    Graham looks at Gimp 2.10, Font Finder, Mixxx 2.1, SoundStage VR, VVave, and more!

  • FOSSPicks

    This month Graham looks at Ardour, FluffyChat, PlugData, Cameractrls, hiSHtory, CadQuery Editor, and more!

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More