Language Selection

English French German Italian Portuguese Spanish

today's howtos

Filed under
  • Anatomy of a Terminal Emulator

    The terminal is a ubiquitous platform that has been fairly stable for many years. There are plenty of resources out there for understanding its inner workings, but most of them are either fairly arcane or offer deep knowledge about a very specific area. This post aims to bridge this gap by offering a gentle and broad introduction to the terminal emulator as a platform for development.

    We’ll talk about the different parts of the terminal and how they interact, build a small program to read input from the shell and understand how it’s interpreted, discuss how to create a user interface in the terminal and finally see how we can use all of this to cause some mischief.

    I’ve used Rust for code examples, but tried to make them as simple and short as possible so that they’ll also be comprehensible to non-Rust programmers. I also provided explanations of the relevant parts of the code. We refer to the workings of terminal emulators in a unix or unix-like system (eg. Linux and macOS). Some parts might also be relevant to other operating systems.

    While this is aimed at those new to developing terminal applications, I tried to go into enough depth in certain areas to keep things interesting for old terminal hounds as well. If you found a mistake in this post, or feel something has been over-simplified or hand-waved away, feel free to hit me up on Twitter.

  • How to install KDE Connect on Ubuntu 20.04 LTS

    KDE Connect is an open-source platform to integrate some feature of your phone directly into your PC. In simple words, it is a Linux application that is also available for Windows and macOS (not officially) to connect smartphones with PC or laptops. Currently, it is available for Android only, well iOS version does not officially exist.

    Well, KDE Connect is implemented with a server service that runs on the desktop device and a client application on the mobile device, which interact with each other via a secure network protocol. So, that the user can easily transfer data using a local network.

  • How Do I Use Elasticsearch in Python?

    Elasticsearch is a free and open-source, highly available search and analytics engine built on the Apache Lucene project. Elasticsearch stores its data in JSON format, making it very easy to use.

    It provides a simple and powerful REST API for performing a collection of tasks from creating documents, monitoring cluster health, and more.

    Python is one of the most popular programming languages, and it tends to complement Elasticsearch very well.

    In this guide, we will look at how to go about using the Elasticsearch Python client to interact with the Elasticsearch cluster.

  • How Do I Set Up Elasticsearch Curator?

    Elasticsearch curator, or simply curator, is a tool that allows you to manage your Elasticsearch cluster easily. Written in Python, the curator comes in handy when you need to manage your ELK indices and snapshots.

    This guide will show you how to set up and configure the Elasticsearch curator for your ELK cluster.

  • How to Install and Use OpenSnitch Firewall in Linux?

    This article will cover a guide on installing and using OpenSnitch Firewall in Linux. OpenSnitch is a free and open source port of a proprietary firewall solution called LittleSnitch and implements most of its functionality. It can apply firewall rules system wide and can be used to block hosts as well as individual applications.

  • How to Create Table in SQLite Using “if not exists” Statement?

    SQLite is a serverless RDBMS, which is used to manage data in the database in the form of tables. These tables are created in the database to store data in columns and rows, for this purpose, tables can either be created using the “CREATE TABLE” or the “CREATE TABLE if not exists” statement in SQLite.The “CREATE TABLE if not exists” statement is very useful in creating a table because it will not create the table if the table of the same name already exists in the database. In this writeup, we will explain how the “CREATE TABLE if not exists” works, and what happens if we try to create a table without using the “CREATE TABLE if not exists”.

  • How to Create Table in SQLite?

    The “CREATE TABLE if not exists” statement is very useful in creating a table because it will not create the table if the table of the same name already exists in the database. This article explains how to create a table using the “if not exists” clause in SQLite. A general syntax on how to create a table using “if not exists” and an example is also provided in this tutorial.

  • How Do I Concatenate in SQLite?

    SQLite is used to manage the data of a database, in which the website’s or application’s data is stored in the form of tables. Like MySQL, SQLite also supports a lot of built-in functions like max(), min(), but many functions that are supported by MySQL, not supported by SQLite.

    SQLite is a database management system, which is available free of cost, and also its architecture is much simpler as compared to other database management systems. The main feature of SQLite, it is serverless, which means it uses the server of a machine or Operating System on which it is being operated, instead of using its own server.

    This write-up is focussing on how to concatenate strings in SQLite. Does concatenate function work in SQLite? Let’s find out.

  • Aggregate Functions in SQLite

    There are many database management systems that are being used to manage the data of a website or an application like MySQL and SQLite. SQLite, like other RDMS, contains many built-in functions which make managing databases easier, like aggregate functions. In this article, we will learn about the aggregate functions in SQLite by implementing those functions in some examples.

  • How to use Ubuntu Livepatch

    The Ubuntu Livepatch service takes care of keeping your Ubuntu systems up to date with essential kernel updates, saving you time and effort. It is a tool that enables companies to patch Ubuntu Linux kernel vulnerabilities immediately. The live patch utility lets you directly patch the running kernel, eliminating the need to reboot your system. This feature was first added in Ubuntu 16.04 LTS, generally designed for servers expected to operate continuously without rebooting for months and years. This article will explain in detail how you can apply the live patch on Ubuntu OS.

  • How to Install and Use EasyOCR in Linux

    This article will cover a guide on installing and using the EasyOCR command line tool and Python module. Available as a free and open source application, It can be used to identify and extract text from images. It uses Optical Character Recognition (OCR) technology and a variety of different algorithms and language models to detect the text.

  • How to Install and Configure KVM on Debian 11 Bullseye Linux

    “KVM”, the abbreviation for “Kernel Virtual Machine” is the hypervisor of the Linux kernel. It is quite popular and used in enterprises for easily performing the virtualization of operating systems. Here in this tutorial, we learn the steps and commands to install and enable KVM Hypervisor on Debian 10 or 11 Bullseye Server or Desktop Linux.

    Since 2007, KVM is an official kernel component, however, as compared to Xen, the other open-source hypervisor, the history of KVM is less changeful and has only been steeply upward from the start. KVM is also the preferred hypervisor in OpenStack and is therefore widely used in the cloud.

  • Installing Virtualbox App on Debian 11 Bullseye - Linux Shout

    Oracle VirtualBox is a hypervisor for x86 virtualization application that allows users to create and manage Virtualization on Windows, Linux, macOS, and FreeBSD. It is an open-source project and here we learn the commands to install the VirtualBox software platform on Debian 11 Bullseye Linux.

    Virtualization is a software technique that simulates hardware. In this way it is possible, for example, to operate several virtual computers under Windows, on which other operating systems can then be installed. Virtualization uses a shift model, because at the end of the day, of course, the actual installed hardware is also used in a virtual computer, but the trick is that the virtual guests can be used like programs on a normal system. So it is possible to operate several Linux systems in parallel with VirtualBox under Windows. The other way around, you can also set up a virtual Windows with VirtualBox on a Linux system.

  • Configure BIND DNS Server using Webmin on Debian 11 -

    Welcome to out tutorial on how to configure Bind DNS server using Webmin on Debian 11. Webmin is a web-based control panel that allows system administrators to administer system administration tasks from web user interface.

    You can follow the link below to install Webmin on Debian 11.

  • NextCloud: Enable video previews - Anto ./ Online

    This guide will show you how to enable video previews on NextCloud hosted on Debian/Ubuntu. You can apply the same steps if running the Docker version of NextCloud or different distribution.

  • Getting Started with Docker: Run Docker without sudo - LinuxLinks

    Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.

    A container is software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, secure, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries, and settings.

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.