Some may prefer other ways of playing local videos on Chromecast, including using a command line tool such as stream2chromecast, pulseaudio-dlna to play music from a computer to a Chromecast, as well as the VideoStream Chromecast extension (which I hear is unreliable lately).
Plex is, however, the complete solution for all local media streaming to Chromecast needs, and is fairly easy to set up, despite my long article.
It can be used to stream local videos (and can transcode videos not supported by Chromecast), music, and photos, both in your local network as well as remotely, e.g. to a hotel or a friend's house.
Furthermore, Plex Media Server is cross-platform, so it can be installed on an a Linux, FreeBSD, Windows or Mac computer, as well as on NAS.
I should also mention that while Plex is freemium, using it to cast local media to a Chromecast doesn't require any paid features, for either Plex Media Server, or the mobile applications.
Plex can be used with a lot of players, like smart TV and game console apps, it's DLNA compliant, etc., but I focus on using it with a Chromecast.
This article includes an short introduction to Plex for those who are not familiar with it, installing and running Plex for the first time, some configuration tips and using Plex with a Chromecast (from a desktop, by using the Plex web app, or from an Android or iOS device, by using the Plex mobile app, which can be used to cast, as well as a remote).
Quick Plex introduction
Plex is a freemium client-server media player which consists on two components.
The first is the server component, Plex Media Server, which needs to be installed on a Computer (running Linux, Mac, Windows, FreeBDS) or a NAS, and is used to index, organize, stream the the local content, and optionally transcode it.
The second component is the player, used to stream the content from the Plex Media Server on other devices. There are Plex applications available for mobile devices, smart TVs, and more, as well as a web UI which comes by default with Plex Media Server.
I should also note that Plex Home Theater, a GUI desktop player for Plex, was discontinued. There's another desktop app, called Plex Media Player, which uses mpv under the hood, but sadly, there are no Linux binaries and building it from source requires quite a bit of work.
One such player is the Plex mobile app (available for Android and iOS), which can be used to play media from your Plex Media Server on your mobile device (but this feature is not free), or to cast to a Chromecast device (feature which is free) and control the playback.
If you're interested in what are the limitation / free functionality of the Android and iOS apps, visit the following links:
I won't get into details about all the features supported by Plex here. Instead, see its features page - make sure to also check out the free vs premium feature list. Don't worry though, pretty much any feature you'd need for using Plex with a Chromecast is available for free.
I do have to mention that one of the most important Plex features, which is its addons support. Plex addons are called "channels", and include video websites, news apps, and much more.
There are both official and third-party Plex channels. There are even unofficial channels that allow streaming Torrents, similar to the famous PopcornTime app (some may be illegal in your country!).
You can read more about Plex channels HERE.
I also want to mention a couple of features that are pretty important for using Plex to stream local content to a Chromecast.
One such feature is the ability to transcode videos that aren't supported by Chromecast. This is very important because by default, Chromecast devices have limited media support.
Another important feature, at least for non-native English speakers, is subtitles support. Plex not only supports local subtitles, but it can also automatically download subtitles from OpenSubtitles. Furthermore, it can even download subtitles for multiple languages.
Download / install Plex Media Server (and mobile apps)
Before proceeding, it's important to mention that Plex has a couple of requirements.
The first is that you'll need to create a Plex account (free).
And the second, which is pretty important, is that Plex Media Server needs to run on a decent PC for transcoding (Intel Core i3 or fast is listed as a minimum requirement). Without transcoding, some videos won't be playable on your Chromecast.
That said, let's proceed.
1. Create a free Plex account
2. Download Plex Plex Media Server (for your computer / NAS)
The Plex downloads page offers binaries for Linux, Windows, Mac, NAS, as well as Linux (Ubuntu, Fedora, CentOS), and it's very easy to install.
I do have a note there though. If you use Ubuntu, you can add the Plex official repository, which is useful to get automatic updates without having to download the packages manually. To add the Plex Ubuntu repository, use the following commands:echo "deb https://downloads.plex.tv/repo/deb/ public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
wget https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -
sudo apt update
Optionally, you can skip downloading the Plex Media Center binary manually and simply install it from the newly added repository:sudo apt install plexmediaserver
There's also a CentOS and Fedora repository which you'll find HERE.
3. (Optional) Download the Plex Android or iOS app
Running Plex and some optional configuration tips
Plex can pretty much be used immediately after setting up your local library, but there are a few things to note.
Once installed, Plex should start automatically on Linux (start it from the menu on Windows). To access the Plex hosted web app, visit https://plex.tv/web and using your Plex account login.
You can also launch the local Plex web app, by visiting http://localhost:32400/web in a web browser. This is useful for managing the server without an Internet connection.
An Internet connection is required to stream from Plex to a Chromecast device though - in fact, Chromecast doesn't work without an Internet connection anyway.
The first time you visit this URL, you'll need to complete the initial setup, which asks you to enter a name to your new Plex server, enable or disable an option to allow accessing your Plex Media Server remotely, and add your media library.
Here are a few server settings I recommend changing after completing the initial setup:
1. Enable library auto-updating.
By default, the library is not updated when new files are added. I suggest you change this. Go to Settings > Server > Library and enable "Update my library automatically" and "Run a partial scan when changes are detected":
On Linux, you'll also see an option to include music libraries in automatic updates (you need to click "Show Advanced" in the top right-hand side to access this option), but that may cause issues if you have a large music library.
2. Enable subtitles.
To enable automatic subtitle downloading from opensubtitles.org, head to Settings > Server > Agents and:
- for Movies, click on the "Movies" tab. Then on the the "Plex Movie" or "The Movie Database" sub-tabs (yes, that's a bit confusing) - depending which one you choose for your collection (or you can just do this for both) -, check the box next to "OpenSubtitles.org:
- for TV shows, click on the "Shows" tab, then on the "TheTVDB" or "The Movie Database" subtabs (or both), and enable "OpenSubtitles.org":
You may also want to configure the OpenSubtitles.org agent - to do this, click on the gear icon on the right. This allows logging in to your OpenSubtitles.org account and selecting the subtitle language. It even allows selecting multiple languages:
For local subtitles, in the same places (Movies/Shows tabs), enable "Local Media Assets":
To set the preferred subtitle language and mode, see the Settings > Server > Languages page:
For more subtitle options, including extra subtitle providers, I recommend the Sub-Zero Plex addon (available in the Official Plex Channel Directory).
For changing subtitles automatically to UTF-8, so they are displayed properly on Plex, you may want to check out the SRT2UTF-8 addon (unofficial).
3. Transcoding configuration.
By default, Plex transcodes only media that's not supported by the device that tries to play it. That should be ok for most users, but depending on your computer, you can change this to prefer higher speed encoding, higher quality encoding, along with an option to "make my CPU hurt".
These options are available in the Server settings, under "Transcoder":
Using Plex (web app / mobile app) to stream to a Chromecast
To cast from a browser / desktop, you'll need Google Chrome (the Cast extension is no longer required, and it has been discontinued).
Note that the Plex Web App streams content directly to the Chromecast (to the Plex Chromecast app). It does not cast the tab! That means you can even close the web browser after starting casting, and Plex will continue to cast.
To cast from Google Chrome, you need to click on the Plex cast icon (not the browser cast icon!), select "Cast...", then select your Chromecast device:
That's it. You can now simply click on some video, or other media, and it should be streamed to your Chromecast:
Streaming from Android or iOS is the same as for any other mobile application with Chromecast support. Simply click the Cast icon and select the Chromecast:
Sometimes the Plex Android app doesn't find any Chromecast device for me, but that's solved by clicking on the refresh icon from the Cast menu.
What's important to mention here is that if you started casting from your desktop, using Google Chrome, you can then control the playback using the Plex mobile application. The other way around works as well.
For more about using Plex, check out its documentation.
[Quick Update] Rclone is now available as a snap package, making it easy to install and update on a wide range of Linux distributions which support Snaps, like Ubuntu, Debian, Fedora, Gentoo, Arch Linux, openSUSe and more.
Rclone is a command line tool for synchronizing files and folders to multiple cloud storages (either from your machine or from one cloud storage to another). It supports Dropbox, Google Drive, Amazon S3, Amazon Drive, Microsoft One Drive, Yandex Disk, and more.
For more information about Rclone, as well as a GUI for it, see the following articles:
- Rclone Synchronizes Files Between Multiple Cloud Storage Services (Command Line)
- RcloneBrowser (Rclone GUI) Lets You Manage Multiple Cloud Storage Services From A Single Desktop App
To install the Rclone stable snap package, use the following command:sudo snap install rclone --classic
(A development version is also available, if you want to install it, use "rclone-dev" instead)
This should install the Rclone binary under /snap/bin/. The "--classic" argument is used because it puts the snap in classic mode and disables the security confinement. This is required for Rclone to work, or else it won't be able to access some user files.
Later on, if you want to update the Rclone snap, use:
sudo snap refresh rclone
You can update all the installed snaps using:
sudo snap refresh
For the "snap" command to work, you need the "snapd" package. This should be installed by default in recent Ubuntu versions, like 16.04 and 16.10 or 17.04. For Ubuntu 14.04, you can install it from the repositories:sudo apt install snapd
For other Linux distributions, installing snapd is detailed on the Rclone installation page @ GitHub.
Here's the snap info:$ snap info rclone
summary: "\"rsync for cloud storage\" "
"rsync for cloud storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze
B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files
installed: 1.35 (55) 5MB -
refreshed: 2017-02-15 22:00:31 +0200 EET
stable: current (60) 4MB -
candidate: current (60) 4MB -
beta: current (60) 4MB -
edge: current (60) 4MB -
The problem with TopMenu is that it only partially supports GTK3, it doesn't support LibreOffice, and with Ubuntu 16.04, it doesn't support Qt (4 or 5) applications.
Here's where Vala Panel AppMenu comes in.
Vala Panel AppMenu is a global menu panel applet for Xfce, MATE and Vala panels, which uses unity-gtk-module as its backend, and it works with all the applications supported by Unity's AppMenu.
As a result, Vala Panel AppMenu provides global menu support for GTK2, GTK3, Qt4 and Qt5 applications, as well as applications like Firefox, Thunderbird, Google Chrome / Chromium, and LibreOffice.
For MATE, Vala Panel AppMenu requires MATE Panel built with GTK3 (so for Ubuntu, it requires Ubuntu MATE 16.10 and newer). Its README also mentions that to build Vala Panel AppMenu, you'll need GTK 3.12 or newer, GLib 2.40 or newer, valac 0.24 or newer and libbamf 0.5.0 or newer.
Here's Vala Panel AppMenu in action with Chromium, Firefox, Gedit (GTK3), LibreOffice, VLC (Qt5), and Thunar (GTK2):
Here's an Ubuntu MATE 16.10 screenshot as well:
Vala Panel AppMenu is not perfect though, and I did encounter a few issues in my test:
- when no window is focused / the desktop is empty, a menu containing "Desktop" and "Files" is displayed by the Vala AppMenu applet. These menu items don't work, at least in Ubuntu, and using them can cause the Xfce / MATE panel to crash;
- Qt5 supports the AppMenu feature by default, without using any additional packages (I'm not sure which version introduced this feature), however, there's a bug with this and Vala AppMenu which causes the global menu for Qt5 applications to be displayed for a few seconds after the app is closed. This doesn't occur if the appmenu-qt5 package is installed though;
- MATE only: GTK2 applications have the menu displayed on both the panel and in the application window. If someone can find a way to solve this, please let us know in the comments!;
- MATE only: there's no easy way of moving the applet to the desired position, but it can be done using Dconf Editor;
- there's no way of changing the global menu font color, and that can be problematic with some themes. For example, the menu font is dark on a dark panel background using the default Xubuntu 16.04 theme (Greybird). This doesn't occur with Numix GTK theme (which is installed by default in Xubuntu) or Greybird in Xubuntu 16.10.
You may also want to check out the Vala Panel AppMenu issues page on GitHub.
Install and set up Vala AppMenu in Ubuntu (MATE/Xubuntu) or Linux Mint (Xfce) via PPA
If you don't use Ubuntu or Linux Mint, you can grab the Vala Panel AppMenu source from GitHub.
Arch Linux users can install Vala Panel AppMenu via AUR.
For Ubuntu or Linux Mint, see the instructions below.
1. Install Vala AppMenu.
Vala AppMenu is available in the WebUpd8 MATE and Xfce PPA.
For Ubuntu MATE, the plugin is only available for Ubuntu 16.10, because it requires MATE Panel built with GTK3, and that is only the case for Ubuntu 16.10 and newer.
For Xfce, the Vala AppMenu plugin is available for Xubuntu 16.10 and 16.04, as well as Linux Mint Xfce 18.x.
To add the WebUpd8 MATE and Xfce PPA and update the software sources, use the following commands:sudo add-apt-repository ppa:webupd8team/mate
sudo apt update
Then, install the Vala AppMenu plugin / applet:
- for Xfce (Xubuntu 16.10, 16.04 / Linux Mint Xfce 18.x):
sudo apt install xfce4-vala-appmenu-plugin unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
- for MATE (Ubuntu MATE 16.10):
sudo apt install mate-applet-vala-appmenu unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
2. Disable the menu from being displayed in application windows (so it's only displayed on the panel; without this, you'll get double menus, in both the panel and application windows).
2.A. for Xfce, simply run the command below:
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true
2.B. for MATE, you'll need to edit the ~/.config/gtk-3.0/settings.ini file (if this file doesn't exist, create it) and in this file, add the following under "[Settings]":
gtk-shell-shows-menubar=trueHere are step by step instructions for doing this. Firstly, create the ~/.config/gtk-3.0/ folder in case it doesn't exist, by using the following command:
mkdir -p ~/.config/gtk-3.0/Then open ~/.config/gtk-3.0/settings.ini with Pluma text editor:
pluma ~/.config/gtk-3.0/settings.iniIf this file has a "[Settings]" section, paste under it the following:
gtk-shell-shows-menubar=trueIf the file is empty, paste the following in this file:
gtk-shell-shows-menubar=true... and save the file.
Unfortunately, for MATE, this will not disable the menu from being displayed in app windows for GTK2 (I mentioned this in the issues section above).
3. Restart the session (logout, then log back in).
4. Add the Vala AppMenu applet to the panel (and how to change its position on the MATE panel).
4.A. For Xfce, right click the panel on which you want to add Vala AppMenu to, and select Panel > Panel Preferences (I prefer this to directly adding the applet to the panel, because it also allows moving it to the desired position), and on the Items tab, click "+" and add "AppMenu Plugin" to the panel:
You can move Vala AppMenu to the desired position on the panel via the Items tab from the Xfce4 Panel Preferences.
If you have TopMenu installed, make sure you don't mix the two!
4.B. For MATE, right click the panel, select "Add to panel", then search for "Global Application Menu" and click "Add":
Unfortunately there's no easy way of moving the applet to the desired position on the panel. That's because the Vala Panel AppMenu responds in the same way to both left and right click, and there's no area to access its context menu.
To change the global menu position on the MATE panel, you'll need Dconf Editor, which can be installed using the following command:sudo apt install dconf-editor
Next, launch Dconf Editor, navigate to org > mate > panel > objects and in the "objects" tree, you should see some items called "object-1", "object-2" and so on. Start from the last object and see which has the "applet-iid" value set to "AppMenuAppletFactory:AppMenuApplet".
Note: you may have multiple applets ("object-1", "object-2", etc.) with the "applet-iid" value of "AppMenuApplet..." - in that case you'll need to change the settings for the last one (the higher number).
The "position" value represents the number of pixels between the left-hand side of the panel and the applet position. So once you find the right applet, change its position value to suit your needs (try to approximate it, if the other applets are locked, a lower value than the actual position will work in some cases).
In my case, I have a menu, a Firefox launcher, and a separator and I want to move the global menu next to them, so I set the "position" value to "100":
After you change the position, you'll need to restart the MATE panel to apply the changes (or logout/login). To do this, open a terminal and type:mate-panel --replace &
5. Optional: enable Vala Appmenu (global menu) for Firefox and Thunderbird.
By default, Vala AppMenu will only display the Thunderbird and Firefox Unity actions (quicklists) on the panel. To enable the full Firefox and Thunderbird menu on the panel, you must launch Firefox and Thunderbird with "UBUNTU_MENUPROXY=0".
You can do this automatically (by copying the Firefox and Thunderbird .desktop files from /usr/share/applications to ~/.local/share/applications/ so they are not overwritten when they receive updates, and modify the .desktop files there) for both Firefox and Thunderbird, by using the commands below:
mkdir -p ~/.local/share/applications/
cp /usr/share/applications/firefox.desktop ~/.local/share/applications/
sed -i 's/^Exec=/Exec=env UBUNTU_MENUPROXY=0 firefox %u/' ~/.local/share/applications/firefox.desktop
cp /usr/share/applications/thunderbird.desktop ~/.local/share/applications/
sed -i 's/^Exec=/Exec=env UBUNTU_MENUPROXY=0 thunderbird %u/' ~/.local/share/applications/thunderbird.desktop
Undo the changes
Below you'll find the exact steps required to undo the changes made by following the instructions mentioned above.
1. Remove Vala AppMenu:
sudo apt purge xfce4-vala-appmenu-plugin mate-applet-vala-appmenu
If you are sure (Important! don't remove these packages if you also use Unity) that the Unity GTK module and AppMenu packages are not used by any other packages on your system, also purge them by using the following command:
sudo apt purge unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
2. Undo the MATE/Xfce menu disable settings
2.A. For Xfce, use the following commands:
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s false
xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s false
2.B. For MATE, open ~/.config/gtk-3.0/settings.ini with a text editor - the command below uses Pluma to open this file:
pluma ~/.config/gtk-3.0/settings.iniAnd from this file, remove the following two lines:
gtk-shell-shows-menubar=trueIf this file was created by following the instructions in this article (was empty or it didn't exist before), you can simply remove it by using the following command:
3. Restart the session (logout, then log back in)
4. If you applied the optional Thunderbird and Firefox tweaks mentioned above, you can undo this step by simply removing their .desktop files from ~/.local/share/applications/. To do this from a terminal, use the following commands:
Thanks to WebUupd8 reader omg2090 for the tip and information (check out his comment for how to build this from source and an extra tweak).
- change the background based on the current weather conditions;
- optionally change the background based on the time of day. This supports 4 variations: day/night, day/evening/night and morning/day/evening/night;
- supports most Linux desktop environments, including Cinnamon, GNOME, Unity, Xfce, LXDE, LXQt, Pantheon, MATE, and more;
- automatically detects your current city using ipinfo.io. In case this fails or you simply want to use a different city, you can manually specify the city as a command line argument
- you can specify the image format, update interval, and more.
KDE Plasma 5 is not listed as supported on the WeatherDesk GitHub page, but looking at the code it appears that it might work. If you test WeatherDesk with Plasma 5, let us know if it works in the comments!
The tool requires a set of images named according to some naming rules, so don't expect it to alter your current desktop background or anything like that.
While WeatherDesk doesn't come with a built-in wallpaper set, its GitHub page points to a premade set, called FireWatch, available HERE (here's how it looks), which I'll use in the instructions below.
The FireWatch wallpaper set doesn't seem to differentiate between cloudy, normal and windy weather, but you can further tweak it yourself if you want it to be more accurate and your GIMP / Photoshop skills allow it. The set does include proper images for rain, snow, and thunder.
Installing and using WeatherDesk
1. Download / install WeatherDesk
WeatherDesk is available as two simple Python3 scripts that can run from the directory you download them to. You can grab the code from GitHub or simply click here to download the latest code from Git as .tar.gz.
To simplify things, you can use the commands below to download the latest WeatherDesk code from Git, install WeatherDesk in /opt/ and create a symbolic link to its executable in /usr/local/bin/:sudo apt install wget #in case it's not already installed
wget https://github.com/bharadwaj-raju/WeatherDesk/archive/master.tar.gz -O /tmp/weatherdesk.tar.gz
tar -xvf /tmp/weatherdesk.tar.gz -C /tmp/
sudo mkdir /opt/weatherdesk
sudo cp /tmp/WeatherDesk-master/*.py /opt/weatherdesk/
sudo chmod +x /opt/weatherdesk/WeatherDesk.py
sudo ln -s /opt/weatherdesk/WeatherDesk.py /usr/local/bin/weatherdesk
After this, you can simply use "weatherdesk" in a terminal to run the tool.
2. Download the FireWatch WeatherDesk wallpaper pack
But wait, we're not done yet! That's because you'll also need some wallpapers to change based on current weather conditions and the time of day.
The wallpapers must be named according to some naming rules and placed in the ~/.weatherdesk_walls/ folder for WeatherDesk to pick them up. To make this easy, the WeatherDesk GitHub page points to a pack called FireWatch, which already contains images named according to the WeatherDesk rules.
To create the ~/.weatherdesk_walls folder, download the FireWatch WeatherDesk wallpaper set and extract it into the ~/.weatherdesk_walls folder, you can use the following commands:
wget https://github.com/bharadwaj-raju/FireWatch-WeatherDesk-Pack/archive/master.tar.gz -O /tmp/firewatchpack.tar.gz
tar -xvf /tmp/firewatchpack.tar.gz -C ~/.weatherdesk_walls/ --strip-components=1
3. Run WeatherDesk
That's it. Now you can simply run "weatherdesk" in a terminal and the app should automatically change your wallpaper based on the current weather conditions and time of day, using the FireWatch wallpaper pack:
If you want to use different wallpapers, you must rename them according to the WeatherDesk naming rules and place them in the ~/.weatherdesk_walls/ folder.
To see all the available WeatherDesk options, run the following command:weatherdesk --help
For example, to force WeatherDesk to use the weather information for London instead of the automatically detected city, use:weatherdesk -c london
To get WeatherDesk to also change the wallpaper based on the current time of day, and not just based on the current weather, run it with the "-t" option, like this:weatherdesk -t
By default this will use the "day / evening / night" variation. To use the "morning / day / evening / night" variation (for more info about this, run "weatherdesk --info"), run it like this:
weatherdesk -t 4
If you want WeatherDesk to change the wallpaper based on current weather conditions every time you login, make sure to add it to your startup applications (in Ubuntu with Unity, launch Startup Applications, click "Add" and use "weatherdesk" as the command).
To report bugs, grab the source code, etc., see the WeatherDesk GitHub page.
Tip: to display the current weather temperature on top of the wallpaper, you could use WeatherDesk in conjunction with Deskweather (I din't try this, but it could be interesting).
Penguin Subtitle Player is especially useful for online video streaming websites that don't support subtitles or don't allow custom subtitles. You can also use Penguin Subtitle Player to display subtitles in a custom position, like on the black top/bottom bands, or to display multiple subtitles in the same time.
The Qt5 application should be able to display subtitles on top of any window, including HTML5 or Flash videos.
Until now, Penguin Subtitle Player (which we've covered before) only supported SRT subtitles, however, with the latest 1.0.0 version, released yesterday, the application received support for SSA/ASS subtitles.
Penguin Subtitle Player 1.0.0 also brings options to skip to previous or next subtitle, an option to reset the application preferences, as well as some UI improvements, like adding a black border around UI icons for better visibility.
Here's Penguin Subtitle Player in action (the first screenshot shows the application while the mouse hovers on it, so its controls are displayed):
Note that on Linux, a compositing window manager must be enabled for the transparency/opacity of the Penguin Subtitle Player window to work.
Download Penguin Subtitle Player
Download Penguin Subtitle Player (binaries available for Linux - 64bit, Mac and Windows, along with the source code)
Penguin Subtitle Player has been available in the main WebUpd8 PPA for some time, and today I updated it to the latest 1.0.0 version. To add the PPA and install the latest Penguin Subtitle Player in Ubuntu or Linux MInt, use the following commands:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install penguin-subtitle-playerIf you don't want to add the PPA, grab the deb from HERE.
Report any bugs you may encounter @ GitHub.
The application was updated to version 1.1.5 (then quickly to 1.1.6 to fix a bug) recently, bringing some new features, like an option to disable SafeEyes - you can now choose to disable it for 30 minutes, 1, 2 or 3 hours, or until system restart.
Another change in the latest SafeEyes is the ability to override some of its settings. SafeEyes provides some options in its Settings window, however, even more settings can be changed by editing the safeeyes.json file (located under ~/.config/safeeyes/), such as:
- override full-screen mode and skip / take breaks based on the active window (by default, SafeEyes doesn't show the break screen when an application is used in fullscreen mode, but this can be changed; for instance, you can set SafeEyes to take a break regardless of a certain window being fullscreen);
- override individual break time;
- override individual audible alert.
These overrides are explained in detail on the SafeEyes GitHub page.
The SafeEyes break screen
Also, since our initial article about SafeEyes, the application has received quite a few improvements, including:
- optional audible alert at the end of breaks;
- Safe Eyes is now paused if the system is idle for a certain number of minutes (this is configurable from the Safe Eyes settings);
- multi-screen support;
- support for handling system suspend (stop and restart during system suspend);
- next break information in tray menu;
- multi-language support.
Install SafeEyes in Ubuntu or Linux Mint
You can install SafeEyes in Ubuntu or Linux Mint by using its official PPA. To add the PPA and install SafeEyes, use the following commands:sudo add-apt-repository ppa:slgobinath/safeeyes
sudo apt update
sudo apt install safeeyes
To download the latest SafeEyes deb, source code, report bugs, etc., see its GitHub page.
Jam is a new Google Play Music console player for Linux and Windows. The application, which is written in Go, had its first alpha release about two weeks ago, and it's currently at version 0.4.0.
Jam features a console interface very similar to that of Cmus, with easy keyboard navigation. While the interface is easy to use, it currently lacks a help screen, so for a list of keyboard shortcuts, see the Jam GitHub page.
- console interface inspired by Cmus;
- Last.fm scrobbling (use the "-lastfm" flag);
- play, pause (this is buggy), stop, previous / next track;
- populates a local database with the artists and albums you saved through the web interface (or by any other means) and allows searching artists in this database.
Jam is still very new, so it lacks a few features, but its developer hopes to improve it further, by making its interface detachable like MOC or to allow controlling the playback via command line arguments. If there's some feature you'd like to see in Jam, you can submit a bug report.
It's important to mention for Jam to work, you need to login using the same account used for Google Music on your mobile device. Without this, you will get a "no valid devices" error when trying to login with Jam.
If you use the Google two-factor authentication, you'll need to generate an app password for Jam. You can do this by visiting THIS link.
Download Jam (64bit binary)
Download Jam (64bit binaries are available for Linux and Windows)
To install the 64bit binary on Linux, download it from GitHub (it's the first one, called "jam_x64") and place it in your home folder. Then to install it to /usr/local/bin/ (so it's available in your PATH), use the following command:sudo install jam_x64 /usr/local/bin/jam
How to install Jam from source
Note: the instructions below were tested on Ubuntu 16.04+ / Linux Mint 18.x and may not work on older Ubuntu versions (golang-go may be too old).
To install Jam from source, you'll need Go, Git and libpulse-dev. Install these in Ubuntu / Debian / Linux Mint using the following command:sudo apt install golang-go git libpulse-dev
Next, you'll need to set the GOPATH environment variable and make the GOPATH/bin folder available in your PATH. To do this (and use ~/.go as GOPATH), use the commands below:mkdir ~/.go
echo "export GOPATH=\$HOME/.go" >> ~/.bashrc
echo "export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin" >> ~/.bashrc
And finally, install Jam from source (the binary will be available in ~/.go/bin/) using the following command:
go get github.com/budkin/jam
If you encounter bugs, report them @ GitHub.
LosslessCut was especially created to make it easy to quickly extract parts of video files from a video camera, GoPro, drone, and so on, without losing video quality.
The application is based on Chromium, using a HTML5 video player, and it uses FFmpeg for cutting the videos.
According to its GitHub page, LosslessCut doesn't re-encode or decode the videos, making it very fast and especially useful for large videos.
- lossless video cutting
- take JPG snapshots of the video (at least on Linux, the snapshots - which are created in the same folder as the video -, are actually PNG, so if you have trouble opening them, rename the files from .jpg to .png);
- supports the following formats/codecs: MP4, MOV, WebM, MKV, OGG, WAV, MP3, AAC, H264, Theora, VP8, VP9. A complete list can be found HERE (since it uses Chromium and the HTML5 video player, not all formats supported by FFmpeg work);
- keyboard shortcuts (press "h" to see a list of keyboard shortcuts).
To use LosslessCut, add the video either by drag and drop or from its menu, then simply select the start (represented by the "<" icon in the LosslessCut user interface - 1 in the screenshot below) and end (">" - 2) time of the video you want to cut, then click the scissors (3) icon to export it:
Unless you choose a different output folder, the video should be exported in the same directory as the original.
Download LosslessCut (binaries available for Linux, Windows and Mac, along with source code)
To run it on Linux, extract the downloaded archive and simply double click on the "LosslessCut" executable to launch the application.
The application has a new developer who ported the application to Python 3, GTK 3 and GObject Introspection, while also fixing various bugs.
The new Kupfer v300 (and newer) is currently considered a preview release, and it may have bugs and plugins that don't work.
Among the changes in Kupfer v30x are the following:
- port Kupfer to Python 3;
- port Kupfer to GTK 3 and GObject Introspection;
- new feature: Kupfer now uses CSS for GTK 3 themes;
- new: ? starts free text input;
- new: ? text prefix gets live full text search results (plugin Tracker);
- Applications plugin: Add MATE as alternative.
There are also some breaking changes:
- plugin configs are reset upon upgrading from Kupfer v208 to v30x;
- old kfcom can no longer be parsed;
- some changes in the Plugin API;
- many plugins are obsolete and have been dropped. Some old plugins can be updated, but the new Kupfer developer wants to explore new kinds of interaction, and not necessarily collect all possible plugins in-tree;
- GTK theming has changed.
A complete changelog can be found HERE.
More changes are planned, including adding a MPRIS plugin instead of per-app plugins (such as the Audacious plugin) to control music players, more Tracker integration such as full text search, or include more Thunar operations.
Due to Kupfer using GTK3 now, it's broken with some themes. In my test, it worked without any issues with the default Ubuntu theme (Ambiance), Greybird, as well as the default GNOME theme (Adwaita), but some third-party themes like Adapta or Numix display the icon / text out of place.
Another Kupfer v30x issue is its AppIndicator not working in Ubuntu (the tray works in desktop environments that support that though) - I reported the bug HERE.
It's also important to mention that Kupfer v30x requires some pretty new dependencies and for that reason, it won't work properly on relatively old Linux distributions, like Ubuntu 16.04 / Linux Mint 18.x (which is based on Ubuntu 16.04).
Quick introduction to Kupfer
Kupfer is a simple and flexible quick launcher. Using it, you can quickly access application, documents and more. The application is very 'snappy' which is especially important in a quick launcher.
To use it, simply press Ctrl + Space and type the application you want to launch, file you're looking for, and so on.
Obviously, Kupfer needs to be running for this to work (it includes an option to start automatically on login). Also, make sure Ctrl + Space is not already used by another application, or change this keyboard shortcut from the Kupfer preferences.
If the first result is not what you're looking for, press the down arrow (↓) key for a list of search results. To choose a different action, search for what you're looking for, then press TAB and then the down arrow (↓) keys.
The application is easy to extend with plugins, and by default it includes plugins such as:
- Archive Manager (extract, create archive);
- Audacious (allows controlling the player from Kupfer;
- Calculator (calculate mathematical expressions);
- Documents (provides access to recently access documents and bookmarked folders);
- File Actions (move to, rename to, copy to);
- GNOME and Xfce Session management;
- Notes (supports Tomboy, Gnote and Kzrnote and allows appending to note, create new note or search for notes);
- Shell commands (run command-line programs);
- Tracker (desktop search integration);
- much more.
Besides an extensive list of built-in plugins, Kupfer also includes the famous "comma trick" feature - press "," (comma) in the first or third pane to make a stack of objects to perform actions on. This allows actions on many objects and even many-to-many actions:
Here are some more Kupfer v30x (and its Preferences window) screenshots:
Install Kupfer v30x in Ubuntu 16.10 or 17.04 via PPA
Important: Kupfer v30x is not considered stable and you may encounter bugs. Also, my packaging (based on the original Kupfer packaging) may also require further tweaking, as I couldn't find a list of dependencies required by the Kupfer plugins.
To make it easy to install the latest Kupfer v30x, I uploaded it to a new PPA, for Ubuntu 16.10 and 17.04 (like I said, it doesn't work properly on older Ubuntu versions). I used a new PPA so it's easy to purge it in case you want to go back to the Kupfer version from the official Ubuntu repositories, without missing out on other packages.
To add the WebUpd8 Kupfer v30x PPA and install the application in Ubuntu 16.10 or 17.04, use the following commands:sudo add-apt-repository ppa:webupd8team/kupfer
sudo apt update
sudo apt install kupfer
For older Ubuntu versions, you can use the old Kupfer v208, which is available in the official repositories. To install it, use the following command:sudo apt install kupfer
Arch Linux users can install the latest Kupfer v30x via AUR.
To report bugs, download the source code, etc., see the Kupfer GitHub page.
How to downgrade to Kupfer from the official Ubuntu repositories
If you want to purge the WebUpd8 Kupfer PPA and downgrade Kupfer to the version available in the official Ubuntu repositories (v208), use the following commands:sudo apt install ppa-purge
sudo ppa-purge ppa:webupd8team/kupfer
GIMP 2.8.20 changes include:
- fixed: saving to existing .xcf.bz and .xcf.gz files didn't truncate them and could lead to unnecessarily large files;
- fixed: text layer created by gimp-text-fontname doesn't respect border when resized;
- fixed: vertical ruler shows artifacts if the status bar isn't showing;
- improve the visiblity of slider handles with dark themes;
- make it harder to switch to renaming if selecting already selected items in resource lists;
- make toggling to color picker mode of paint tools more robust;
- fixed: filter 'Edge Detect/Difference of Gaussians' returns empty image;
- when printing, the images are composed onto a white background to prevent printing a black box instead of a transaprent image;
- fixed: color visison deficiency display filters to apply gamma correction directly.
A complete changelog can be found HERE.
2.8.x is the stable GIMP branch, and it doesn't include any new features.
You may be wondering about the status of the next GIMP major releases: 2.10 and 3.0.
Well, GIMP 2.10 is currently blocked by some improvements that have yet to be implemented, such as the introduction of linear workflow, reworked layer modes, and improved color management, among others.
As for GIMP 3.0, the GIMP developers say that the GTK+3 port may prove to be a bigger change than expected, and GIMP 3.0 may end up switching to GTK+4. You can read more about this on the GIMP blog.
For how to install GIMP 2.9.x (development) in Ubuntu or Linux Mint via PPA, see THIS article.
Install GIMP 2.8.20 in Ubuntu or Linux Mint
As usual, the latest stable GIMP is available in Otto's PPA. To add the PPA and install GIMP in Ubuntu, Linux Mint, and other Ubuntu-based Linux distributions, use the following commands:sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt update
sudo apt install gimp
The PPA also includes updated GIMP Plugin Registry, a colection of many optional GIMP extensions, as well as the G'MIC (GREYC's Magic foor Image Computing) GIMP plugin which includes more than 450 filters. To install both of these, use the commands below:sudo apt install gimp-plugin-registry gimp-gmic
For other Linux distributions, Windows and Mac, see the GIMP downloads page.
How to revert the changes
In case you encounter issues and you want to go back to the GIMP version available in the Ubuntu repositories, you can purge the PPA using ppa-purge.
To install ppa-purge and purge Otto's GIMP PPA, use the commands below:sudo apt install ppa-purge
sudo ppa-purge ppa:otto-kesselgulasch/gimp
The extension hides files or folders without renaming them (without adding a dot prefix or a tilde suffix), by adding them to a file called ".hidden", which can be used by most major file managers to hide files.
This can be done manually (I wrote an article about it a while back), and is supported by most file managers - by creating a file called ".hidden" and adding the file and folder names you want to hide to this file. This extension is for those that need to do this frequently or set up Ubuntu / Linux Mint for someone inexperienced who wants such a feature.
To use this extension to hide a file or folder, simply right click the file/folder and select "Hide file":
To unhide a file or folder, press Ctrl + H (this displays hidden files and folders), then right click the file you've previously hidden, and select "Unhide". Then press Ctrl + H again to hide hidden files and folders.
This obviously only works for files hidden by adding them to a file called ".hidden", and it doesn't work with files that have a dot prefix or a tilde suffix.
Install Nemo Hide / Nautilus Hide
Nemo Hide is available in the Nemo 2.x and Nemo 3.x (with Unity patches) WebUpd8 PPAs. If you use Nemo from any of these two PPAs, simply run the commands below to install Nemo Hide:sudo apt update
sudo apt install nemo-hide
The WebUpd8 Nemo PPAs are not compatible with Linux Mint (because the packages can overwrite Nemo for Cinnamon with Nemo for Unity) or Nemo from the official Ubuntu repositories, but this extension is. So if you use Linux Mint or Nemo from the official Ubuntu repositories, you can grab the Nemo Hide deb (or source) from HERE.
Once installed, restart Nemo:
The Nautilus Hide extension is available in the official Ubuntu repositories so if you use Nautilus, install it using the command below:
sudo apt install nautilus-hideOnce installed, restart Nautilus:
Note that the Nautilus Hide version from the Ubuntu repositories doesn't automatically refresh folders, so after hiding a file, you'll need to refresh the folder by pressing F5. The latest Nautilus Hide does this automatically.
Screenlets, a widget framework for Linux, was updated to work with Ubuntu 16.04 recently, and new packages are available in its official PPA.
The Screenlets package was removed from the official Ubuntu 16.04 (and newer) repositories because it no longer worked, however, Hrotkó Gábor fixed various issues that prevented the application and some of its widgets from working, and uploaded a new version to the official Screenlets PPA, for Ubuntu 16.04.
While the PPA doesn't officially support it, you can also use it in Ubuntu 16.10.
According to Hrotkó, he could not fix everything, so you will find bugs / screenlets that don't work, but most things should work now. One issue is that the indicator icon doesn't show up in Ubuntu (with Unity). This does work on my computer, but it doesn't work on a fresh Ubuntu installation, and I couldn't yet figure out why.
Quick Screenlets intoduction
Screenlets is a framework that allows adding widgets to your desktop. The Screenlets PPA provides numerous screenles (desktop widgets), such as RSS readers, weather, clock, countdown, a Conky-like system information widget, folder view, calendars, sensors, and much more.
The application allows creating multiple screenlets (widgets) of the same type, each with its own individual settings.
Note that Screenlets requires an X11-based composite manager, so for instance if you run Lubuntu, you'll need something like Xcompmgr or Compton, or else the widgets won't show up on your desktop.
Using Screenlets is fairly easy: launch Screenlets, select the screenlet you want to add to the desktop and check the "Start / Stop" option on the left to start it (you can also double click the screenlet).
To get the screenlet to start automatically on login, make sure to also check the "Auto start at login" option:
Install Screenlets in Ubuntu 16.04 or 16.10
To add the Screenlets PPA and install Screenlets as well as all the available widgets in Ubuntu 16.04, use the following commands:sudo add-apt-repository ppa:screenlets/ppa
sudo apt update
sudo apt install screenlets screenlets-pack-all
To install Screenlets and all the available widgets from the same PPA in Ubuntu 16.10, you must add the PPA and then change it to point to Xenial instead of Yakkety (there are no Ubuntu 16.10 packages yet). To do this, use the commands below:sudo add-apt-repository ppa:screenlets/ppa
sudo sed -i 's/yakkety/xenial/g' /etc/apt/sources.list.d/screenlets-ubuntu-ppa-yakkety.list
sudo apt update
sudo apt install screenlets screenlets-pack-all
thanks to Hrotkó Gábor for the tip!
Apt Update Indicator For GNOME Shell Keeps You Informed About Available Updates [Ubuntu GNOME / Debian]
Apt Update Indicator is a GNOME Shell extension that keeps you informed about available updates in Ubuntu GNOME / Debian.
Using it, you get a new icon on the GNOME Shell Top Bar which displays the number of package updates, while from its menu you can see exactly which updates are pending, apply the updates, and more.
The extension is a fork of Arch Update, a similar tool for Arch Linux, and it supports GNOME Shell from version 3.14 to 3.22.
Apt Update Indicator extension features:
- automatically check for updates at a configurable interval;
- optional updates count on the indicator;
- optional notifications when new updates are available;
- supports multiple updates methods: GNOME Software, Ubuntu Update Manager or custom, which can be used to directly run "apt upgrade", etc.
- can display new packages in the repository;
- includes options to display residual and autoremovable packages in the indicator.
The extension was updated recently to use GNOME Software or the Ubuntu Update Manager to apply the updates:
Another important change is the command used to check for updates. The extension now uses "pkcon refresh", which doesn't require the root password.
Previously, you either had to manually enter the password each time Apt Update Indicator checked for updates, or modify some system configuration files to allow the extension to check for updates without a password.
Other changes include:
- change the default terminal to xterm;
- use standard date formatting tools;
- automatic checks are now compatible across sessions;
- make use of symbolic icons to follow GNOME HIG.
Install Apt Update Indicator for GNOME Shell
The new "pkcon" command used by Apt Update Indicator requires "packagekit-tools" to be installed. To install it in Ubuntu or Debian, use the following command:sudo apt install packagekit-tools
To install the Apt Update Indicator for GNOME Shell, visit the GNOME extensions repository.
For installing the extension from source, bug reports, etc., see the extension GitHub page.
The application is free to use but not open source software, and is available for Linux, Windows, Mac, as well as a Chrome extension.
The tool, which is aimed at writers, includes quite a few handy features, like:
- see how often your text appears in a database and how it's used in context;
- compare two phrases and see how often they are found in a database and how they are used in context;
- see which synonyms of a given word are used most often in your selected text;
- translates text (to English only for now) using Google Translate;
- define words;
- find out how the text is pronounced;
- it uses Natural Language Processing and Google Books, Web, Scholar and News for its databases.
The databases used by Writefull are available online, so you need an Internet connection to use Writefull.
To use Writefull, set the keyboard shortcut in its preferences. Once this is set up, select a chunk of text and use the keyboard shortcut - this brings up the Writefull window and automatically enters the text you've selected, allowing you to perform various operations.
You can also manually enter text in the Writefull window.
The application has an option to launch it automatically at startup, however, this doesn't work properly in Linux. That's because enabling this option, the Writefull window is displayed on launch, and this is probably not the desired behavior for most (I'm not sure if this is how it works across the other platforms).
Writefull continues to run after closing its window (so you can activate it using the keyboard shortcut) but I couldn't find a way to launch it hidden at startup.
For more information about using Writefull, type "/help" (without the quotes) in the application:
A user guide is also available HERE.
Download Writefull (available for Linux - 32bit and 64bit deb, Windows, Mac and Chrome).
In case you're not familiar with VPN Gate, this is project that offers free VPN servers that are ran by volunteers who use SoftEther. It was designed with the Great Firewall of China in Mind and is sponsored by the University of Tsukuba, Japan.
It's important to note that free VPNs are insecure, and they shouldn't be used for sensitive / important stuff!
VPNGate With Proxy
VPNGate With Proxy is a VPN Gate client for Linux. Among its features are:
- allows connecting to free OpenVPN servers at VPN Gate directly or through proxy;
- adds DNS to fix DNS leak;
- automatically filters out dead VPN servers;
- can execute user defined script after vpn_tunnel is established or broken;
- multiple interfaces: two command line interfaces (a lightweight interface aimed to run on a server, and a terminal interface with a better UI, colors, and easier to use) as well as an AppIndicator;
- displays VPN server country, ping, speed, up time, log policy, score, protocol and port in the command line interfaces.
According to its developer, the application has been tested on Ubuntu, Raspbian and Fedora, and may not work with other Linux distributions.
To run VPNGate With Proxy, you'll need Python 2.7.x, python-requests, openvpn, resolvconf, python-urwid 1.3+ (only if you want to use the advanced terminal user interface, called "tui"), wmctrl and realpath.
For the AppIndicator you'll also need gir1.2-appindicator3-0.1, gir1.2-notify-0.7 and python-gobject.
To install these packages in Ubuntu, use the following commands:
sudo apt install python-requests openvpn resolvconf python-urwid wmctrl realpath gir1.2-appindicator3-0.1 gir1.2-notify-0.7 python-gobject git
Next, clone the VPNGate With Proxy GitHub repository and run the application (with the advanced terminal user interface) using the commands below:
git clone https://github.com/Dragon2fly/vpngate-with-proxy.git
On older systems, if python-urwid version 1.3 is not available, VPNGate With Proxy will automatically install it via python-pip.
The application GitHub page provides instructions for how to clone the repository if you're behind a proxy. You can also download the repository as an archive.
The first time you run VPNGate With Proxy, it will run the initial configuration, which includes proxy configuration (if you don't use a proxy to connect to the Internet, simply press ENTER), etc.:
Once you're done with the initial configuration, the application will download a list of OpenVPN servers from VPN Gate - to connect to a VPN, enter its number and press ENTER:
You can sort the VPN list by score (default), ping, speed or uptime. To do this, press F5 and select the sort option.
The VPNGate With Proxy AppIndicator should start automatically when running the application. Using it, you can easily stop the VPN, reconnect, choose the next VPN, or show the VPN status:
To see if the VPN is working, you can check your IP by visiting VPN Gate (or any of the many websites that offer this service).
For more information about VPNGate With Proxy, see its GitHub page.
autovpn is a small and simple command line tool written in Go, which allows connecting to a random free VPN. Under the hood, autovpn uses OpenVPN to connect to free VPN servers from VPN Gate.
To install and use autovpn, you'll need to install golang-go, openvpn (autovpn depends on it) and git (to clone the autovpn GitHub repository). In Debian, Ubuntu or Linux Mint, you can install these packages using the following command:sudo apt install golang-go openvpn git
Next, clone the autovpn GitHub repository and compile it:
git clone https://github.com/adtac/autovpn
go build autovpn.go
And finally, install the generated executable - using the command below, the autovpn executable is installed in /usr/local/bin/:sudo install autovpn /usr/local/bin/
autovpn is extremely easy to use - all you have to do is run it and it will automatically connect you to a VPN. By default (without specifying a country code), it connects to a random US server:autovpn
That's it, in a few seconds you should be connected to a random free US VPN server.
If you want to use a VPN from another country, add the country code, like this (the command below is an example to connect to a free VPN server from Japan):autovpn JP
Not all country codes will work, since autovpn relies on the VPN Gate iPhone API, which returns around 100 VPN servers, and the country you want to use a VPN from may or may not be in this server list.
To see if the VPN is working, you can check your IP by visiting VPN Gate (or any of the many websites that offer this service).
The list includes lightweight Internet radio players, a fully fledged desktop application, a command line radio browser and player, as well as a GNOME Shell extension.
Radio Tray is a minimalist Internet radio player that sits in the system tray (it also supports Ubuntu's AppIndicator). The application is not new, but I couldn't make a Radio Players post without it, since it's a great lightweight radio player.
Radio Tray comes with a list of built-in radio stations, and allows you to easily add new ones. There's no GUI for the actual player - the application is controlled from the tray/AppIndicator or using the media keys.
Radio Tray features:
- comes with a built-in radio station list (though since the application hasn't been updated in a long time, some no longer work);
- plays most media formats (based on gstreamer libraries);
- configurable radio stations with a GUI;
- extensible by plugins (current plugins include: Sleep Timer, Notifications, MATE and GNOME Media Keys and History);
I didn't list the playlists formats supported by Radio Tray, because I'm not sure if all those listed on its SourceForge page still work. That's because the application doesn't seem actively maintained, with the latest commit dating back to January, 2015.
For instance, playing ASX streams didn't work in my test under Ubuntu 16.10, even though this is listed as supported on the Radio Tray page (playing ASX streams works with RadioTray Lite - see below).
There are also reports that Radio Tray pauses sometimes and it appears this hasn't been fixed although I didn't encounter the issue.
Radio Tray is most likely available in your Linux distribution official repositories. In Debian, Ubuntu or Linux Mint, you can install it by using the following command:ssudo apt install radiotray python-xdg
Without installing python-xdg, the application will fail to start (and it's missing as a dependency in most Ubuntu versions, like 16.04).
Radio Tray Lite
Because Radio Tray doesn't seem actively maintained, I searched for an alternative and stumbled upon Radio Tray Lite. According to its developer, this is a Radio Tray clone, rewritten in C++.
Just like Radio Tray, this application uses GStreamer, so it should play most media formats, however, it lacks some of the features available in the original Radio Tray, like plugins support (so no media keys support, etc.) or a GUI to add new radio stations.
Radio Tray Lite ships with a radio list and to add new radio stations you must edit a file. The application uses the same bookmarks.xml (radio station list) syntax as Radio Tray, so if you already have a custom one, you could use that instead of its built-in list.
To add new radio stations, edit the ~/.config/radiotray-lite/bookmarks.xml file.
I should also add that using Radio Tray Lite, I was able to play ASX steams (as opposed to the original Radio Tray running in Ubuntu 16.10). So if Radio Tray fails to play some streams, give Radio Tray Lite a try.
Radio Tray Lite features:
- runs on a Linux system tray / AppIndicator;
- desktop notifications;
- minimalist user interface;
- plays most media formats (it uses gstreamer);
- supports PLS, M3U, ASX, RAM, XSPF playlists;
To install Radio Tray Lite in Ubuntu 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x, you can use the main WebUpd8 PPA. To add the PPA and install the application, use the following commands:
ssudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install radiotray-liteIf you don't want to add the PPA, grab the deb from HERE.
For installing Radio Tray Lite in other Linux distributions, bug reports, etc., see its GitHub page.
Gradio is a GTK3 application for discovering and listening to Internet radio stations.
- uses radio-browser.info for its built-in radio station list;
- filter radio stations by language, country/state or tag (which includes genres, etc.), as well as most popular;
- after finding a radio station you like, you can easily add it to your library by starring it;
- MPRIS v2 support (integrates with the Ubuntu Sound Menu, GNOME Shell, etc.);
- optional desktop notifications;
- connection popover that displays the used codec, bitrate, channel mode, etc.;
- includes options to resume playback on startup, close to tray, enable background playback, use dark design, etc.
Gradio is the most complete Internet radio player in this list, but also the most heavy on system resources. It's also the best for discovering new online radio stations thanks to its extensive radio station database and filters.
The application does lack a feature though: it doesn't allow adding your own custom radio stations from the application user interface. The radio station must exist in the radio-browser.info database to be able to play it.
Ubuntu 16.10 and 16.04 / Linux Mint 18.x users can install the latest Gradio by using its official PPA:sudo add-apt-repository ppa:haecker-felix/gradio-daily
sudo apt update
sudo apt install gradioIf you don't want to add the PPA, grab the deb from HERE.
For how to install Gradio in other Linux distributions, bug reports, etc., see its GitHub page.
GNOME Shell Internet Radio extension
This may not be a stand-alone application, but it's basically the Radio Tray equivalent for GNOME Shell, so I had to add it to this list.
GNOME Shell Internet Radio (or GNOME Shell Extension Radio) is a simple extension for listening to Internet radio streams, which supports GNOME Shell 3.18, 3.20 and 3.22.
The extension only ships with 4 Internet radio stations by default, but it provides a built-in search for http://www.radio-browser.info (radio directory), so you can easily add new radio stations from within the extension user interface. You can also add your own radio stations:
GNOME Shell Internet Radio extension features:
- manage (add/edit/remove) radio stations;
- mark stations as favorite;
- built-in online radio directory search (it uses https://www.radio-browser.info);
- middle click to start/stop last played station;
- support for multimedia keys;
- Play / Stop
- Next / Prev cycles through the channels list;
- optional desktop notifications;
- cyrillic tag support.
Install Internet Radio extension from the GNOME Extensions directory or from source, from GitHub.
A Linux application list, even a small one like this one, wouldn't be complete without a command line alternative.
Curseradio is a command line Internet Radio browser and player which uses a curses interface, and mpv for audio playback. The tool makes use of the TuneIn directory found at http://opml.radiotime.com/ for its radio station list.
Unfortunately Curseradio doesn't support adding your own radio stations, however, the built in list is quite extensive and provides radio stations for any taste. Furthermore, the TuneIn directory it uses has a Local Radio section which tries to list radio stations based on your location.
- interactive curses interface with radio categories, currently playing and bitrate information;
- keyboard shortcuts (see its GitHub page for a list);
- extensive built-in radio station list (via http://opml.radiotime.com/), including local radio stations;
- supports adding stations to favorites (press "f" to add it to favorites), for quick access.
To install Curseradio in Ubuntu 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x, you can use the main WebUpd8 PPA. Add the PPA and install the application using the following commands:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install curseradioIf you don't want to add the PPA, grab the deb from HERE.
For installing Curseradio in other Linux distributions, grab the source from its GitHub repository.
Goodvibes (later addition)
Update: I've added Goodvibes to the list (thanks to Kimme for the Goodvibes tip!).
Goodvibes is a lightweight Internet radio player that provides a GTK3 interface, can be launched without a GUI, and it features a command line client that can be used to control it.
By default, the application doesn't ship with a large list of Internet radio stations, but more can be easily added.
- MPRIS v2 support;
- multimedia keys;
- desktop notifications;
- sleep inhibition when a radio is playing;
- command line client to control the app;
- supports most formats thanks to GStreamer;
Most of these are disabled by default (like notifications, multimedia keys, etc.), and you must enable them from the application preferences.
The application can be used without an interface by launching it with the "--without-ui" command line argument or select "Close UI" from its menu, and it can be controlled either via command line (using "goodvibes-client"), or from a MPRIS v2 interface, such as the Ubuntu Sound Menu, GNOME Shell System Menu, and so on:
To install Goodvibes in Ubuntu 16.04 or Linux Mint 18.x by using its PPA, use the following commands:
sudo add-apt-repository ppa:elboulangero/goodvibes
sudo apt update
sudo apt install goodvibesIf you don't want to add the PPA or you're using a newer Ubuntu version (I tested it in Ubuntu 16.10 and I didn't encounter any issues), download the deb from HERE.
Unfortunately Goodvibes is not available for Ubuntu 14.04 (or older) / Linux Mint 17.x because it requires GStreamer 1.0, which was not available when those were released.
Arch Linux users can install Goodvibes via AUR.
For how to build Goodvibes from source, bug reports, etc., see the Goodvibes GitHub page.
RcloneBrowser (Rclone GUI) Lets You Manage Multiple Cloud Storage Services From A Single Desktop App
In case you're not familiar with Rclone, this is a command line tool for synchronizing files from or to cloud storage services, which supports Google Drive, Google Cloud Storage, Dropbox, Microsoft One Drive, Amazon S3, Amazon Drive, Openstack Swift / Rackspace cloud files / Memset Memstore, Hubic, Yandex Disk, and Backblaze B2.
Rclone can synchronize files either directly between these cloud services, or to / from your local filesystem.
For more about Rclone, check out our article: Rclone Synchronizes Files Between Multiple Cloud Storage Services (Command Line)
RcloneBrowser allows browsing and modifying (upload / download / remove, etc.) remote repositories, such as Google Drive, Dropbox, oneDrive and so on, including encrypted ones, using the same configuration file as Rclone, so you don't have to configure remote services twice.
Besides performing various operations on your cloud files, RcloneBrowser can also mount and unmount your remote cloud storage, and it can stream media files with an external player, such as mpv.
Note that Rclone (and thus, RcloneBrowser too) performs the synchronization on demand, without any real-time file monitoring and automatic uploading / downloading of changed files.
- allows to browse and modify any Rclone remote, including encrypted ones;
- allows to upload, download, create new folders, rename or delete files and folders;
- uses same configuration file as Rclone, no extra configuration required;
- supports encrypted .rclone.conf configuration file;
- simultaneously navigate multiple repositories in separate tabs;
- lists files hierarchically with file name, size and modify date;
- all Rclone commands are executed asynchronously, no freezing GUI;
- file hierarchy is lazily cached in memory for faster traversal of folders;
- can process multiple upload or download jobs in background;
- drag & drop support for dragging files from local file browser for uploading;
- streaming media files for playback in players like mpv or similar;
- mount and unmount folders on macOS and GNU/Linux;
- optionally minimizes to tray, with notifications when upload/download finishes.
While RcloneBrowser integrates pretty much all the Rclone features in its user interface, adding a new remote storage service is not supported by it, and the configuration must be performed via command line. However, for most, the configuration is as easy as entering "y" a few times in a terminal.
RcloneBrowser does add easy access to the Rclone configuration - simply click "Config" on the RcloneBrowser "Remotes" tab, and it will launch a new terminal window with the Rclone configuration.
Tip: The RcloneBrowser user interface lets you select a local file or folder when uploading to a cloud storage service, however, it can also copy / move / sync files from one cloud storage to another. To do this, you must enter the exact path to the file from the other remote source, like this:
To make it easier to install, I've uploaded RcloneBrowser to the main WebUpd8 PPA, for Ubuntu 16.10 and 16.04. Update: thanks to an update, the package now builds in Ubuntu 14.04 as well.
To add the PPA and install RcloneBrowser in Ubuntu 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x, use the following commands:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install rclone-browserIf you don't want to add the PPA, you can grab the deb from HERE.
Important: the WebUpd8 package only includes RcloneBrowser, but you'll also need Rclone for this to work. You can download precompiled Rclone binaries @ GitHub. To use it, simply extract the downloaded binary archive, then from RcloneBrowser Preferences select Rclone binary location.
Arch Linux users can install RcloneBrowser via AUR.
For other Linux distributions, Windows and Mac, see the Rclone Browser GitHub page.
Those new to Rclone may also want to check out its documentation.
The extension provides numerous features, including the ability to move the panel to the top or bottom, change the panel size, live window previews, and more.
Since this extension doesn't create a new panel but instead, it modifies the GNOME Shell Top Bar, it's compatible with other extensions that change the Top Bar look or behavior. So for instance, while Dash to Panel doesn't support autohide, you can use the Hide Top Bar extension for this.
Dash to Panel features:
- move the Application Dash from the Overview into the main panel (top bar);
- set the panel position to the top or bottom;
- change the panel size;
- change the running indicator (dots) position to the top or bottom;
- set the clock location;
- the "Show applications" icon can be hidden and its animation can be disabled;
- displays window previews on hover (optional, enabled by default);
- option to isolate workspaces (only shows an app icon if it's on the active workspace, unless it's a favorite application);
- configurable click actions (including shift+click, middle+click and shift+middle+click);
- customize the panel appearance, like the app icon margin, tray font size, icons padding, etc.
Here are some screenshots showing Dash to Panel (and its settings) running in Ubuntu 16.10 with GNOME Shell 3.20:
The application menu that's usually displayed on the GNOME Shell Top Bar is no longer displayed when using Dash to Panel.
To get access to this menu, it's recommended you disable displaying the applications menu in GNOME Tweak Tool (set Top Bar > Show Application Menu to OFF) so the menu is displayed as a button in the top left window corner:
A bug report regarding this was submitted to GitHub, and it looks like a way to integrate the GNOME AppMenu with Dash to Panel might be available in the future.
Another feature that's not available in Dash to Panel is multi-monitor support. This was already implemented, but has not been merged so far.
I should also mention that using this extension on my pretty old laptop (Intel graphics) results in severe lag when accessing the activities/applications. However, this issue does not occur after disabling the "Animate Show Applications" feature from the Dash to Panel settings (Behavior tab). A bug report regarding this has already been submitted.
Install Dash to Panel
Dash to Panel should work with GNOME 3.18+ and it can be installed by using the GNOME Shell Extensions website.
Tip: see how to get Chrome to support installing GNOME Shell Extensions from extensions.gnome.org, HERE.
For more information, source code, bug reports, etc., see the Dash to Panel extension GitHub page.
via WOGUE @ Google+
MATE Dock Applet is a MATE Panel applet that displays running application windows as icons, which features option to pin applications to the dock, supports multiple workspaces, allows changing the MATE panel icon to the dominant desktop wallpaper color, and more.
The latest 0.76 version includes a new indicator for running applications - a solid bar that uses the highlight color defined by the GTK3 theme (since only Ubuntu MATE 16.10 uses GTK3, this doesn't apply to older Ubuntu MATE versions). You can see this in the screenshot above.
For GTK2, this indicator defaults to grey, but there's a new option in the applet preferences that allows defining the color of this indicator:
The new version also allows choosing between a gradient or solid fill for the active icon background. Furthermore, the MATE Dock Applet Preferences window now includes a live preview which displays how the active icon background and indicator will look like:
And the last noteworthy change in this release is support for startup notification when launching applications. Using the new version, when starting a new application, its icon will pulsate until the application is fully loaded.
Install MATE Dock Applet in Ubuntu or Linux Mint
MATE Dock Applet is available in the official Ubuntu repositories starting with Ubuntu 16.04 (Linux Mint 18.x), however, it's not the latest version.
To install the latest MATE Dock Applet in Ubuntu 14.04 / Linux Mint MATE 17.x, 16.04 / Linux Mint MATE 18.x (for MATE built with GTK2) or Ubuntu 16.10 (for MATE built with GTK3), you can use the WebUpd8 MATE PPA.
Add the PPA and install MATE Dock Applet using the commands below:sudo add-apt-repository ppa:webupd8team/mate
sudo apt update
sudo apt install mate-dock-applet
To download the source, report bugs, etc. see the MATE Dock Applet GitHub page.
A while back I wrote an article about Metamorphose 2 as well as two other GUI batch rename utilities for Linux - check it out HERE.
Metamorphose 2 uses wxWidgets 2.8 by default, and this is not available in Ubuntu 16.10. Ubuntu 16.10 has wxWidgets 3.0, however, the latest Metamorphose 2 0.8.4 beta has some issues when it's ran with it.
There are some wxWidgets 3.0 fixes for Metamorphose 2 in its GitHub repository, so I decided to upload the latest Git code to the main WebUpd8 PPA, for both Ubuntu 16.10 and 16.04 (which now uses wxWidgets 3.0, like the Ubuntu 16.10 package).
I tested the latest Metamorphose 2 from Git on two Ubuntu 16.10 virtual machines as well as one Ubuntu 16.04 and one Linux Mint 18 (Cinnamon) VMs, and I didn't encounter any issues preventing the app from starting (the only issue I encountered is the "show image thumbnails" option not working, so avoid using it). However, there are reports on its GitHub page that it fails to start, but most are on Fedora, so it might be a Fedora-specific issue. Even so, keep in mind that it might not work for you.
Install Metamorphose 2 in Ubuntu or Linux Mint via PPA
To install Metamorphose 2 in Ubuntu 16.10, 16.04 / Linux Mint 18 by using the main WebUpd8 PPA, use the following commands:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install metamorphose2
If you don't want to add the PPA, you can grab the deb files from HERE.
Ubuntu 14.04 / Linux Mint 17.x users can install an older version, which can be downloaded from HERE (the latest version requires a newer dependency). For other Linux distributions and Windows, see the Metamorphose 2 SourceForge and GitHub pages.
To launch Metamorphose 2 in Ubuntu 16.10 or 16.04 / Linux Mint 18, use its menu / Dash entry or, if you want to launch it from a terminal, make sure to append "-w 3.0" so the application runs with wxWidgets 3.0.