Solaar: Logitech Device Manager for Linux

Solaar: Logitech Device Manager for Linux

 I am a long-term fan of Logitech keyboards and mouses. Their build quality is unbeatable. Currently, I own the ergonomic MX Vertical Wireless Mouse and ERGO K860 wireless keyboard. Even though the build quality is exceptional, Linux users are left behind in software support as usual. This article introduces Solaar: an open-source device manager for Logitech devices.

Solaar is an open-source tool developed by reverse engineering Logitech's connection protocols to provide some basic functionalities to Linux users. It can be used from pairing multiple devices to the same unified receiver to configuring your devices.

Since it is not an official tool, do not expect it to support all the bells and whistles packed in Logitech devices.

As of writing this article, Solaar has the following features for the supported devices:

  • Pairing and unpairing devices with the receiver
  • Displaying the current battery level and basic information about the device
  • Change some settings

To install the latest Solaar on Ubuntu, Linux Mint, or any other derivatives, use the following command:

sudo apt-add-repository ppa:solaar-unifying/stable
sudo apt update
sudo apt install solaar


Arch users can install the latest version from the AUR:

yay -S solaar

Fedora has the latest Solaar in its official software repository:

sudo dnf install solaar

For other Linux distributions, check the GitHub profile to see the pre-built packages.

After installing Solaar, you may have to unplug and plug the receivers to let them detected by Solaar. Any customization other than pairing may not be persisted by the device if turned off. Solaar remembers any such changes and apply them every time you start Solaar. Therefore, if you are using Solaar to change any device settings, make sure to start Solaar at the startup to keep the changes alive.

Linux and the Curse of Fragmentation

  Before jumping into the article, let me define myself. I'm a Linux user and I develop FOSS applications during my free time. I'm using Linux Mint but love all other distributions. I truly wish for the success of desktop Linux.  I love using my computer and it's more like my virtual home. I want everything in my system to play together to give a unified experience. This is why I try my best to install only the GTK apps packaged natively so that they all align with my system theme.

Let's come to the topic. With the recent libadwaita conflicts, the Budgie desktop team has announced to create a new Desktop environment with EFL. According to "The FACTS about GNOME’s plans for THEMES" video from Nick, Elementary OS supports this decision and stressed the idea of treating each distribution as a specific OS. The latest news is from System76 regarding their experiment on a new desktop environment from the ground. This article is not about System76's choice but about the idea of treating each distribution as a separate operating system with its app ecosystem. Already Elementary OS has built its own development SDK and there are plenty of applications built using their SDK. While it is easy for the distribution maintainer and the developer to target a specific distribution, those apps do not blend well in other distributions. It is completely fine and I accept it's the developer's choice on how he/she want to develop the application and who are the target audience. It also makes sense from a distribution perspective because the more users get vendor locked the more beneficial for the distribution.

However, from an end user's point of view, it creates more fragmentation. As a newbie, a Linux beginner has plenty of choices: Debian, Arch, Fedora, OpenSUSE, Elementary, Zorin, other derivatives, etc with GNOME, KDE, Cinnamon, XFCE, LXQT, Mate, Deepin,  etc.

If Linus is confused with choosing a distribution to install, think about your grandma.

Choosing a desktop environment can be fallen into two main categories: whether you are using a Qt-based distribution or GTK based distribution. There aren't that many QT-based distributions other than KDE and LXQT. However, most other distributions are written using GTK. Therefore, for an app developer who wants to write software for all Linux users, there are two primary technologies to choose from: QT or GTK. I have chosen GTK because that will make my application native-looking in my system running Linux Mint. As of writing this article, my application looks good on all other distributions using GTK. In KDE though, it may not feel and look similar to other KDE apps. Developers using KDE may choose KDE dependencies that are not guaranteed to blend with other GTK apps in a GTK based distribution.

 What if every Linux distribution follows the path of Elementary OS? I mean they all have their SDK and the apps developed using those SDKs will look like aliens in other platforms. It will be easy for developers to develop for a specific distribution but it will further fragmentize the apps available for Linux. You will see apps developed for targetted distributions and Linux users have to choose the platform that has most of the apps they want; or else they can choose Windows or Mac where they can get every app they need already. Another question to answer is what will happen to the famous apps like LibreOffice and GIMP? I don't expect them to be ported to every distribution so I hope from the distribution side there will be some effort put in to make them look native.

I like to see GTK still being in place as it has been so far but GTK is developed and controlled by GNOME. If other distribution maintainers do not like the way GNOME takes, it is a no-brainer for other distributions to choose different frameworks. However, it would be great if all get together and fork GTK or choose a common framework (like QT) and maintain it without injecting their distribution-specific philosophies. If Linux kernel can be maintained without conflicting with all those stakeholders, maintaining a GUI framework is feasible too. However, in reality, coding is easier than coordinating with all other distribution maintainers on common ground.

Comming to System76's decision on writing a new distribution from the ground, I am all in for a new distribution. If we said "why another distribution?", we wouldn't have Budgie, Mate, Cinnamon, or any other amazing distributions. I'm glad System76 decided to go with GTK. I wish other distributions conflicting with the libadwaita issue also to share some core technology to avoid fragmenting Linux apps.

As a FOSS developer, I am already packaging my application for different distributions; please don't make me put more effort to make my application look native in all distributions. At the same time as a Linux user, I want all applications I am using to look the same in my system.

Easily Switch Audio Devices on Linux

Those working from home on a Linux machine might have already noticed the pain of switching between input and output audio devices. You may want to quickly switch from one headset to another or from the speaker to the headset and vice versa. Opening the settings dialog every time you want to change the sound device is not very productive. Some desktop distributions like Cinnamon provide out-of-the-box solutions to change the audio device with a couple of clicks. For Gnome, there is an extension that enables this feature. This article covers such options to switch between different audio devices with less effort.


In the Cinnamon desktop environment, right-click on the Sound applet and choose the output device. You can individually select the output device and input device so that you can listen to the sound on one device while using a mic from another device.

Easily Switch Audio Devices on Cinnamon

The Input device selection will appear only if there is an application actively using a Mic. Otherwise, you will have the Output device selection only.


Gnome doesn't provide a similar option as in Cinnamon. However, the "Sound Input & Output Device Chooser" Gnome extension fills the gap by enabling the exact shortcut in Gnome. All you need to do is, installing this extension and enable it from the GNOME Extensions app.

Easily Switch Audio Devices on Gnome

Use the following button to install the extension:

All Linux Distributions

Sound Switcher Indicator is a simple application to change the input and output audio from the tray icon. Unlike the first two options, this application is not limited to a particular distribution. If you don't like the long hardware names, the application also provides an option to rename any detected devices for your convenience.

Easily Switch Audio Devices on Linux

To install the "Sound Switcher Indicator" from PPA, run the following command:

sudo apt-add-repository ppa:yktooo/ppa
sudo apt update
sudo apt install indicator-sound-switcher

Arch users can use the following command to install the app:
yay -S indicator-sound-switcher

On any other distributions, you can either install it from the Snap or the source.

sudo snap install indicator-sound-switcher

Make Gnome Look Like Mac (with the notch)

 You might have seen hundreds of YouTube videos on how to make Gnome looks like a Mac. Apart from some similarities (inspirations!) Gnome does have its own workflow in contrast to apple, but there are ways to mimic the exact Mac appearance with Gnome by installing some extensions and customizing the theme. Wait, did I say "exact Mac appearance"?  Not after the release of the latest MacBook Pro 14" and 16". Now Apple has a notch on the screen. It is not enough to change the Linux logo to an Apple logo for true diehard Apple fans like me. We want the new innovative notch on the screen. Go home Linux you don't have it.

However, Linux gives the freedom to achieve anything. That's what made Alynx Zhou develop a super useful extension for Gnome that introduces a notch to your screen. What does it do? Nothing just adds a virtual notch on your screen that mimics Apple's notch in all the way. It hides your cursor if you move the cursor below it. It shows a fake camera to be more secure than an actual camera. (Thanks to the developer for being mindful otherwise we might end up with an extension with an actual camera). There are a lot of FAQ answered in the official GitHub repository that you may wanna checkout for a good laugh.


Use the button below to install extension from Gnome Extensions site:


Now with a perfect theme and wallpaper, you can experience a true Mac feeling. Apart from all the fun, I do admire M1 chips. I am actually planning to get a MacBook Air in the near future, but the notch? I'm not a big fan of it. If everything Apple introduces is innovative and fault-proof, the touch bar should have been there forever and the MagSafe, SD card slot, and the HDMI port shouldn't have returned. While I understand the reason behind notch, it interrupts the Human-Computer-Interraction (HCI), especially if the menu is too long. Regardless, Linux has once again proved to be fun to use.

To get a Mac like Gnome, check this video out form Linux Scoop.

Dark Mode in Cinnamon Desktop Environment

Dark Mode in Cinnamon Desktop Environment

Some desktop environments like Gnome and Pantheon provide a dedicated system setting to switch between dark and light modes. In Cinnamon, you have to change the themes for Window borders, Icons, Controls, and the Desktop to achieve the same thing. Something can be done necessarily doesn't mean that is enough. I developed a new applet to switch between light and dark mode with a single click. The idea behind this applet is simple: change the system theme according to the mode.

Installation and Configuration

As with any other applet, open the Applets dialog and switch to the Download section. Search the "Dark Mode" applet and install it.

Dark Mode in Cinnamon Desktop Environment

Once installed, add the applet to your panel and configure the light mode and dark mode themes. If you do not want to change a particular theme with the light and dark modes, you can either leave that option empty or select the same theme for both the light and dark modes. For example, I use the same Icon theme and Desktop theme regardless of the system mode. In addition you can also choose a folder with mode specific wallpapers as the desktop background location. The applet will randomly choose a picture from the folder and set it as the desktop background while changing the mode. Currently the applet only supports: .jpg, .jpeg and .png files.

Dark Mode in Cinnamon Desktop Environment

After defining the themes, you can enable/disable the dark mode using the configuration dialog or from the applet menu.

Dark Mode in Cinnamon Desktop Environment

You can also enable the automatic mode switch and set the time for light mode and dark mode. The applet will switch the system theme automatically based on the defined time. Even with the automatic mode switch enabled, you can switch to your preferred mode at any time using the applet menu.

Dark Mode in Cinnamon Desktop Environment

Linux Mint 20.3 will introduce dark mode for system apps. This applet will be modified to accommodate the necessary settings to support the new feature. If you like this applet and/or if you have any suggestions, please comment below. I will include them in the upcoming versions.

KDE Connect for iPhone

Good news for iPhone users using Linux is revealed by the KDE community. KDE Connect: the famous tool to integrate Android with your Linux desktop now supports iPhone too. For those who haven't heard about KDE Connect, it's a KDE application that lets you seamlessly bridge your Android device with your desktop Linux operating system. Though it was developed by the KDE community, there is an extension for the Gnome desktop environment. Zorin OS has its fork of the Gnome extension and the Android application. Other distribution users can still install KDE Connect if they don't mind installing some additional KDE dependencies. KDE Connect desktop application is also available for Windows and Mac (experimental).

I mainly use KDE connect to share the clipboard between my phone and PC, but it can do more than that.

  • Receive your phone notifications on your desktop computer and reply to messages
  • Control music playing on your desktop from your phone
  • Use your phone as a remote control for your desktop
  • Run predefined commands on your PC from connected devices. See the list of example commands for more details.
  • Check your phones battery level from the desktop
  • Ring your phone to help find it
  • Share files and links between devices
  • Browse your phone from the desktop
  • Control the desktop's volume from the phone



A demo video released by the KDE community shows:

  • How to connect two devices
  • The ability to view battery status and device info
  • Shared clipboard
  • File sharing
  • Slideshow control
  • Remote input

However still the app is under development and not polished as Android version. For example, as of writing this article, the KDE Connect iOS requires iOS 15 or the latest, but the developer said they are working on backward compatibility by fixing some SwiftUI widgets. It also doesn't support iMessage yet. These issues will be fixed soon according to the developer. Dear iOS users, you can receive your iPhone notifications in Linux very soon and it will be a milestone in integrating the proprietary echo system with the free world.

Use the following link to install the testing version of KDE Connect on your iPhone via TestFlight. You can find more information about the development, at the official GitHub repository.

If you find any bugs while testing this version, please report them at KDE Bugzilla to improve the product.

Tilix - A tiling terminal emulator

Tilix - A tiling terminal emulator

Even decades after introducing Graphical User Interface (GUI), it cannot beat the productivity of Command Line Interface (CLI). The same people who struggled with a lack of GUI for some tasks in Linux (or terminal preferred over GUI steps in how-to guides) will soon realize the advantage of the terminal after using it for some time. However, the terminal doesn't have to be a soulless black and white environment you stare at all day. This article introduces a tiling terminal called Tilix and shares some tricks to add fun to your CLI experience.

Tilix is a tiling terminal written in D from scratch using Gtk-3. Those who are familiar with Terminator can consider this as a modern replacement for Terminator. Out of the box, Tilix offers the following features:

  • Layout terminals in any fashion by splitting them horizontally or vertically
  • Terminals can be re-arranged using drag and drop both within and between windows
  • Terminals can be detached into a new window via drag and drop
  • Tabs or sidebar list current sessions
  • Input can be synchronized between terminals so commands typed in one terminal are replicated to the others
  • The grouping of terminals can be saved and loaded from the disk
  • Terminals support custom titles
  • Color schemes are stored in files and custom color schemes can be created by simply creating a new file
  • Transparent background
  • Background images
  • Quake mode support (i.e. drop-down terminal)
  • Custom hyperlinks
  • Automatic (triggered) profile switches based on hostname and directory
  • Supports notifications when processes are completed out of view. Requires the Fedora notification patches for VTE
  • Experimental trigger support (Requires patched VTE, see wiki)
  • Experimental badge support (Requires patched VTE, see wiki)

Install Tilix

sudo apt install tilix

sudo pacman -S tilix

sudo dnf install tilix

For other distributions, check the official website.

You may or may not need all these features but having them all improves your productivity. Let's start with the core selling point of Tilix: tiling. You can split the current terminal into two vertical terminals by pressing Ctrl + Alt + R. Similarly, Ctrl + Alt + D split the terminal into two horizontal terminals. From the menu, you can synchronize the keyboard to enter the same command on all tiles. I find this handy if I have to SSH into multiple servers at work. If the width and height of a tile are not enough for temporary readability concerns, you can maximize it using the maximize button for that tile.

In addition to tiling, Tilix also offers multiple sessions. Instead of opening multiple terminal windows, you can open several sessions and easily switch between them using either the side pane or the keyboard shortcut Ctrl + Alt + 1/2/3.

Tilix - A tiling terminal emulator

Another advantage of Tilix is its bookmark feature. There are some commands you may use from time to time but are hard to remember.  The best example from my personal experience is multiple IP addresses to SSH. Though you can use the "alias" command, mapping all those ten to twenty servers doesn't feel right. Instead, you can create a bookmark in Tilix for all those hosts to remotely access and easily log in to them by pressing Ctrl + Shift + B.

Copy-pasting commands from the web may cause severe side effects if you don't know what you are doing. Tilix warns you if you are pasting an unsafe text from the clipboard to make sure you know what you are doing. However, this feature can be disabled from the settings. Another time-consuming task is editing or cleaning commands copied from some sites. For example, you may need to change the path in a script you copied from a website. Usually, people paste the script in a text editor, edit it, and then copy-paste it into the terminal. Instead, Tilix provides the advanced paste feature with the shortcut Ctrl + V. It opens a dialog to edit your command before pasting it into the terminal.

Since this article is getting longer, I will stop with the Custom Links feature. Custom Links is an option to apply regex on terminal output. If there is a regex match, the matching text will be treated as a hyperlink means you can click on that with the Ctrl key pressed to perform some predefined actions. To test this feature, go to Preferences → Advanced → Edit.

Tilix Custom Links

Add a regex (Hello\.txt), command gedit $1, and apply the changes. After this, whenever you find Hello.txt on the terminal, it will be treated as a hyperlink. If you Ctrl and click on that link, the text editor will open the Hello.txt from the current directory. Remember this is a plain regex trick. If the file is not there, the text editor will try to create a new file.

For more features, play with the Tilix Preferences dialog. In the remaining article, I will share some customizations I do to make my terminal personalized.

Font & Terminal Size

I like JetBrains Mono better than any other font for the terminal. Install the latest JetBrains Mono font and set it as the default font.

Tilix Change Font

I also adjust the default number of columns and rows to 100 and 24. However, you may like a different ratio based on your screen resolution.


Select the Material color scheme and change the Background and Black color to the solid Black color. Adjust the transparency and dim level according to your taste.

Tilix Change Font Color

Install Bash Theme

Oh My Bash Theme

Step 1:

Install oh-my-bash using the following command.

bash -c "$(curl -fsSL"

Step 2:
Open the ~/.bashrc file and set the theme to agnoster.

Step 3:
Install the powerline fonts for this theme to render the correct symbols.


sudo apt installfonts-powerline 
sudo dnf install powerline-fonts 

For other distributions, check the installation guide.

There are hundreds of tools to improve the CLI experience but I stop here to keep the article short. I will write separate articles on each individual tool I use and recommend and provide a link to them here.


© all rights reserved
made with by templateszoo