Language Selection

English French German Italian Portuguese Spanish

Web Upd8

Syndicate content Web Upd8
Daily Ubuntu / Linux news and application reviews
Updated: 2 hours 29 min ago

Code Editor `Brackets` 1.9 Released, Available In PPA

Thursday 23rd of March 2017 02:38:00 PM
Brackets is a free, open source code editor focused on front-end web development (HTML, CSS and JavaScript).
The application, which was originally developed by Adobe, is available for Linux, Windows and MacOS.

Since I haven't written about Brackets in a while, here's a quick list of its main features:
  • live preview: see your changes in real time in a web browser (by default, this only supports Google Chrome, but there's also experimental support for other browsers - you can enable it from the Brackets File menu);
  • inline editor: simply put your mouse cursor on a CSS ID, press Ctrl + E and Brackets displays the CSS selectors inline;
  • supports extensions and comes with a built-in extension manager, with hundreds of themes and extensions available to install.

Changes in Brackets 1.9 include:
  • reverse inspect in Live Preview (clicking an element in Live Preview highlights the corresponding tag in the source code);
  • the application now supports "Replace All" in Find & Replace along with batch operation;
  • the Extension Manager now displays the download count for listed extension, and it allows sorting based on download count or published date. Thanks to this, you can easily find the most popular and the latest extensions;
  • focus can now be swapped between panes using a keyboard shortcut (Alt + w);
  • language mode can now be changed for untitled documents (and code coloringand code hints are now supported for such documents);
  • GitHub organizations can now own Brackets extensions and update them.

A complete changelog is available HERE.

Important! There are two issues with Brackets on Linux.
The first is that to close the application, you must click the close button twice.

And the second issue is that the official Brackets Debian / Ubuntu debs depend on libgcrypt11, which is not available in Ubuntu versions newer than 14.10.
This last issue is fixed if you install libgcrypt11 from an older Ubuntu version, if you upgraded from Ubuntu versions older than 15.04 (so libgcrypt11 is still installed on your system), or if use the WebUpd8 Brackets PPA (there are also direct PPA deb download links below), which should work in any Debian-based Linux distribution, including Ubuntu, Linux Mint and so on.
For more about Brackets, check out its website and wiki.

Download Brackets
Download Brackets (32bit and 64bit debs - only work with Ubuntu 14.10 or older unless you install libgcrypt11 manually or use the PPA -, MacOS and Windows binaries)
To install the latest Brackets in Ubuntu 17.04, 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x / Debian 8+ (see how to add a PPA in Debian HERE) by using the WebUpd8 Brackets PPA, run the following commands:sudo add-apt-repository ppa:webupd8team/brackets
sudo apt update
sudo apt install bracketsAlternatively, download the WebUpd8 Brackets PPA debs from HERE.

Fedora users can install Brackets by using an unofficial copr repository (not yet updated to version 1.9 at the time I'm posting this article).

Arch Linux users can install Brackets from AUR (not yet updated to version 1.9 at the time I'm posting this article).

GNOME 3.24 Released, See What`s New

Wednesday 22nd of March 2017 03:46:00 PM

After being in development for six months, GNOME 3.24 was released today, bringing improvements such as Night Light, weather information in the date / time indicator, along with updates to its applications, and more.

Changes in GNOME 3.24

One of the most interesting changes in the latest GNOME 3.24 is the addition of Night Light, a feature that is aimed at preventing eye strain.
With the Night Light option enabled, the color of the display changes based on the time of day, making the screen color warmer in the evening. It is is set to automatically follow the sunset and sunrise times for your location, but there's also an option to customize it.
The option to enable Night Light can be found in Settings > Displays:

With GNOME 3.24, the GNOME Shell notifications area (date time indicator) was improved, featuring a cleaner layout. Furthermore, Weather information for the current day is now displayed in the notifications area:

Note that the weather information gets its location from the Weather app. The location can be set to automatically follow your location, or you can specify it manually.
Another fairly important change in the latest GNOME 3.24 is the revamped user interface for Online Accounts, Printers and Users settings. More Settings improvements are planned for the future.
Here are the new Printers (image via GNOME 3.24 release notes because I don't currently have a printer to try it) and Settings:

Other changes include:
  • on machines with two graphics cards, you can now select the GPU to use when launching an application (via right clicking the app / game in the Activities). Under the hood, this uses vga_switcheroo with the switcheroo-control package . Note that switcheroo-control is not available in Ubuntu 17.04, at least for now, but is available in the GNOME 3 Staging PPA;
  • icon theme (Adwaita) updates: improved various device, file type and application icons, including document and folder icons. The high resolution icons are now 512x512px (up from 256x256px);
  • Wacom settings are now compatible with Wayland. Furthermore, Stylus configuration was improved, allowing styli to be configured independently;
  • Flatpak now supports downloading URIs as a part of application installation. This allows applications like Spotify and Skype to be supported;
  • toggle between power-off / suspend button on long-press;
  • the mouse cursor size can now be changed (this should be available in Settings > Universal Access according to the changelog, however, it's not there in Ubuntu 17.04 for some reason, which does have gnome-control-center 3.24.0, but it's still available via Dconf: org > gnome > desktop > interface > cursor-size).

Here are a few of the updated Adwaita icons (the blue icon is the new Nautilus / Files icon and it's shipped with Nautilus, and not the icon theme):

GNOME 3.24 applications
Recipes is a new application added with GNOME 3.24:

The application includes recipes contributed by the GNOME community members and it allows adding and editing recipes, exporting and printing shopping lists, configurable quantities based on the number of servings, notes, as well as a hands-free cooking instructions mode.

GNOME Games, a game manager app that was available as a preview for a while, is now considered stable, and it gained support for Libretro games.
While not available in Ubuntu 17.04 Zesty Zapus (currently under development) yet, GNOME Games is available in the GNOME Staging PPA. However, it doesn't work properly on my system (no games are displayed, not even the default GNOME games), so here's a screenshot from the GNOME 3.24 release notes:

The application includes extensions for Game Boy, Nintendo 64 and DS, and even Steam:

For more about GNOME Games, check out THIS page.

Files (Nautilus):
  • can now automatically ask for a password if additional permissions are required to open a file or folder (e.g. a system folder where only root has access). There's no context menu to open files or folders as root - for that, see THIS article;
  • F2 can now toggle between selection modes, full file name or only file name without extension;
  • recent files are now always files that only the user accessed, rather than any program/daemon like Dropbox updating the access time.

  • improved overview with bigger thumbnails that automatically resize to fill the available space;
  • includes new exposure and blacks editing tools;
  • can now display GPS information.

Web (default GNOME web browser):
  • new address bar which is now visible at all time, except in web app mode;
  • redesigned user interface for bookmarks management. Smart bookmarks support was removed;
  • new popover that displays a list of open tabs;
  • a more visible warning is displayed when accessing insecure password forms;
  • Web now includesEasyList filters;
  • added a new personal data dialog that allows viewing and clearing tracking data;
  • added a new search engine dialog along with support for search engine bangs;
  • experimental HTTPS Everywhere support. This is disabled by default and needs to be enabled at build time;
  • experimental support for bookmarks sync between Web (Epiphany) browsers via Firefox Sync (it cannot sync with Firefox). This is disabled by default and needs to be enabled at build time.

  • it can now handle apt and snap URLs;
  • new icons that indicate when applications are installed;
  • updated presentation for user ratings;
  • it now displays the disk space an application is using in the installed view;
  • added a setting for downloading updates on metered connections (available via Dconf under org > gnome > software > refresh-when-metered).

  • a new popover is displayed when clicking on a username, allowing you to start a conversation if the user is online, or request a notification when an offline user comes online;
  • spell checking;
  • can now run in the background.

Other GNOME applications changes include:
  • Builder includes ehanced support for various build systems, including Flatpak, Cmake, Meson and Rust. The app can now install and update SDKs and toolchains for Flatpak or Rust;
  • Calendar now includes a week view.

Getting GNOME 3.24
Ubuntu GNOME 17.04 (currently in beta, to be released in April; it will ship with most of GNOME 3.24 with a few exceptions, such as Files / Nautilus and GNOME Software) and Fedora 26 (alpha release expected at the end of March) are among the Linux distributions that will ship with GNOME 3.24.
openSUSE Tumbleweed and Arch Linux should get the GNOME 3.24 update soon.
In Debian, GNOME 3.24 is 53% ready in unstable and 51% in testing. See THIS page for more information.
For more information about GNOME 3.24, check out the official release notes.

Qt5 Quick Launcher `Albert` 0.10 Adds New MPRIS And SSH Extensions, More

Tuesday 21st of March 2017 11:11:00 AM
Albert, a Qt5 quick launcher, was updated to version 0.10.0 (and then 0.10.1 to fix some issues), introducing completion using the Tab key, two new extensions, and more.

The latest Albert 0.10 ships with two new extensions: MPRIS and SSH. 
The MPRIS extension allows controlling MPRIS-capable media players, like Rhythmbox, VLC, Audacious and so on. It currently supports play, pause, next, previous and stop.
Note: the MPRIS extension is disabled by default so you'll need to enable it in the Albert Settings > Plugins.
To use it, a MPRIS-capable media player needs to be running, then simply type one of the supported commands in Albert, like pause:

The SSH extension makes ssh hosts from /etc/ssh/config and ~/.ssh/config accessible by Albert. To use it, make sure the Secure Shell extension is enabled in Albert, then type the trigger (ssh) and Albert should list available ssh hosts, allowing you to connect to them.

Other changes in Albert 0.10 include:
  • tab completion using the Tab key. E.g., type 2+2, then select the calculator item, press Tab and Albert will display the result. Alternative actions have been moved to the Alt key (you need to hold Alt to show alternative actions);
  • scrolling using the mouse wheel in the Albert input box now allows navigating through history;
  • the files extension now allows browsing through paths not index by Albert - simply start your query with either / or ~, and Albert will assume it's a path. Thanks to the new tab completion, this makes it easy to navigate the filesystem;
  • the application extension has a new option that allows ignoring OnlyShowIn and NotShowIn keys from desktop files (so you can access applications that are set not to be displayed in your current desktop environment)
  • a new group of themes was added, called Spotlight (there are 3 themes available: Bright, Dark and Space);
  • the terminal extension now supports aliases.

Install Albert in Ubuntu or Linux Mint via PPA
To install Albert in Ubuntu (in all supported versions, including the latest 17.04) or Linux Mint, you can use the main WebUpd8 PPA. Add the PPA and install Albert by using the following commands:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install albertAlternatively, you can download the Albert deb from HERE.

To use Albert, you'll have to assign it a keyboard shortcut, such as Ctrl + Space (make sure it's not already in use!) to invoke it. Also, Albert doesn't start automatically on login, so you'll have to add it to your startup applications manually.
For installing Albert in other Linux distributions, how to use it, etc., see its documentation. If you encounter bugs, report them @ GitHub.

You may also want to check out Kupfer quick lauuncher, a similar application that was recently ported to Python 3 and GTK 3 after 4 years of inactivity.

Fix Dropbox Indicator Menu Not Working In Ubuntu 17.04 Zesty Zapus (Unity)

Tuesday 21st of March 2017 09:30:00 AM
The Dropbox indicator is broken in Ubuntu 17.04 Zesty Zapus (currently in beta): the menu doesn't work and Dropbox uses a different icon, probably because it tries to use the tray instead of the indicator.

This is caused by the fact that the XDG_CURRENT_DESKTOP environment variable was changed from "Unity" to "Unity:Unity7" for Ubuntu 17.04.
Until this is fixed in Dropbox, here's a quick fix / workaround. To get the Dropbox indicator to work in Ubuntu 17.04 Zesty Zapus (with Unity), you'll need to launch Dropbox with "env XDG_CURRENT_DESKTOP=Unity", like this:
dropbox stop
env XDG_CURRENT_DESKTOP=Unity dropbox start -i
To get this to work automatically is a bit tricky because Dropbox overwrites any modifications to its autostart file.

Here are all the steps required to fix the Dropbox indicator menu in Ubuntu 17.04 Zesty Zapus so that Dropbox works when you login / when launched from the menu:
  • rename the Dropbox autostart file from ~/.config/autostart and edit it, changing the "Exec" line to "Exec=env XDG_CURRENT_DESKTOP=Unity dropbox start -i";
  • disable the built-in Dropbox autostart because it automatically creates an autostart file.
  • optional: if you want to also fix the Dropbox menu entry (this isn't used in most cases since Dropbox starts automatically), copy the Dropbox desktop file from /usr/share/applications/ to ~/.local/share/applications/, so it's not overwritten by updates, and change the "Exec" line to "Exec=env XDG_CURRENT_DESKTOP=Unity dropbox start -i"

Initially this article mentioned using "dropbox autostart n" to disable Dropbox from autostarting using its default desktop file, but that apparently only works once now. So here are exact step by step instructions on fixing the Dropbox indicator menu in Ubuntu 17.04, with commands to simplify things.

1. Create a new autostart .desktop file for Dropbox, based on the default one, but modifying the Exec line to use XDG_CURRENT_DESKTOP=Unity:
cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop
sed -i 's/^Exec=.*/Exec=env XDG_CURRENT_DESKTOP=Unity dropbox start -i/' ~/.config/autostart/start_dropbox.desktop
2. Stop Dropbox and start it using XDG_CURRENT_DESKTOP=Unity so you can access its settings:
dropbox stop
env XDG_CURRENT_DESKTOP=Unity dropbox start -i
3. In the Dropbox AppIndicator menu, select "Preferences", then disable "Start Dropbox on system startup".

4. Optional: modify the Dropbox menu entry to use XDG_CURRENT_DESKTOP=Unity:
mkdir -p ~/.local/share/applications/
cp /usr/share/applications/dropbox.desktop ~/.local/share/applications/
sed -i 's/^Exec=.*/Exec=env XDG_CURRENT_DESKTOP=Unity dropbox start -i/' ~/.local/share/applications/dropbox.desktop
The next time you login, the Dropbox indicator menu should now work and it should use the correct icon.
via Dropbox forums

Streamlink Twitch GUI 1.2.0 Adds Support For Communities And Team Pages, Basic Hotkeys

Monday 20th of March 2017 03:07:00 PM
Streamlink Twitch GUI (previously Livestreamer Twitch GUI) is a multi-platform browser.

The application is powered by Node.js, Chromium and Streamlink, though it can still use Livestreamer (which is no longer maintained) too.

Using it, you can easily browse and open streams in your favorite video player, like VLC, Totem, mpv and others.
Streamlink Twitch GUI features:
  • supports both Streamlink as well as the deprecated Livestreamer;
  • watch streams in the video player of your choice;
  • watch multiple streams at once;
  • integrated login (OAuth) with access to subscriptions and followed channels and games;
  • follow your favorite channels and games;
  • filter streams by channel or broadcaster language;
  • displays desktop notifications whenever a followed channel starts broadcasting;
  • join the Twitch chat using different chat applications;
  • customizable settings for streams (like default quality and buffer), video player parameters, GUI and more;
  • individual channel settings;
  • tray / appindicator which allows pausing the notifications;
  • light and dark themes.

Streamlink Twitch GUI 1.2.0

Streamlink Twitch GUI 1.2.0 was released recently, upgrading to Twitch API v5. Thanks to this, the application has received support for browsing communities and accessing team pages.
Another fairly important change in this release is the addition of basic hotkeys:
  • 0: go to homepage
  • 1-8: visit various main menu routes (9 reserved for future VODs menu)
  • F1: about
  • F10: watching
  • F11: login/logout
  • F12: settings
  • Slash: focus search bar
  • Esc/Backspace: close modal dialog (or cancel action)
  • Enter: confirm modal dialog and close it
  • C: open chat (stream popup or channel page)
  • F: follow / unfollow channel
  • E: open Twitch emotes website (stream popup or channel page)
  • U: copy channel URL (stream popup or channel page)
  • S: subscribe channel (stream popup or channel page)
  • Q/X: Close stream (stream popup)
  • L: Toggle Streamlink/Livestreamer log (stream popup)

Other changes in Streamlink Twitch GUI 1.2.0 include displaying a confirmation when unfollowing a channel or game, restructured main menu as well as channel pages and followed games menu, along with various bug fixes.
A complete changelog is available on GitHub.
Note that Streamlink Twitch GUI uses VLC to play Twitch streams by default. if VLC is not installed or you want to use a different player, go to the app Settings > Player > Video player, then enter the executable for a different video player (e.g.: "mpv" - without the quotes).

Download Streamlink Twitch GUI
Download Streamlink Twitch GUI (binaries available for Linux: 32bit and 64bit generic binaries, Windows: 32bit and 64bit and macOS 32bit)
For how to install Streamlink Twitch GUI, see THIS page.

Note that to be able to use Streamlink Twitch GUI, you'll need Streamlink or Livestreamer. However, Livestreamer is no longer maintained and you may encounter issues, so Streamlink is recommended!
To install Streamlink Twitch GUI in Ubuntu, Linux Mint and derivates, use the following instructions.
1. Install the required dependencies

Install Streamlink from the main WebUpd8 PPA (recommended)

Alternatively, you can also install Livestreamer:
sudo apt install livestreamer
If you want to use Livestreamer instead of Streamlink you'll need to open the Streamlink Twitch GUI settings, and on the Streamlink tab, select Livestreamer.
You'll also need x11-utils and xdg-utils. Install these packages in Ubuntu / Linux Mint using the following commands:sudo apt install x11-utils xdg-utils
2. Download and install Streamlink Twitch GUI

Download the latest Streamlink Twitch GUI binary from GitHub, place it in your home folder and extract it. Then, you can use the command below to move it to /opt:cd && sudo mv streamlink-twitch-gui /opt/
3. Create a menu entry for Streamlink Twitch GUI

To create a menu entry, simply run the menu entry creation script that comes with Streamlink Twitch GUI:/opt/streamlink-twitch-gui/add-menuitem.shIf after running the command above you can't find Streamlink Twitch GUI in the menu / Unity Dash or the icon is missing, restart the session (logout / login).

Rclone 1.36 Released With SFTP And Local Symlinks Support, More

Monday 20th of March 2017 12:33:00 PM

Rclone 1.36 was released recently, bringing support for SFTP, local symbolic links support, mount improvements, along with many other new features and bug fixes.
For those not familiar with Rclone, this is a cross-platform command line tool for synchronizing files and folders to multiple cloud storages, which supports Dropbox, Google Drive, Amazon S3, Amazon Drive, Microsoft One Drive, Yandex Disk, and more.
It can be used to sync files either from your machine or from one cloud storage to another.
As a reminder, Rclone doesn't provide real-time file monitoring, and the synchronization is performed on demand (so you must run it manually or using a script, etc.)
For more about Rclone, check out our initial article.

Important changes in Rclone 1.36 include:
  • SFTP remote;
  • re-implement sync routine to work a directory at a time reducing memory usage;
  • logging revamped to be more inline with rsync;
  • implement --backup-dir and --suffix;
  • implement --track-renames;
  • add time-based bandwidth limits;
  • rclone cryptcheck: checks integrity of crypt remotes;
  • allow all config file variables and options to be set from environment variables;
  • add --buffer-size parameter to control buffer size for copy;
  • comply with XDG Base Directory specification (this moves the default location of the config file in a backwards compatible way);
  • MIPS/Linux big and little endian support;
  • local:
    • implement -L, --copy-links flag to allow rclone to follow symlinks;
    • open files in write only mode so rclone can write to an rclone mount;
  • mount:
    • implement proper directory handling (mkdir, rmdir, renaming);
    • make include and exclude filters apply to mount;
    • implement read and write async buffers - control with --buffer-size;
  • crypt:
    • add --crypt-show-mapping to show encrypted file mapping;
    • fix crypt writer getting stuck in a loop (this bug had the potential to cause data corruption when reading data from a network based remote and writing to a crypt on Google Drive).

For a complete changelog, see THIS page.

To use Rclone with a graphical user interface, you may want to check out RcloneBrowser (WebUpd8 provides an Ubuntu PPA for RcloneBrowser so you can easily installing updates).

Download Rclone
Download Rclone 
(binaries available for Linux: 32bit, 64bit, arm, arm64 and mips big and little endian, Windows :32bit and 64bit, MacOS: 32bit and 64bit, FreeBSD: 32bit, 64bit and arm, and more)
In Linux distributions that support snap packages (Ubuntu and many others), you can install rclone using the following command:
sudo snap install rclone --classic
If you already had Rclone installed using a snap, it should already be up to date (this depends on the snapd version you're using). Alternatively, you can update it using the following command:
sudo snap refresh rclone --classic
For how to use Rclone, you may want to check out its documentation.

Important: if you use the Rclone snap package, you won't be able to mount any cloud storage (bug report). When attempting to mount Google Drive, Dropbox, etc., you'll get an error similar to the following:Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATHThe solution, at least for now, use the Rclone binary downloaded from its website.

To download the source, report bugs, etc., see the Rclone GitHub page.

Terminix Terminal Emulator Renamed To Tilix, Sees New Bugfix Release

Monday 20th of March 2017 11:08:00 AM
[Quick update] Terminix, a GTK3 tiling terminal emulator, has been renamed to Tilix due to some trademark issues.

Besides the new name, there's also a new version, 1.5.4, which includes a few bug fixes:
  • detaching terminal in Wayland by dropping it on desktop now works identically to X11;
  • fixed issue with outdated LDC libraries on Fedora, this should allow COPR to work again;
  • fixed issue with close dialog and long process names resulting in excessively wide dialog box;
  • removed animation hint feature from quake mode as it was causing focus issues;
  • fixed crash when loading multiple sessions from file.

Note that in my test, the Terminix settings weren't migrated to Tilix, so if you changed some of its settings, you'll need to do it again for Tilix. Update: to migrate your Terminix settings to Tilix, see the Migrating from Terminix section on the Tilix GitHub page.

Also, if you use Tilix as a drop-down terminal, remember to change the command from "terminix --quake" to "tilix --quake".

Install Tilix (previously Terminix) in Ubuntu or Linux Mint via PPA
I updated the package in the WebUpd8 Terminix PPA to use the new Tilix name. To make sure those who have previously installed Terminix will receive an update with the new package, I added a transitional package, so updating using Update Manager, Synaptic, apt, and so on, should upgrade to Tilix 1.5.4.
I will continue to use the ppa:webupd8team/terminix PPA for Tilix, because PPAs can't be renamed (besides the PPA title).

I should also note that the PPA now provides Tilix packages for Ubuntu 17.04 (which has Terminix an old 1.4.2 version available in the official repositories).
To add the WebUpd8 Tilix PPA and install the latest Tilix in Ubuntu 17.04 Zesty Zapus, 16.10 or 16.04 / Linux Mint 18.x, use the following commands:sudo add-apt-repository ppa:webupd8team/terminix
sudo apt update
sudo apt install tilix
For installing Tilix in other Linux distributions, reporting bugs, etc. see its webpage.

Automatically Organize Your Downloads Folder In Linux Using `Classifier` (Command Line)

Thursday 16th of March 2017 02:43:00 PM
My downloads folder is pretty messy but I can't just delete things because I still need most of the stuff I download. To "fix" this, I was looking for an app that can automatically organize my downloads, and I stumbled upon Classifier, an easy to use command line tool that can organize files in any directory.
Here's an example - on the left there's a folder which contains various file types (images, archives, documents, etc.) and on the right it's a folder that contains the exact same files as the folder on the left, but after running Classifier to organize it (into folders):

Classifier organizes a directory based on file extension, moving the files into specific folders, like music, documents, images and so on.
I should also note that while this article mentions organizing the downloads folder, Classifier can be used to organize files in any any directory.
To organize files in the downloads (~/Downloads) folder, either run Classifier in that folder with no arguments, e.g.:
cd ~/Downloads
classifierOr specify the directory as an argument, like this:
classifier -d ~/Downloads
Classifier can also organize specific file types that aren't classified by default, organize by creation date and more. You can find a few examples on its GitHub page.
Here are all Classifier options:
$ classifier --help
usage: classifier [-h] [-st SPECIFIC_TYPES [SPECIFIC_TYPES ...]]

Organize files in your directory instantly,by classifying them into different

optional arguments:
-h, --help show this help message and exit
Move all file extensions, given in the args list, in
the current directory into the Specific Folder
Folder to move Specific File Type
-o OUTPUT, --output OUTPUT
Main directory to put organized folders
The directory whose files to classify
-dt, --date Organize files by creation date
Since the tool organizes files only when it's ran, and you may not want to run it manually every day / hour, etc., you can create a cron job to run it periodically. For those who are not very familiar with Cron, here's an online crontab generator (use the full path to the classifier executable in the crontab if you install it using the instructions in this article).
Important: Classifier doesn't display any warning or confirmation when moving files, and there's no way to undo any operations it performs, so make sure you run it in the correct folder and / or with the correct arguments!
Tip: for a somewhat similar tool which doesn't organize folders based on file types, but based on when the files were last accessed, check out Download Sweeper.

Install Classifier
1. Classifier can be installed using Python pip (you'll also need python-setuptools). To install python-pip and python-setuptools in Ubuntu, Debian, Linux Mint and other Debian-based Linux distributions, use the following command:sudo apt install python-pip python-setuptools
2. Next, install Classifier (for the current user only) using the commands below (the first command installs wheel because it looks like the installation fails if it's not installed first):
pip install --user wheel
pip install --user classifier
3. The Classifier executable is installed under ~/.local/bin, and this may not be in your PATH by default. To add ~/.local/bin/ to your PATH, paste PATH="$HOME/.local/bin:$PATH" in your ~/.bashrc file (replace it with ~/.zshrc if you use Zsh) file. You can use the command below to do this from a terminal:
echo "PATH=\"\$HOME/.local/bin:\$PATH\"" >> ~/.bashrc
And finally, source the ~/.bashrc (or ~/.zshrc if you use Zsh) so the new configuration is used in the current terminal (opening a new shell should work as well):
. ~/.bashrc(there's a dot, then a space followed by ~/.bashrc)

Later on, if you want to update Classifier, use the following command:
pip install --user --upgrade classifier
To download the Classifier code, report bugs, etc., see its GitHub page.

`PB For Desktop`: Cross-Platform Desktop App For Pushbullet (Supports Android Notification Mirroring On Linux Desktops)

Wednesday 15th of March 2017 01:40:00 PM
KDE Connect (with KDE Connect Indicator for Unity and other desktops that support AppIndicators) is great for integrating Android devices with your desktop. However, KDE Connect depends on quite a few KDE packages, which some users don't want to install on their GTK-based desktops.

An alternative to KDE Connect is Pushbullet. While the free version has some limitations and it doesn't offer all the features available with KDE Connect, it does provide options to send files up to 25MB, send messages from your desktop (limited to 100/month in the free version, and a storage cap of 2GB) and most importantly, it can mirror your phone's notifications on the desktop.
Note that Pushbullet requires both the Android device and desktop to be connected to the Internet, but they don't have to be in the same network.
Pushbullet Pro (US $3.33/mo if you pay yearly or US $4.99/mo if you pay monthly) offers more features, like universal copy & paste, unlimited messages, send files up to 1GB with 100GB storage space and more.
I should also note that Pushbullet supports both Android and iOS but for the former, notification mirroring is only supported on Mac.
On Linux, Pushbullet can be used with a browser extension, however, if you want to use it as a stand-alone app, you can give PB For Desktop a try.

PB For Desktop is an unofficial open source Electron-based application for PushBullet, available for Linux, macOS and Windows. Among its features are:
  • mirror Android notifications on your desktop;
  • native desktop notifications;
  • configurable sound notifications;
  • option to snooze notifications for 1, 4 or 8 hours;
  • send and receive SMS using your Android devices from the desktop (with autocomplete for contacts / phone numbers);
  • runs as a tray/appindicator;
  • simple setup, no need to use API keys, etc.;
  • channel-specific icon images for most notifications;
  • previews for pushes containing images;
  • Pushbullet pro only: universal copy & paste.

Note: PB For Desktop uses native notifications without any dismissible dialog, so you may miss notifications if you're away from the computer. A way to avoid missing important notifications on desktops that support AppIndicators is to use Recent Notifications Indicator.

Download PB For Desktop
Download PB For Desktop - includes binaries for Linux (32bit, 64bit and armv7 deb, rpm, and AppImage), Windows and Mac.
To use it, you'll also need to install Pushbullet (requires signing up) on your Android or iOS (but remember that for iOS, mirroring notifications on your desktop isn't supported unless you're using macOS) device.
As an alternative, you may also want to check out Pushbullet Indicator (hasn't been updated in a while but it still works).

Todo Indicator Fork Adds Context Filtering [Quick Update]

Wednesday 15th of March 2017 01:20:00 PM
Todo Indicator is an AppIndicator to for todo.txt-style todo lists. The indicator displays the list of tasks from a todo.txt file and lets you mark tasks as done directly from the indicator.

The original Todo Indicator was last updated back in May, 2014, so WebUpd8 reader William decided to fork it and add a new feature: filtering based on a specific context or project. Furthermore, indicator was updated to work with either Python 2 or Python 3.
To filter todo items, run Todo Indicator as follows:todo-indicator -f @filter ~/todo.txt
Were "@filter" is the context or project. For example, running Todo Indicator with "-f @work" will only display todo items that contain the "@work" context. For more about the Todo.txt format, see THIS page.
For those not familiar with todo.txt, this is a minimalist todo list format for which the data is stored in a simple text file. Because it uses a simple text file, the todo can easily be edited without needing to install extra software and it can be synchronized across devices using any cloud sync service. Furthermore, there are todo.txt apps available for pretty much any operating system (mobile clients and command line tools included).

Install Todo Indicator in Ubuntu or Linux Mint
Since the original Todo Indicator hasn't been updated in a long time, I decided to replace the Todo Indicator package from the main WebUpd8 PPA with William's fork.

To add the PPA and install the app in Ubuntu or Linux Mint, use the following commands:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install todo-indicator
If you don't want to add the PPA, download the deb from HERE.

Note that you won't find Todo Indicator in the menu. To start it for the first time, press ALT + F2 and type "todo-indicato todo.txt". This will create a todo.txt file in your home folder (if it doesn't already exist), but you can also specify a different filename as well as its path.

The WebUpd8 package sets Todo Indicator to start automatically on system startup. By default it uses a todo.txt file in your home folder (which it creates if it doesn't exist). If you want to change the filename and path, copy the todo-indicator.desktop file from /etc/xdg/autostart/ to ~/.config/autostart/ and edit it to point to a different file.

To download the source, report bugs, etc., see the Todo Indicator fork GitHub page.

Fix VirtualBox 5.1.x Focus Issues On GNOME Desktops (Not Being Able To Move VM Windows In GNOME Shell, Clicking On Indicators In Unity)

Thursday 9th of March 2017 01:18:00 PM
If you use VirtualBox 5.1.x with a GNOME desktop (GNOME Shell, Unity and possibly other GTK-based desktops as well), you may have noticed that there are some focus-related issues:
  • in GNOME Shell (host), virtual machine windows can't be moved unless clicking on another window, then moving the virtual machine window;
  • in GNOME Shell (host), the Activities Overview can't be accessed if a virtual machine is focused;
  • in Unity (host), clicking on an indicator while a virtual machine is focused results in the indicator menus not being displayed.

Here's a screenshot showing what happens in Unity when indicators are clicked while a VirtualBox 5.1.x virtual machine is focused:

I'm not sure if this issue is related to a specific GTK or Qt (VirtualBox 5.1.x uses Qt5) version. It occurs on my laptop running Ubuntu 16.10 (64bit), but other Ubuntu flavors as well as other Linux distributions might be affected as well.
The fix / workaround for the VirtualBox focus issue is very simple. All you have to do is open the VirtualBox preferences (File > Preferences) and on the "Input" tab, disable the "Auto Capture Keyboard" option:

The workaround mentioned above has a drawback though: some keyboard shortcuts will not work in the guest virtual machine while the "Auto Capture Keyboard" option is disabled. For example, using Ctrl + Alt + T to open a new terminal window won't work in the guest virtual machine. Other shortcuts, such as Ctrl + C, Ctrl + Shift + C, etc. will continue to work though.

Meteo Qt Is A Nice Qt5 Weather Tray Application

Thursday 9th of March 2017 11:35:00 AM
Meteo Qt is a tray application that displays the current weather temperature on the panel, with a 6-day forecast easily accessible from its menu. 

Meteo Qt in Kubuntu 17.04
The application is based on Python 3 and Qt 5, and while it is aimed at Qt-based desktops (like KDE Plasma or LXQt), it works pretty well on GTK-based desktops as well (either as a tray or as an AppIndicator).
Meteo Qt features:
  • uses weather data from OpenWeatherMap;
  • the weather status window displays detailed day forecast (with wind speed and cloud % in tooltips) as well as a 6-day weather forecast (which includes precipitation, wind, pressure, humidity and cloudiness in the tooltips);
  • supports adding multiple cities (including temporary cities);
  • configurable temperature unit (Celsius, Fahrenheit or Kelvin) and update interval;
  • configurable tray / AppIndicator:
    • font size;
    • font color (using a color picker);
    • display the temperature, icon or both in the same time;
  • optional notifications on weather update;
  • proxy support;
  • option to start automatically at system startup.

To use Meteo Qt, you'll need to sign up to OpenWeatherMap to get a personal API key (free). After logging in to your OpenWeatherMap account, head to, click on "API Keys", copy the key:

... and paste it in the Meteo Qt settings.

Important: the activation of an API key for free OpenWeatherMap accounts takes 10 minutes!
Meteo Qt Unity
To use Meteo Qt with an AppIndicator, set the "System tray icon" option to "Temperature" only, or else the font and icon will be too small or they will overlap. Also, set the font size to 26, and if you use it in Unity with Ambiance theme, set the font color to "#dfdbd2". Here are the settings I'm using under Unity:

Install Meteo Qt in Ubuntu (and flavors) 16.04 or 16.10
Meteo Qt is available in the GetDeb repositories. For those not familiar with GetDeb, this is a project that provides Ubuntu packages for applications that aren't available in the official Ubuntu repositories as well as newer versions for packages from the official Ubuntu repositories, kind of like the WebUpd8 PPAs.
To install Meteo Qt in Ubuntu 16.04 or 16.10 (and derivatives like Kubuntu, etc.), follow the instructions below:
1. To add the GetDeb repository, install THIS deb or follow the instructions on the GetDeb website.
2. After adding the repository, update the software sources and install Meteo Qt using the following commands:sudo apt update
sudo apt install meteo
If you don't want to add the PPA, download the Meteo Qt deb from HERE (note that you won't receive any updates unless you add the repository). The deb should also work in Ubuntu (or Kubuntu, etc.) 17.04.
For how to install Meteo Qt in other Linux distributions, report bugs and so on, see its GitHub page.

Import Your Geotagged Photos In Google Earth With Mapollage (KML File Generator)

Wednesday 8th of March 2017 12:50:00 PM
Mapollage is a Java tool that can be used to put your geotagged photos on the map by creating an KML file that can be used with Google Earth.

Here's a quick demo of a KML file I created using Mapollage, loaded in Google Earth for Linux:

Mapollage features:
  • Create kml folders by directory name, date pattern and regex;
  • Placemark names can be set to filename and date pattern;
  • Placemark symbol can be set to pin or photo, with customizable scale and zoom;
  • Dynamic description generator;
  • Customizable photo reference and size;
  • Draw path between placemarks.

The application was updated to version 1.0.4 recently, bringing options to rotate thumbnails, add .jpg extension to thumbnails, as well as a filter that allows excluding file paths using a filter.
To use Mapollage, you'll need Java 8 (both OpenJDK and Oracle Java 8 should work), and obviously, geotagged photos. If your photos are not geotagged, there are various tools out there to do this manually, like ExifTool (here's a quick guide for geotagging photos using ExifTool).
Running Mapollage in Linux is fairly easy. Either directly double click the .jar file or right click it and select Open With > Oracle Java 8 Runtime or OpenJDK Java 8 Runtime.
Note that for OpenJDK, you'll need to make the file executable (with Nemo / Nautilus, right click the file, select Properties, then on the Permissions tab, enable "Allow executing file as program").
Once you start Mappolage, create a new profile (1), add a folder (2) containing geotagged photos and click the start button (3) to generate a KML file:

You can change the placemark symbol (photo / pin) and name (filename / date / no name) from the Placemark tab.
That's it. The newly created KML file can now be opened with Google Earth. Your photos should show up under Temporary Places, as you can see in the Google Earth screenshot above.

Download Mapollage
Download Mapollage
Arch Linux users can install Mapollage via AUR.

To report bugs, download the source code, etc., see the Mapollage GitHub page.

Firefox 52 Released With WebAssembly Support, Removes NPAPI Plugins Other Than Flash (Java, Silverlight)

Tuesday 7th of March 2017 05:24:00 PM
Firefox 52 was released today and it includes two major changes: support for WebAssembly and the removal of support for NPAPI (Netscape Plugin API) plugins like Silverlight, Java, and others, with the exception of Flash.

Dropping support for NPAPI plugins isn't something new in the web browsers world - Google Chrome did this back in 2015, leaving Mozilla Firefox as the best choice for those who had to use such plugins. But that's about to end, with Firefox 52.

Furthermore, Mozilla plans to activate Flash in Firefox only with user consent. This change is expected "later this year".

In case you're wondering about the Firefox NPAPI plugin that allows installing extensions for GNOME Shell, it no longer works. However, Chrome GNOME Shell doesn't only support Chrome-based web browsers, but also Firefox.

As for Google Hangouts, audio and video calls currently don't work in Firefox 52 due to dropping support for NPAPI plugins, however, Google is working on a "fix".

I should also add that while Firefox 52 no longer supports NPAPI plugins other than Flash, there's a way around this - see below.

Another major change in the latest Firefox 52 is the addition of WebAssembly, a standard that allows running complex web-based games and applications at near-native performance, without using plugins.

You can learn more about WebAssembly by watching the video below:

(direct video link)
Other changes in the latest Firefox 52 include:
  • Sync can now send and open tabs from one device to another;
  • improved the download experience:
    • added notifications in the toolbar when downloads fail;
    • Firefox now provides quick access to the latest 5 downloads instead of 3;
    • the buttons for canceling and restarting downloads are now larger;
  • security / privacy:
    • implemented the Strict Secure Cookies specification which forbids insecure HTTP sites from setting cookies with the "secure" attribute;
    • added warnings for non-secure HTTP pages with logins;
    • removed Battery Status API to reduce fingerprinting of users by trackers;
  • developer:
    • enabled CSS Grid Layout;
    • improved screen sharing security, which now shows a preview and no longer requires a whitelisted domain;
    • redesigned the Responsive Design Mode (can be accessed from the Web Developer submenu) to include device selection, network throttling, and more.

A complete list of changes can be found HERE.

How to continue using NPAPI plugins like Java with Firefox 52

If you need to use NPAPI plugins such as Java, you may think you can simply not upgrade to the latest Firefox 52, but that's a bad idea because you won't take advantage of the latest security updates.

However, there is a way to continue using NPAPI plugins in Firefox - use Firefox ESR (Extended Support Release) instead.
The latest Firefox 52 ESR continues to allow using NPAPI plugins, and it is supported until May 2018.
Update (thanks to grof for the tip!): another way to enable NPAPI plugins other than Flash, which works with Firefox 52 (not ESR; will probably not work with future Firefox versions) is to type "about:config" (without the quotes) in the address bar, then right click, select New > Boolean, enter "plugin.load_flash_only" (without the quotes) as the new Boolean value and set it to false. Once you're done, restart Firefox.

Download Mozilla Firefox
Download Firefox
For Ubuntu / Linux Mint users, the latest Firefox 52 should be available in the official repositories soon.

To continue using NPAPI plugins like Java, Silverlight and so on, get Firefox ESR.
After downloading the latest Firefox ESR for Linux, extract it and simply double click on the "firefox" executable to run it. To create a launcher for it (so it shows up in the menu), you can use a tool such as MenuLibre (it's available in the official Ubuntu / Linux Mint repositories).

Lightweight Paint Software mtPaint 3.50 Dev Available In PPA For Ubuntu or Linux Mint

Tuesday 7th of March 2017 02:25:00 PM
mtPaint is a lightweight open source paint application for Linux and Windows. It is is aimed at creating indexed palette images and pixel art, and is designed to be simple and easy to use.

While the last stable mtPaint version was released back in 2011, there have been quite a few development releases since then, with the last one dating to June, 2016. I couldn't find a PPA with the latest mtPaint 3.50 development releases, so I created one to make it easy to install in Ubuntu and Linux Mint.
mtPaint features:
  • image manipulation:
    • quickly transform image gamma, brightness, contrast, saturation, hue, posterize from a single dialog, and preview the results in real time;
    • apply various effects such as invert, greyscale, isometric transformations, edge detect, sharpen, unsharp mask, soften, Gaussian blur, emboss, bacteria;
    • use gamma correction on effects to improve the quality of various effects;
    • crop images;
    • resize and rescale the canvas;
  • pixel art:
    • edit indexed palette or RGB images;
    • open and save as BMP, GIF, JPEG, LSS, PNG, TGA, TIFF, XPM, XBM files;
    • extensive palette features - load, save, sort, edit, posterize, quantize, remove duplicate colors, remove unused colors, color protection, palette shifting;
    • supports up to 100 layers;
    • create animations by moving layers, or shifting palettes;
    • create animated GIF's using Gifsicle;
    • tools to shuffle pixels, flood fill, draw straight lines, smudge, clone, paste text, draw/fill rectangle/ellipses;
  • interface:
    • keyboard shortcuts;
    • easily toggle toolbars on/off;
    • horizontal and vertical split view mode;
    • pixel grid for guidance at high levels of zoom;
    • up to 1000 undo steps.

The latest mtPaint 3.50 development release (3.49.12) ships with a huge list of new features and improvements, most notably:
  • scripting (from the menu select Image > Script) and command line (allows adding a script without the GUI, by using "mtpaint --cmd") mode added;
  • rendering now uses multiple threads to utilize all available CPU cores;
  • keyboard shortcuts can now be customized (Help > Keyboard shortcuts);
  • added optional gamma correction for painting and masking (Preferences > General > Use gamma correction when painting);
  • text tools now allow selection of DPI value, and alignment for multiline text;
  • composite images now can have alpha transparency, when background is non-opaque;
  • color transform and source selection added to blend mode options;
  • multiple clone tool improvements;
  • raw RGB palette files (6-bit PAL and 8-bit ACT) can now be loaded/saved via the Palette menu;
  • new image format PMM (Portable MultiMap) added for interoperable storage and exchange of images;
  • dimensions can now be specified when loading SVG files;
  • lasso tool can be configured to shrink selection based on the selection channel - right click the tool icon;
  • zoom is now up to 8000%;
  • animation frames now can be saved in any suitable supported file format;
  • many other changes and bug fixes.

A complete changelog can be found HERE.

Install the latest mtPaint development release in Ubuntu or Linux Mint via PPA
mtPaint 3.40 (stable) is available in the official repositories so if you want to use the old version, released back in 2011, you can install it using the following command:sudo apt install mtpaint
To install the latest mtPaint 3.50 development release (version 3.49.12 at the time I'm writing this article) in Ubuntu or Linux Mint, you can use the new WebUpd8 mtPaint PPA. 
I decided to create a new PPA so you can easily purge the PPA to go back to the version available in the official Ubuntu / Linux Mint repositories, without affecting other packages.
Add the PPA and install the latest mtPaint 3.50 development release in Ubuntu 16.10, 16.04 or 14.04 / Linux Mint 18.x or 17.x by using the following commands:sudo add-apt-repository ppa:webupd8team/mtpaint
sudo apt update
sudo apt install mtpaint
I also uploaded the latest mtPaint documentation to the PPA, as a separate package. To install it (it's listed as a "recommended" package and it will be automatically installed in Ubuntu in most cases, but not in Linux Mint), after adding the PPA, use the following command:sudo apt install mtpaint-handbookThe documentation can be accessed from the mtPaint Help menu.

If you don't want to add the PPA, you can grab the deb from HERE (but you won't receive any updates!).
For other Linux distributions, download the latest mtPaint source code from GitHub.
Windows users can download mtPaint stable from SourceForge.

How to downgrade mtPaint to the version available in the Ubuntu repositories
If for some reason you don't want to use the latest mtPaint 3.50 development release and you want to go back to the version available in the official Ubuntu repositories, you can use PPA Purge. 
PPA purge will disable the WebUpd8 mtPaint PPA and downgrade mtPaint. To do this, use the following commands:sudo apt install ppa-purge
sudo ppa-purge ppa:webupd8team/mtpaint

Numix-Based GTK Theme Generator Tool Oomox 1.2.0 Released With Improved Unity Support, More

Monday 6th of March 2017 02:28:00 PM
Oomox is a tool that allows generating color variations of the popular Numix GTK2 / GTK3 theme, as well as icons to match them.
The application comes with a large number of built-in presets that can be further customized, and it supports GNOME, Unity, Xfce4 and Openbox.

The minimum GTK3 version required to use it is 3.18 (so it supports Ubuntu 16.04 and newer). The themes might work with older GTK3 versions, but you may encounter issues.

Oomox already had Unity support, but with the latest 1.2.0 version, themes generated with it now have the correct window buttons color instead of the default Numix color:

Furthermore, there's a new option to use the default Unity launcher style (off by default). Without turning this option on, this is how Unity Launcher looks with themes generated using Oomox (and Numix GTK theme):

Here are the most important changes in the latest Oomox 1.2.0:
  • generate Unity theme (the default Numix theme was previously used): themes created with Oomox now use the proper window buttons color under Unity;
  • there's a new option to use the default Unity launcher style (off by default);
  • generate Metacity theme;
  • generate color palette for Qt5ct (tested with Fusion Qt5 theme);
  • allow configuring window manager border colors (this also fixes a bug with non-CSD apps having a border around the titlebar with GTK 3.20, e.g. Ubuntu 16.10);
  • support for theming GTK text caret;
  • added keyboard shortcuts and other GUI improvements.

Below you'll find a few examples of themes generated using Oomox:

Shiki Noble preset with GNOME Colors-based icons

Shiki Noble preset

Omega 2 preset with ArchDroid-based icons
Omega2 preset
Solarized Dark preset with GNOME Colors-based icons
Solarized Dark preset
Yesterday Night Dark preset with GNOME Colors-based icons
Yesterday Night Dark preset

Oomox tweaks: get icons to support Unity panel (monochrome icons), fix GTK themes for applications running as root
A. Get icon themes exported by Oomox to support the Unity panel (use Ubuntu Mono Dark / Light icons)
Oomox can export icons (based on GNOME Colors and ArchDroid) to match the GTK theme, but there are no monochrome icons for the Unity panel. However, there's an easy way to get the icon themes generated by Oomox to support Unity (force them to use monochrome icons on the Unity panel).
To do this, follow the instructions below.

1. Using your file manager, navigate to the ~/.icons folder (.icons is a hidden folder in your home directory so press Ctrl + H to display hidden folders), and in the Oomox icon theme directory (oomox-THEMENAME for GNOME Colors and oomox-THEMENAME-flat for ArchDroid-based icons), open the index.theme file with a text editor.

In this file, replace the line that starts with "Inherits" (it's usually on line 4) with the following:Inherits=ubuntu-mono-dark... and save the file.

"ubuntu-mono-dark" is for dark panels (light monochrome icons). If the GTK theme you're using provides a light Unity panel color, use "ubuntu-mono-light" for the "Inherits" line, so the icon theme uses dark monochrome icons.

2. The next step is to remove some of the colored icons created by Oomox so they don't show up on the Unity panel (and thus making the icon theme use the Ubuntu Mono Dark or Light icons for the panel).
For GNOME Colors-based icon themes, inside each icon theme subfolder (~/.icons/oomox-THEMENAME/16x16, 22x22, scalable, etc.), remove the "status" and "devices" folders.

For ArchDroid-based icon themes:
  • remove the "system.svg" icon from the ~/.icons/oomox-THEMENAME-flat/devices/scalable folder;
  • remove the ~/.icons/oomox-THEMENAME-flat/status folder.

That's it. You can further customize the theme as you wish, so for instance, if you don't want ArchDroid-based icons for applications, also remove the "apps" folder, etc.

B. Get themes exported using Oomox to work with applications running as root
Oomox exports the GTK themes under the ~/.themes folder, while the icons are exported in the ~/.icons folder. Since these are not used system-wide, if you run an application as root, it won't use the Oomox-generated themes.

To fix this:
  • copy the GTK themes from ~/.themes to /usr/share/themes/
  • copy the icon themes from ~/.icons to /usr/share/icons/

Download Oomox
Ubuntu 16.04 and 16.10 / Linux Mint 18.x users can install Oomox by using the main WebUpd8 PPA. To add the PPA and install the latest Oomox, use the commands below:sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install oomoxIf you don't want to add the PPA, you can grab the latest Oomox .deb from HERE (while not tested, this should also work in Debian).
To get Oomox to generate icon themes, you need to install Inkscape and Imagemagick. Install them in Ubuntu, Linux Mint or Debian using the following commands:sudo apt install imagemagick inkscape
Arch Linux users can install Oomox via AUR.

To download Oomox for other Linux distributions, report bugs, etc., see the Oomox GitHub page.

Uber CLI: Quickly Get Uber Time-To-Pickup And Price Estimates From The Command Line

Thursday 2nd of March 2017 02:43:00 PM

Uber CLI is a tool to get time-to-pickup and price estimates for Uber from the command line. The application cannot be used to request Uber rides.
This is useful if you use Uber and the command line a lot, as it's much faster than checking these details on your phone, especially if you create some Bash aliases for your home address and the places you frequently use Uber to get to.
The developer says that he created Uber CLI because "[...] as a lazy person it pains me every time [I] open my phone, open the Uber app, type my destination, and see the estimated price, only for my inner, responsible, cost-cutting, fiduciary-self to end up taking the bus all the way home. I think we can all agree that it would be much more efficient to simply be disappointed before I open my phone at all".

Installing and using Uber CLI
1. To install Uber CLI, you'll need Node.js and npm.

For Ubuntu 16.04 and newer, you can use the Node.js and npm packages from the official repositories:
sudo apt install nodejs npm
For Ubuntu versions older than 16.04, you'll need a newer Node.js/npm version. This can be installed by using the official Node.js repository. You'll find exact instructions HERE (in my test I installed Node.js 6.x in Ubuntu 14.04 and uber-cli installed without any issues).

2. Install Uber CLI

Before proceeding, you may wish to set up npm to allow installing packages globally without sudo. For how to do this, see our previous article. You can skip this and use the command below with sudo, but that's not recommended!

To install Uber CLI, simply type the following command in a terminal:
npm install uber-cli -g
That's it. You can now start using Uber CLI. To get a time-to-pickup estimate, use the following command:
uber time 'pickup address'replacing 'pickup address' with the address the Uber ride should pick you up.

Here's an example:
$ uber time '10 downing street london uk'
│ 10 Downing St, Westminster, London SW1A 2AA, UK │
│ │ │
│ 2 min. │ uberPOOL,uberX,uberXL │
│ 4 min. │ UberEXEC │
│ 6 min. │ UberLUX │
│ 8 min. │ uberASSIST │
│ 17 min. │ uberWAV │
│ 14 min. │ taxi │
You may skip the city and country - in my test, this worked without any issues, but I assume it is required in cases where there are multiple streets with the same name, etc.

To get price estimates, use the following:
uber price -s 'start address' -e 'end address'replacing the start and end addresses with the actual locations.

Here's an example:
$ uber price -s '10 downing street london uk' -e '221b baker street london uk'
│ │ │ │ │ Surge │
│ uberPOOL │ £10-£11 │ 3.74 mi. │ 20 min. │ │
│ uberX │ £9-£12 │ 3.74 mi. │ 20 min. │ │
│ uberXL │ £13-£17 │ 3.74 mi. │ 20 min. │ │
│ UberEXEC │ £17-£23 │ 3.74 mi. │ 20 min. │ │
│ UberLUX │ £27-£35 │ 3.74 mi. │ 20 min. │ │
│ uberASSIST │ £9-£12 │ 3.74 mi. │ 20 min. │ │
│ uberWAV │ £9-£12 │ 3.74 mi. │ 20 min. │ │
│ taxi │ ?undefined-?undefined │ 3.74 mi. │ 20 min. │ │
│ │ 10 Downing St, Westminster, London SW1A 2AA, UK │
│ │ 221B Baker St, Marylebone, London NW1 6XE, UK │
The blank cells in the examples above are Emoji, but I removed them so the columns don't get messed up. To get Emoji support in Linux, install the EmojiOne Color SVGinOT font (but note that it doesn't work properly with monospace formatted text and causes incorrect character alignment, or at least that's the case at the time I'm writing this).

app seen @

Configure npm To Install Packages Globally Without sudo Using A Script

Thursday 2nd of March 2017 01:15:00 PM

npm is the default package manager for Node.js. It consists of a command line client that integrates with a remote registry, and it makes it easy to install, share and distribute code.

If you're using npm installed from a repository in Linux (like the official Ubuntu or Node.js repositories), you may have noticed that you can't install packages globally ("-g") as a regular user. Many websites mention installing npm packages using sudo, but this messes up some permissions and is not recommended.

The easiest way to get npm to download packages globally without sudo ("npm install -g <package>") in Linux is to use a script, called npm-g_nosudo, to automatically set everything up.

The script GitHub page mentions that it was tested on Ubuntu 14.04 with Bash, but I don't see why it wouldn't work in other Linux distributions.

As an alternative, you can use THESE instructions to set up npm to install packages globally without sudo in Linux.

Here's what the npm-g_nosudo script does:
  • creates a backup list of your installed npm packages and removes all but npm;
  • then it creates a local directory and configures node to use this for global installs (~/.npm-packages); this (optionally) includes adding the local directory and bin paths to ~/.bashrc or ~/.zsh;
  • it fixes permissions for the ~/.npm directory;
  • and finally, it reinstalls the old packages.

The reason behind publishing this article is to be able to link to it in future posts that mention installing npm packages, to make it easy for users to install them the recommended way - without sudo.

Another way of installing packages with npm in Linux without sudo is by using NVM to install Node.js, instead of a repository.

Configure npm to install packages globally without sudo on Linux (using npm-g_nosudo)
Before proceeding, it's important to mention that you should never run scripts without understanding what they do. So take a look at the npm-g_nosudo script before running it!

To download the npm-g_nosudo script and run it, use the following commands:
cd && wget
chmod +x
The script will ask you to choose the install directory - you can press ENTER to use the default directory (~/.npm-packages). The second and final step is to choose if if you want to update ~/.bashrc and ~/.zsh with the new paths - type "y" and press ENTER to do this automatically, or "n" to perform these changes manually.

Once you're done, remember to source ~/.bashrc or ~/.zshrc, depending on what you use (or launch a new terminal):
- for Bash:
source ~/.bashrc- for Zsh:
source ~/.zshrc

Skype For Linux Enters Beta, Adds Support For Video Calls With Other Platforms

Thursday 2nd of March 2017 09:29:00 AM
The new Skype for Linux app was released as an alpha version back in July, and it included support support for one-to-one and group voice calls, but no video call support. Video call support was added back in October, but only between Skype for Linux Alpha clients

This changes with the latest Skype 5.0 for Linux, which was promoted from Alpha to Beta. The latest version adds support for one-to-one video calls with Skype for Android, iOS, Windows, and Mac.

Another important change in the latest Skype for Linux 5.0 beta is support for calling to mobiles and landlines with Skype credit.
Also, with this release, you no longer need to download Skype for Linux from the Skype forums - instead, you can simply go to

Here's the list of changes in Skype for Linux 5.0 beta:
  • support for calls to mobiles and landlines with Skype credit;
  • one-to-one video calls can now be made from Linux to Skype users the latest versions of Skype for Android, iOS, Windows, and Mac;
  • Linux users can now view shared screens from other Skype desktop clients (Windows 7.33 and above, Mac 7.46 and above);
  • Unity launcher now shows the number of unread conversations;
  • online contacts in contact list now include Away and Do Not Disturb statuses;
  • performance improvements and bug fixes.

Download Skype for Linux 5.0 Beta (64bit only)
Download Skype for Linux (64bit only! deb and rpm binaries available)
Note that in Ubuntu / Linux Mint (and I assume Debian too), installing Skype for Linux adds its official repository, so you should receive updates directly through Software Updater (or whatever your Linux distribution uses).

Arch Linux users can install Skype for Linux Beta via AUR (64bit only!).

Argos Lets You Create GNOME Shell Extensions From Scripts (W/ BitBar Plugin Support)

Tuesday 28th of February 2017 09:21:00 AM
Argos is a tool inspired by the BitBar app for Mac, which makes it easy to create your own GNOME Shell extensions, using information provided via scripts.
Being a GNOME Shell extension itself, Argos adds a button with a dropdown on the GNOME Shell top panel. This button can display or expose functionality provided by a script, be it Bash, Python, Ruby, and so on (remember to make it executable or else Argos won't use it).
Here's Argos in action (gif via Argos GitHub page):

Basically, the extension turns an executable's standard output into information that's displayed by Argos on the GNOME Shell top panel and its dropdown menu. A new button is added for each executable file placed in the Argos configuration directory (~/.config/argos/).

For example, you can use Argos to display weather, ping, stocks or network download speed on the GNOME Shell Top Panel, while providing advanced information in its dropdown menu, like a weather forecast, ping details, a list of stocks, or network upload and download speed.
Furthermore, plugins are not limited to displaying information. Argos can also perform actions on click, so for instance, you could create a launcher. Here's a simple launcher created with Argos:

Another example - Argos running "top" in its submenu:

The code for these two examples is available HERE.

Argos is not only inspired by the Mac BitBar app, but it also supports many Bitbar plugins, without any modifications. Note that not all BitBar plugins run on Linux, so you'll have to use plugins that don't contain macOS-specific code to use with Argos.
You can find BitBar plugins on the GetBitBar website or, to directly download the code, see the BitBar plugins GitHub page.
Below you'll find a few BitBar plugin examples, used with Argos under GNOME Shell:

Hacker News
Ping results for multiple websites
Bandwidth test (to use this, install speedtest-cli and change the executable from ~/bin/speedtest-cli to simply "speedtest-cli")
Under the hood, Argos uses an asynchronous execution engine, which should prevent blocking, even for long-running scripts. Furthermore, its GitHub page mentions that Argos is optimized for minimum resource consumption, so even with multiple plugins refreshing every second, it should still use less than 1% CPU.
For a similar tool (but without BitBar support) for desktops that support AppIndicators, see Sysmonitor Indicator or the old "Zenity for AppIndicators".

Install Argos for GNOME Shell
Update: Argos is now available in the GNOME Shell extension repository, HERE. For installing the latest Git, use the instructions below:
1. Install Argos

Argos is not available on the GNOME Shell extensions website, so you must install it manually. To make it easy to install, you can simply use the following commands:sudo apt install git
mkdir -p ~/.local/share/gnome-shell/extensions/
git clone ~/.local/share/gnome-shell/extensions/argos
ln -s ~/.local/share/gnome-shell/extensions/argos/ ~/.local/share/gnome-shell/extensions/
Alternatively, if you don't want to use the commands, you can download the extension .tar.gz from HERE and extract the "" folder to ~/.local/share/gnome-shell/extensions/

2. Restart GNOME Shell and enable Argos

To restart GNOME Shell, press Alt + F2 and type "r" (without the quotes). Then use GNOME Tweak Tool to enable the extension.

Later on if you want to update the extension (if you've used the commands mentioned above to install it), open a terminal and type:cd ~/.local/share/gnome-shell/extensions/argos
git pull
Argos is very well documented so I won't get into details about using it here. For how to use Argos, please visit its GitHub page.

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story Linux Mint KDE Review: Easy And Beautiful Rianne Schestowitz 25/03/2017 - 8:33am
Story today's leftovers Roy Schestowitz 25/03/2017 - 12:14am
Story today's howtos Roy Schestowitz 25/03/2017 - 12:13am
Story Leftovers: Software Roy Schestowitz 25/03/2017 - 12:12am
Story Games and CrossOver Roy Schestowitz 25/03/2017 - 12:11am
Story Red Hat and Fedora Roy Schestowitz 25/03/2017 - 12:09am
Story Android Leftovers Roy Schestowitz 25/03/2017 - 12:08am
Story Leftovers: OSS and Sharing Roy Schestowitz 25/03/2017 - 12:07am
Story Security Leftovers Roy Schestowitz 25/03/2017 - 12:05am
Story Damage control by Microsoft Roy Schestowitz 24/03/2017 - 11:19pm