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

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

Debian/Ubuntu
sudo apt install tilix

Arch
sudo pacman -S tilix

Fedora
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.

Color

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 https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"

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


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

Debian/Ubuntu:

sudo apt installfonts-powerline 
Fedora:
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.

Install JetBrains Mono Font on Linux

Install JetBrains Mono Font on Linux
There are hundreds of fonts for IDEs and editors. The one that is pleasing to my eyes is JetBrains Mono. It is natural for a Java developer to find the default font of the IDE to be aesthetically pleasing to the eyes, but JetBrains Mono font looks nice in Sublime Text, VSCode, even the plain text editor and the terminal. The font is free, open-source, and designed with a developer-centric focus.

In 2020 when announcing the JetBrains Mono, the team mentioned what they have considered in designing the font:

While working on JetBrains Mono we focused, among other things, on the issues that can cause eye fatigue during long sessions of working with code. We have considered things like the size and shape of letters; the amount of space between them, a balance naturally engineered in monospace fonts; unnecessary details and unclear distinctions between symbols, such as I’s and l’s for example; and programming ligatures when developing our font.

JetBrains Mono is the default font in all IntelliJ products. However, this article provides a quick command to install and keep updating the font without visiting the official site or GitHub page of JetBrains Mono font.

Create New Document from Nautilus Context Menu

Create New Document from Nautilus Context Menu

Nautilus: the default file manager of GNOME-based Linux distributions does not offer the default "New Document" option in the context menu to create new empty documents.  It was a surprise to me when I checked Ubuntu after years because it is such a basic feature to create temporary notes and text files. However, bringing back this feature is easy with the following command. This command simply creates a new empty file in the ~/Templates folder so that Nautilus can provide the New Document menu option for that template.

Feren OS 2021.10 Review

Feren OS 2021.10 Review
I always had a love and hate relationship with KDE. I love how customizable it is. I love the appearance of the modern KDE Plasma desktop, especially after the recent blur effects. However, I have never used KDE in my production machines due to its overwhelming options. I understand that a highly customizable desktop has to somehow expose all those settings to the users, but it is not visually appealing to me. Most of the time, I get lost in the settings dialog. The same goes for most of the KDE applications such as Dolphin, Konsole, Kate, etc. They have too many options to distract my regular workflow. I find Linux Mint with Cinnamon a good fit for my need because Cinnamon has a good balance of customizability and settings.

After Linux Mint dropping the KDE support, Linux Mint users had only two choices: switching to Linux Mint with Cinnamon/XFCE or switching to other KDE-based distros. Feren OS is a promising alternative for those who love KDE without losing the best apps from Linux Mint.

Long Live Firefox!

A new feature introduced recently in Firefox: Firefox Suggest caused a lot of backlashes. People are trashing Firefox for sharing their data with ad providers. Some hate seeing additional results at all. This article is about the first group of comments against Firefox for sharing the data with ad-partners.

BrosTrend 650Mbps Long Range Linux WiFi Adapter Review

If we count Chromebooks in, Linux-powered personal computers have acquired a significant market these days. However, hardware manufacturers treat Linux like a second-class citizen. After struggling to cope with the WiFi of my Asus laptop with Realtek RTL, I decided to get an adapter assuming it could be an overheating issue. As expected, not so many adapters claim to support Linux at Amazon. However, one company: BrosTrend, claims to have Linux support on most of their WiFi adapters. This article is to share my experience with the BrosTrend 650Mbps Long Range Linux WiFi Adapter.


This article is solely based on my personal experience and not a paid promotion to any companies listed in this article. Linuxedo would never publish a paid promotional article.

Availability

I bought the adapter at Amazon, and it was delivered in two days here in Canada.  Finding the product is easy as you only have to search for "linux wifi adapters". As I've mentioned earlier there are not so many WiFi adapters in Amazon with the support for Linux.

Install the latest Golang on Linux

Install the latest Golang on Linux
People using non-rolling release distributions like Fedora, Ubuntu, Pop OS, or Linux Mint may notice that the Golang package from the official repository is older than the latest version. This article explains how to install the latest Golang on your Linux system using the manual installation method. You can read more about why the manual installation is preferred for compilers and other command-line tools here.

Hack Nemo Folder Color Switcher

 The ability to change folder color is a cool option to highlight important folders without using emblems. Nemo the default file manager of the Cinnamon desktop environment comes with the nemo-folder-color-switcher plugin that works well with the default icon theme but does not support any other icon themes. In this article, you will learn a hack to enable folder color switcher for any icon themes you are using.

To keep the changes minimal, the theme you want to use must have multi-color folders. In addition, it should also follow the following naming standard:

For lighter icons: <Theme-Name>-<Color>. For example,  Mint-Y-Blue, Mint-Y-Yellow, etc. For darker icons: <Theme-Name>-Dark-<Color>. For example, Mint-Y-Dark-Blue, Mint-Y-Dark-Yellow, etc. If your icon theme, does not have this naming standard, rename it first.

In this article, we use a modified version of the famous WhiteSur icon theme. The change includes the naming standard and custom folder icons with more colors than the original WhiteSur theme.

Let's start with installing the theme.

Step 01:
Clone the theme repository in your system.

git clone https://github.com/linuxedo/WhiteSur-Icons.git

Instead, you can also use the download button to download the master branch, extract the zip file and rename it to WhiteSur-Icons.

Step 02:
Install all color variations of the theme.
cd WhiteSur-Icons
./install.sh -t all


Step 03:
Now you can choose any of the following WhiteSur icon themes from the Settings dialog.
  • WhiteSur
  • WhiteSur-Aqua
  • WhiteSur-Black
  • WhiteSur-Dark
  • WhiteSur-Dark-Aqua
  • WhiteSur-Dark-Black
  • WhiteSur-Dark-Green
  • WhiteSur-Dark-Grey
  • WhiteSur-Dark-Orange
  • WhiteSur-Dark-Pink
  • WhiteSur-Dark-Purple
  • WhiteSur-Dark-Red
  • WhiteSur-Dark-Sand
  • WhiteSur-Dark-Yellow
  • WhiteSur-Green
  • WhiteSur-Grey
  • WhiteSur-Orange
  • WhiteSur-Pink
  • WhiteSur-Purple
  • WhiteSur-Red
  • WhiteSur-Sand
  • WhiteSur-Yellow


Step 04:
This is the time for the hack. Open the nemo-folder-color-switcher.py script with root privilege.
sudo vi /usr/share/nemo-python/extensions/nemo-folder-color-switcher.py


Step 05:
Search for KNOWN_THEMES. If you are using Vim, type /KNOWN_THEMES and hit Enter.


Step 06:
Append the following key-value pairs to the dictionary as shown below. Change the theme name and default folder color according to your theme.
            'WhiteSur': 'Blue',
            'WhiteSur-Dark': 'Blue'
Note the leading spaces and the comma after the last line. After adding your theme, the KNOWN_THEMES dictionary should look like this:
    KNOWN_THEMES = collections.OrderedDict({
        'Mint-X-Dark': 'Green',
        'Mint-X': 'Green',
        'Mint-Y-Dark': 'Green', # falls back to Mint-Y itself, but has color variants
        'Mint-Y': 'Green',
        'Rave-X-CX': 'Beige',
        'Faience': 'Beige',
        'gnome': 'Beige',
        'Matrinileare': 'Beige',
        'menta': 'Green',
        'mate': 'Beige',
        'oxygen': 'Blue',
        'WhiteSur': 'Blue',
        'WhiteSur-Dark': 'Blue'
    })

Step 07:
Save all the changes and close the editor.
In Vim, type :wq and hit Enter to save the changes and quit the editor.

Step 08:
Quit the Nemo file manager by running the following command and open it again by opening any folders.
nemo -q



Step 09:
Change the icon theme to any of the WhiteSur icon theme. If you are using any other themes following the same naming standard, select that icon theme.

Step 10:
Right-click on any folder; you will see the option to change the color.

If you have any issues with getting this solution working, or if you find this useful, please leave a comment below.

Script to Copy the Current Directory

Script to Copy the Current Directory

Have you ever had that annoying feeling to use the mouse to copy your current directory from the terminal? The usual practice is executing the pwd command, select the output from the terminal using the mouse, then use the keyboard or mouse to copy the text. While using both hands to use the terminal, it is inconvenient to switch to the mouse. Things go beyond the tolerable threshold if the path to copy is too long and splits into two lines in the terminal.

However, as Linux users, we can implement a creative solution for this problem. This article explains how to create a new command to copy the current terminal directory into the clipboard without using the mouse.

How to Set Environment Variables in Linux?

How to Set Environment Variables in Linux?
Environment variables play a crucial part in your operating system and the installed software. All operating systems come with some predefined variables to control the system. Users also can define custom environment variables to work with additional software.

Let's take the famous environment variable: PATH. This variable tells the system where to look for executable binaries in the file system. For example, Ubuntu has the following PATH variable definition by default:
/home/linuxedo/.local/bin:/home/linuxedo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
In Linux, directories included in the PATH variable must be separated by a colon (:). This PATH variable tells Ubuntu to look for executable binaries in any of the folders included in the variable definition.

The installation instructions of most of the compilers and command-line tools may ask you to add their "bin" folder to the PATH variable so that their commands can be accessed anywhere from the terminal. There are several other environment variables. Entering the command printenv will print all the environment variables along with their values in the terminal.

Why Manual Installation?

There are hundreds of Linux distributions out there and each of them has its own way of installing software. Some may have overlaps based on the upstream but still, the number of distributions varies a lot. For certain software that doesn't need to install files in different locations, I prefer to install them using pre-built binaries to avoid distribution-specific installation methods.

For example, I install compilers using pre-built binaries because the distributors do not provide automatic updates and the software has to be installed only in a selected folder. All the installation instructions on this website using pre-built binaries are using binaries for that reason. In addition, I do not have to write a distribution-specific article for all those distributions out there. Just imagine writing how to install Java on Fedora using rpm package, on Debian using deb package, on Arch from AUR, on openSUSE using rpm, and so on. Instead installing pre-built binaries works on all the distributions and requires only one article.

As a user, it also gives you more control over the installation. For example, you can install multiple versions of the same software but select only one of them as the default option. You know what changes you have made and it's easy to revert them without leaving any orphan files.
 
Considering these factors, some software installation methods shared in this blog will use manual installation using pre-built binaries even if there are native installation packages.

Linux Mint 20.3 Codename Revealed

In the September 2021 monthly news, the Linux Mint team revealed the codename of the next release: Linux Mint 20.3 Una. Una is expected to arrive for Christmas this year with better looking than Uma the current Linux Mint 20.2 version. Unlike Gnome, the Linux Mint team has once again proved that all their decisions are made based on the actual user requirement.

A New Journey...

 
Unlike other operating systems, Linux has a strong fanbase. Linux users don't use the operating system just as another software, but they treat it as their pride and love using Linux every day. I am a Linux fanboy who loves Linux for its freedom (of course! freedom as in speech) and customizability. I dreamed about customizing the operating system to fit all my needs when I was a Windows user. It doesn't mean Windows couldn't meet my expectations, but I love customizing stuff.

From the moment I switched to Linux full-time, everything was flawless. Come on! I am kidding. I missed almost every application I used in Windows. I started to blame Linux for not having this and that. However, after realizing the potential of Linux with the help of the supportive community, I never looked back.

As a Linux user, I learn everything from the open-source community. There are already plenty of sources: including but not limited to blogs, forums, and Stack Overflow. However, I find them difficult to share my own stories. I used to write occasionally on Medium, but it is harder to share code snippets and customize the post in Medium. This blog is an attempt to share my accumulated knowledge on Linux back to the community hoping someone may find them useful.

DON'T MISS

News,Linuxedo
© all rights reserved