The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page


Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

A Telephone post with many lines to the surrounding homes.

I have noticed that quite a few people were trying to create UDP communication and I thought that proposing my class could help them. This is very basic as it does not define anything such as the size of a packet or any protocol to ensure arrival of the packets. However, it can be useful if you want to send a signal from one process to another, which is exactly how I use this implementation (i.e. I send a PING message to wake up a background process whenever the front end adds data to the database.)

This code is part of the Snap! C++ implementation. The latest version can be found in GitHub ...

My new TP-Link and what I think about it...

TP-Link AC1900 (click to find it on Amazon.com where I'm an affiliate)

Introduction

As my old Belkin WiFi device was not able to properly support UDP packets that it was not even concerned about, I looked into a new system and selected the TP-Link AC 1900 also known as the Archer 9.

It works. But...

Setup

First I edited the settings. One reason I selected this (opposed to say a Google Nest thingy), is that this device has a normal web interface to edit the settings. I find that much better than the concept of the Google Nest WiFi router requires voice activation. I just ...

Removing the ffmpeg & ffprobe annoying banner permanently.

In some of my work, I use ffmpeg to compress/decompress video and audio files.

My big problem with the ffmpeg and ffprobe tools is the incredibly annoying banner that they print and covers most of my console output. It's not only useless, but it makes it really hard to very quickly see the standard output of the command. (if only they were to put a line of dash or something to separate that section with the next...)

Under Linux, there is actually a really easy way to prevent that stupid banner from appearing all the time. It's by using the alias command.

First, the command line ...

Hiding keyboard while typing.

Linux has options to encrypt zip or PDF files.

Note that the zip encryption capabilities are not very strong (i.e. they can be easily cracked). So don't use it if you can avoid it and keep in mind that most anyone can see what's inside either way.

zip --encrypt file.zip files

Note that there is an option to define the password on the command line (with --password) which is safe if you're the only user on your machine, but not so much on a shared machine since the password will appear in the list of processes.

And the PDF is very similar, but you have to enter the ...

Hard Drives for a RAID system

I got 4 x 10Tb HDD -- HGST Ultrastar He10 -- click the link to find them on Amazon

What Happened?

One of my RAID1 drives, the important ones, started sending me error email messages about 8 sectors being "unreadable".

So first I waited a bit to see whether it would resolve itself. It did go silent for a few months and came back...

At that point, I decided to purchase a replacement and retire the drive giving me errors. The new drive looks good so far!

Check Current SMART Status

To see what the SMART system discovered, you can use the smartctl command like so:

 ...

Transform a frame so the message fits.

If you are writing many scripts, once in a while, you may want to print out a message surrounded by a box. But how do you create a box of the right width?

Say for example, that you want to surround your message with + characters like so:

+++++++++++++++++++
+ My Message Here +
+++++++++++++++++++

The message itself would be coming from a variable. Maybe there is a filename into it so the width can vary widely.

Say the line in the middle is written like so:

echo "+ ${MESSAGE} +"

Then you can create the string of just + characters with the following command:

 ...

Repair your Windows Installation

My MS-Windows 10 instance would not run properly anymore. Once booted, the login prompt worked as expected (yeah!) but once logged in, the OS would crash after a minute or two and show me the blue screen of death (BSoD).

I wanted to try a repair, so I looked into various websites, here I write what I ran so I can remember for next time (assuming it worked this time, at least).

dism /image:C:\ /cleanup-image /restorehealth

Most often, somehow, you seen people tell you to use /online as the first parameter. The fact is that your drive is not likely going to be online if you can't run ...

How to connect to a server from your Termux terminal

I found that good documentation from Termux, about Remote Access. It mentions [S]FTP and SSH. The main problem to use SSH is that you need to have access to the public key and... how do you copy the public key from your Termux terminal to your server?

What I've found is that you can use ssh-copy-id with a local VPS on the same network. When I'm at home, I have my phone on a LAN IP address and I can access my VPS servers... at least those that allow for a password login.

So what I've done is something like this:

1. Make sure that your VPS SSH server is still allowing password ...

As I'm working on a project that runs on a Jetson Tegra, I ran in this issue:

CMakeFiles/panel_ve.dir/panel_ve.cpp.o: In function `panel_ve::run()':
/home/alexis/ve/virtual-entertainment/panel-ve/src/panel_ve.cpp:383: undefined reference to `NvEGLImageFromFd(void*, int)'
/home/alexis/ve/virtual-entertainment/panel-ve/src/panel_ve.cpp:414: undefined reference to `NvDestroyEGLImage(void*, void*)'

Yet, I linked against the nvbuf_utils library, but apparently it was not happen.

The fact is NVidia offers an nvbuf_utils.h file in their development environment and that's ...

RAM & Swap memory exchange, but who uses it?

Limited Information...

When a computer swap is getting used, by default you just see that swap is used, not so much about which process uses that swap space.

The function I used by default is free which outputs that info:

$ free
          total     used      free  shared buff/cache available
Mem:  528011648 75782220 200245172 1928996  251984256 449183156
Swap:  30769148        0  30769148

As we can see, this tool shows use how much RAM is used/available and how much swap is in use/available.

Only that doesn't tell you much. That is, my main question is genrally: which ...

Thank you for visiting my website.