• It chevron_right

      Top 10 Terminal Emulators for Linux (With Extra Features or Amazing Looks)

      pubsub.do.nohost.me / ItsFoss · Thursday, 18 March, 2021 - 09:13 · 8 minutes

    By default, all Linux distributions already come pre-installed with a terminal application or terminal emulator (correct technical term). Of course, depending on the desktop environment, it will look and feel different.

    Here’s the thing about Linux. You are not restricted to what your distribution provides. You can opt for an alternative application of your choice. Terminal is no different. There are several impressive terminal emulators that offer unique features for a better user experience or for better looks.

    Here, I will be compiling a list of such interesting terminal applications that you can try on your Linux distribution.

    Awesome Terminal Emulators for Linux

    The list is in no particular order of ranking. I’ve tried to list the interesting ones first followed by some of the most popular terminal emulators. Also, I have highlighted the key features for every terminal emulator mentioned, choose what you prefer.

    1. Terminator

    terminator terminal

    Key Highlights:

    • Multiple GNOME terminals in one window

    Terminator is decently popular terminal emulator which is still being maintained (moved from Launchpad to GitHub).

    It basically provides you multiple GNOME terminals in one window. You can easily group and re-group terminal windows with the help of it. You may feel like using a tiling window manager but with some restrictions.

    How to install Terminator?

    For Ubuntu-based distros, all you have to do is type in the following command in the terminal:

    sudo apt install terminator

    You should find it in most of Linux distributions through the default repositories. But, if you need help installing, go through the GitHub page .

    2. Guake Terminal

    guake terminal 2

    Key Highlights:

    • Tailored for quick access to terminal on GNOME
    • Works fast and does not need a lot of system resource
    • Shortcut key to access

    Guake terminal was originally inspired by an FPS game Quake. Unlike some other terminal emulators, it works as an overlay on every other active window.

    All you have to do is summon the emulator using a shortcut key (F12) and it will appear from the top. You get customize the width or position of the emulator, but most of the users should be fine with the default setting.

    Not just as a handy terminal emulator, it offers a ton of features like ability to restore tabs, having multiple tabs, color-coding each tab, and more. You can check out my separate article on Guake to learn more.

    How to install Guake Terminal?

    Guake is available in the default repositories for most of the Linux distributions. You can refer to its official installation instructions .

    Or if you’re using Debian-based distro, just type in the following command:

    sudo apt install guake

    3. Tilix Terminal

    tilix screenshot

    Key Highlights:

    • Tiling feature
    • Drag and drop support
    • Drop down Quake mode

    Tilix Terminal offers a similar drop-down experience that you find with Guake – but it also lets you have multiple terminal windows in tiling mode.

    This is particularly useful if you do not have tiling windows by default in your Linux distribution and have a big screen to work on multiple terminal windows without needing to switching between workspaces.

    We’ve already covered it before separately if you’re curious to learn more about it.

    How to install Tilix?

    Tilix is available in the default repositories for most of the distributions. If you’re using Ubuntu-based distro, simply type in:

    sudo apt install tilix

    Recommended Read:

    5 Tweaks to Customize the Look of Your Linux Terminal

    5 Tweaks to Customize the Look of Your Linux Terminal

    Want to beautify your Linux terminal and give it a different look? Here are a few ways you can customize your terminal.

    4. Hyper

    hyper screenshot

    Key Highlights:

    • Terminal built on HTML/CSS/JS
    • Electron-based
    • Cross-platform
    • Extensive configuration options

    Hyper is yet another interesting terminal emulator that is built on web technologies. It doesn’t provide a unique user experience, but looks quite different and offers a ton of customization options.

    It also supports installing themes and plugins to easily customize the appearance of the terminal. You can explore more about it in their GitHub page .

    How to install Hyper?

    Hyper is not available in the default repositories. However, you can find both .deb and .rpm packages available to install through their official website .

    If you’re new, read through the articles to get help using deb files and using RPM files .

    5. Tilda

    tilda terminal

    Key Highlights:

    • Drop down terminal
    • Search bar integrated

    Tilda is another drop-down GTK-based terminal emulator. Unlike some others, it focuses on providing an integrated search bar which you can toggle and also lets you customize many things.

    You can also set hotkeys for quick access or a certain action. Functionally, it is quite impressive. However, visually, I don’t like how the overlay behaves and does not support drag and drop as well. You might give it a try though.

    How to install Tilda?

    For Ubuntu-based distros, you can simply type in:

    sudo apt install tilda

    You can refer to its GitHub page for installation instructions on other distributions.

    6. eDEX-UI

    Edex Ui Matrix Terminal

    Key Highlights:

    • Sci-Fi Look
    • Cross-platform
    • Theme options to customize
    • Supports Multiple terminal tabs

    If you’re not looking particularly for a terminal emulator to help you get your work done faster, eDEX-UI is something that you must try.

    It is absolutely a beautiful terminal emulator for sci-fi fans and for users who just want their terminal to look unique. In case you didn’t know, it is heavily inspired from the TRON legacy movie.

    Not just the design or the interface, overall, it offers you a unique user experience that you will enjoy. It also lets you customize the terminal . It does require a significant amount of system resource if you’re planning to try it.

    You might want to check our dedicated article on eDEX-UI to know more about it and the steps to install it.

    How to install eDEX-UI?

    You can find it in some of the repositories that include AUR . In either case, you can grab a package available for your Linux distribution (or an AppImage file) from its GitHub releases section .

    Recommended Read:

    5 Tweaks to Customize the Look of Your Linux Terminal

    5 Tweaks to Customize the Look of Your Linux Terminal

    Want to beautify your Linux terminal and give it a different look? Here are a few ways you can customize your terminal.

    7. Cool Retro Terminal

    Cool Retro Term is a Vintage terminal emulator for Linux

    Key Highlights:

    • Retro Theme
    • Animation/Effects to tweak

    Cool Retro Terminal is a unique terminal emulator that provides you with a look of a vintage cathode ray tube monitor.

    If you’re looking for some extra-functionality terminal emulator, this may disappoint you. However, it is impressive to note that it is decently light on resources and allows you to customize the color, effects, and fonts.

    How to install Cool Retro Terminal?

    You can find all the installation instructions for major Linux distributions in its GitHub page . For Ubuntu-based distros, you can type in the following in the terminal:

    sudo apt install cool-retro-term

    8. Alacritty

    alacritty screenshot

    Key Highlights:

    • Cross-platform
    • Extension options and focuses on integration

    Alacritty is an interesting open-source cross-platform terminal emulator. Even though it is considered as something in “beta” phase, it still works.

    It aims to provide you extensive configuration options while keeping the performance in mind. For instance, the ability to click through a URL using a keyboard, copying text to a clipboard, and performing a search using “Vi” mode may intrigue you to try it.

    You can explore its GitHub page for more information.

    How to install Alacritty?

    Alacritty can be installed using package managers says the official GitHub page, but I couldn’t find it in the default repository or synaptic package manager on Linux Mint 20.1.

    You can follow the installation instructions to set it up manually if you want to try it.

    9. Konsole

    konsole screenshot

    Key Highlights:

    • KDE’s terminal
    • Lightweight and customizable

    If you’re not a newbie, this probably needs no introduction. Konsole is the default terminal emulator for KDE desktop environments.

    Not just limited to that, it also comes integrated with a lot of KDE apps as well. Even if you’re using some other desktop environment, you can still try Konsole. It is a lightweight terminal emulator with a host of features.

    You can have multiple tabs and multiple grouped windows as well. Lot of customization options to change the look and feel of the terminal emulator as well.

    How to install Konsole?

    For Ubuntu-based distros and most other distributions, you can install it using the default repository. With Debian-based distros, you just need to type this in the terminal:

    sudo apt install konsole

    10. GNOME Terminal

    Default Terminal

    Key Highlights:

    • GNOME’s terminal
    • Simple yet customizable

    If you’re utilizing any Ubuntu-based GNOME distribution, it already comes baked in. It may not be as customizable as Konsole (depends on what you’re doing) but it lets you configure most of the important aspects of the terminal easily.

    Overall, it offers a good user experience and an easy-to-use interface with essential functions.

    I’ve also covered a tutorial to customize your GNOME terminal if you’re curious.

    How to install GNOME Terminal?

    If you’re not using GNOME desktop but want to try it out, you can easily install it through the default repositories.

    For Debian-based distros, here’s what you need to type in the terminal:

    sudo apt install gnome-terminal

    Wrapping Up

    There are several terminal emulators available out there. You can try anything you like if you’re looking for a different user experience. However, if you’re aiming for a stable and productive experience, you need to test the terminal emulators before you can rely on them.

    For most of the users, the default terminal emulators should be good enough. But, if you’re looking for quick access (Quake Mode) or Tiling feature or multiple windows in a terminal, feel free to try out the options mentioned above.

    What’s your favorite terminal emulator on Linux? Did I miss listing your favorite? Feel free to let me know your thoughts in the comments down below.

    • It chevron_right

      Use gdu for a Faster Disk Usage Checking in Linux Terminal

      pubsub.do.nohost.me / ItsFoss · Tuesday, 16 March, 2021 - 09:22 · 2 minutes

    There are two popular ways to check disk usage in Linux terminal : du command and df command. The du command is more for checking the space used by a directory and the df command gives you the disk utilization on filesystem level.

    There are more friendly ways to see the disk usage in Linux with graphical tools like GNOME Disks . If you are confined to the terminal, you can use a TUI tool like ncdu to get the disk usage information with a sort of graphical touch.

    Gdu: Disk usage checking in Linux terminal

    Gdu is such a tool written in Go (hence the ‘g’ in gdu). Gdu developer has benchmark tests to show that it is quite fast for disk usage checking, specifically on SSDs. In fact, gdu is intended primarily for SSDs though it can work for HDD as well.

    If you use the gdu command without any options, it shows the disk usage for the current directory you are in.

    gdu disk utilization

    Since it has terminal user interface (TUI), you can navigate through directories and disk using arrows. You can also sort the result by file names or size.

    Here’s how to do that:

    • Up arrow or k to move cursor up
    • Down arrow or j to move cursor down
    • Enter to select directory / device
    • Left arrow or h to go to parent directory
    • Use d to delete the selected file or directory
    • Use n to sort by name
    • Use s to sort by size
    • Use c to sort by items

    You’ll notice some symbols before some file entries. Those have specific meaning.

    gdu entry symbols
    • ! means an error occurred while reading the directory.
    • . means an error occurred while reading a subdirectory, size may not be correct.
    • @ means file is a symlink or socket.
    • H means the file was already counted (hard link).
    • e means directory is empty.

    To see the disk utilization and free space for all mounted disks, use the option d :

    gdu -d

    It shows all the details in one screen:

    gdu disk utilization for all drives

    Sounds like a handy tool, right? Let’s see how to get it on your Linux system.

    Installing gdu on Linux

    Gdu is available for Arch and Manjaro users through the AUR . I presume that as an Arch user, you know how to use AUR.

    It is included in the universe repository of the upcoming Ubuntu 21.04 but chances are that you are not using it at present. In that case, you may install it using Snap through it may seem like a lot of snap commands:

    snap install gdu-disk-usage-analyzer
    snap connect gdu-disk-usage-analyzer:mount-observe :mount-observe
    snap connect gdu-disk-usage-analyzer:system-backup :system-backup
    snap alias gdu-disk-usage-analyzer.gdu gdu

    You may also find the source code on its release page:

    I am more used to of using du and df commands but I can see some Linux users might like gdu. Are you one of them?

    • It chevron_right

      Paru – A New AUR Helper and Pacman Wrapper Based on Yay

      pubsub.dcentralisedmedia.com / ItsFoss · Tuesday, 2 February, 2021 - 14:33 · 3 minutes

    One of the main reasons that a user chooses Arch Linux or an Arch based Linux distribution is the Arch User repository (AUR) .

    Unfortunately, pacman , the package manager of Arch, can’t access the AUR in a similar way to the official repositories. The packages in AUR are in the form of PKGBUILD and require a manual process to be built.

    An AUR helper can automate this process. Without any doubt yay is one of the most popular and highly favoured AUR helper.

    Recently Morganamilo , one of the two developers of yay, announced that is stepping away from maintaining yay and starting his own AUR helper called paru . Paru is written in Rust compared to yay that is written in Go and its design is based on yay.

    Please note that yay hasn’t reach the end of life and is still being actively maintained by Jguer . He also commented that paru may be suitable for users that looking for a feature rich AUR helper; thus I would recommend giving it a try.

    Installing Paru AUR helper

    To install paru, open your terminal and type the following commands one by one.

    sudo pacman -S --needed base-devel
    git clone https://aur.archlinux.org/paru.git
    cd paru
    makepkg -si

    Now that you have it installed, let’s see how to use it.

    Essential commands to use Paru AUR helper

    In my opinion these are the most essential commands of paru. You can explore more on the official repository on GitHub .

    • paru <userinput> : Search and install <userinput>.
    • paru — : Alias for paru -Syu
    • paru -Sua : Upgrade AUR packages only
    • paru -Qua : Print available AUR updates
    • paru -Gc <userinput> : Print the AUR comments of <userinput>

    Using Paru AUR helper to its full extent

    You can access the changelog of paru on GitHub for the full changelog history or you can see the changes from yay at the first release .

    Enable colour in Paru

    To enable colour in paru, you have to enable it first in pacman. All the configuration files are in /etc directory. In this example, I use Nano text editor but, you may use any terminal-based text editor of your choice.

    sudo nano /etc/pacman.conf

    Once you open the pacman configuration file, uncomment the “Color” to enable this feature.

    Pacman.conf Color

    Flip search order

    The most relevant package according to your search term is normally displayed on the top of the search result. In paru, you can flip the search order to make your search easier.

    Similar to the previous example, open the paru configuration file:

    sudo nano /etc/paru.conf

    Uncomment the “BottomUp” term and save the file.

    Paru AUR helper configuration

    As you can see the order is flipped and the first package appears on the bottom.

    Paru.conf Bottomup 2

    Edit PKGBUILDs (For advanced user)

    If you are an experienced Linux user, you can edit AUR packages through paru. To do so, you need to enable the feature from the paru configuration file and set the file manager of your choice.

    In this example I will use the default in the configuration file i.e. the vifm file manager. If you haven’t used it you may need to install it.

    sudo pacman -S vifm
    sudo nano /etc/paru.conf

    Open the configuration file and uncomment as shown below.

    Paru.conf Vifm

    Let’s go back to the Google Calendar AUR package and try to install it. You will be prompted to review the package. Type yes and click enter.

    Paru Proceed For Review

    Choose the PKGBUILD from the file manager and hit enter to view the package.

    Paru Proceed For Review 2

    Any change that you make will be permanent and the next time you upgrade the package, your changes will be merged with the upstream package.

    Paru Proceed For Review 3

    Conclusion

    Paru is another interesting addition to the AUR helpers family with a promising future. At this point I wouldn’t suggest replacing yay as it is still maintained but definitely give paru a try. You can have both of them installed to your system and come to your own conclusions.

    To get the latest Linux news , subscribe to our social media to be among the first to get them whilst they are fresh!

    • It chevron_right

      How to Run a Shell Script in Linux [Essentials Explained for Beginners]

      pubsub.dcentralisedmedia.com / ItsFoss · Tuesday, 26 January, 2021 - 07:07 · 4 minutes

    There are two ways to run a shell script in Linux. You can use:

    bash script.sh

    Or you can execute the shell script like this:

    ./script.sh

    That maybe simple, but it doesn’t explain a lot. Don’t worry, I’ll do the necessary explaining with examples so that you understand why a particular syntax is used in the given format while running a shell script.

    I am going to use this one line shell script to make things as uncomplicated as possible:

    abhishek@itsfoss:~/Scripts$ cat hello.sh 
    
    echo "Hello World!"

    Method 1: Running a shell script by passing the file as argument to shell

    The first method involves passing the script file name as an argument to the shell.

    Considering that bash is the default shell, you can run a script like this:

    bash hello.sh

    Do you know the advantage of this approach? Your script doesn’t need to have the execute permission . Pretty handy for quick and simple tasks.

    Run A Shell Script Linux Running a Shell Script Linux

    If you are not familiar already, I advise you to read my detailed guide on file permission in Linux .

    Keep in mind that it needs to be a shell script that you pass as argument. A shell script is composed of commands. If you use a normal text file, it will complain about incorrect commands.

    Running Text File As Script in Linux Running a Text File As Script

    In this approach, you explicitly specified that you want to use bash as the interpreter for the script.

    Shell is just a program and bash is an implementation of that. There are other such shells program like ksh, zsh , etc. If you have other shells installed, you can use that as well instead of bash.

    For example, I installed zsh and used it to run the same script:

    Execute Shell Script With Zsh Execute Shell Script With Zsh

    Method 2: Execute shell script by specifying its path

    The other method to run a shell script is by providing its path. But for that to be possible, your file must be executable. Otherwise, you’ll have “permission denied” error when you try to execute the script.

    So first you need to make sure that your script has the execute permission. You can use the chmod command to give yourself this permission like this:

    chmod u+x script.sh

    Once your script is executable, all you need to do is to type the file name along with its absolute or relative path. Most often you are in the same directory so you just use it like this:

    ./script.sh

    If you are not in the same directory as your script, you can specify it the absolute or relative path to the script:

    Running Shell Script In Other Directory Running Shell Script In Other Directory

    That ./ before the script is important (when you are in the same directory as the script)

    Executing Shell Scripts Linux

    Why can you not use the script name when you are in the same directory? That is because your Linux systems looks for the executables to run in a few selected directories that are specified in the PATH variable.

    Here’s the value of PATH variable for my system:

    abhishek@itsfoss:~$ echo $PATH
    /home/abhishek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

    This means that any file with execute permissions in one of the following directories can be executed from anywhere in the system:

    • /home/abhishek/.local/bin
    • /usr/local/sbin
    • /usr/local/bin
    • /usr/sbin
    • /usr/bin
    • /sbin
    • /bin
    • /usr/games
    • /usr/local/games
    • /snap/bin

    The binaries or executable files for Linux commands like ls, cat etc are located in one of those directories. This is why you are able to run these commands from anywhere on your system just by using their names. See, the ls command is located in /usr/bin directory.

    Locating Command Linux

    When you specify the script WITHOUT the absolute or relative path, it cannot find it in the directories mentioned in the PATH variable.

    Why most shell scripts contain #! /bin/bash at the beginning of the shell scripts?

    Remember how I mentioned that shell is just a program and there are different implementations of shells.

    When you use the #! /bin/bash, you are specifying that the script is to run with bash as interpreter. If you don’t do that and run a script in ./script.sh manner, it is usually run with whatever shell you are running.

    Does it matter? It could. See, most of the shell syntax is common in all kind of shell but some might differ.

    For example, the array behavior is different in bash and zsh shells. In zsh, the array index starts at 1 instead of 0.

    Bash Vs Zsh Bash Vs Zsh

    Using #! /bin/bash indicates that the script is bash shell script and should be run with bash as interpreter irrespective of the shell which is being used on the system. If you are using zsh specific syntax, you can indicate that it is zsh script by adding #! /bin/zsh as the first line of the script.

    The space between #! /bin/bash doesn’t matter. You can also use #!/bin/bash.

    Was it helpful?

    I hope this article added to your Linux knowledge. If you still have questions or suggestions, please leave a comment.

    Expert users can still nitpick this article about things I missed out. But the problem with such beginner topics is that it is not easy to find the right balance of information and avoid having too much or too few details.

    If you are interested in learning bash script, we have an entire Bash Beginner Series on our sysadmin focused website Linux Handbook . If you want, you may also purchase the ebook with additional exercises to support Linux Handbook .