Category Archives: Ubuntu

Creating Windows Application Icon on Ubuntu 22.04

Install magick tool:

sudo apt update
sudo apt install imagemagick

Copy *.png files to a folder, for example:


and run the following command:

convert *.png winapp.ico

OpenVPN in a Docker container

Run a docker container:

export MY_IP=<my server IP>

sudo docker run -it --rm --cap-add=NET_ADMIN -p 1194:1194/udp -e HOST_ADDR=$MY_IP --name dockovpn alekslitvinenk/openvpn

Determined its IP address:

sudo docker ps
sudo docker inspect dockovpn | grep IPAddress

Building QT6.4 on Ubuntu 22.04

I installed required packages:

sudo apt install build-essential
sudo apt install libx11-dev
sudo apt install ninja-build
sudo apt install openssl libssl-dev
sudo apt install libmd4c-dev libmd4c-html0-dev
sudo apt install pkg-config
sudo apt install mesa-utils libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt install libglew-dev libglfw3-dev libglm-dev
sudo apt install libao-dev libmpg123-dev

How I fixed my contact form

When I switched to PHP 7.4 I forgot to specify sendmail_path parameter in php.ini and my contact form stopped working. Today I found sendmail_path parameter in PHP 7.0:

cd /etc/php
find . -name "php.ini"
grep sendmail ./7.0/fpm/php.ini
sendmail_path = "/usr/sbin/sendmail -t -f ***** -i"

Converting WAV files with Sox

Source file:

soxi short-borrowed-old.wav
Input File     : 'short-borrowed-old.wav' (flac)
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:00.60 = 26460 samples = 45 CDDA sectors
File Size      : 54.0k
Bit Rate       : 720k
Sample Encoding: 16-bit FLAC
Comment        : 'Comment=Processed by SoX'

Switching to PHP 7.4 on Ubuntu 16.04

Some WordPress plugins stopped working with PHP 7.0 on my Ubuntu 16.04 server and I switched to PHP 7.4 with the following commands:

sudo add-apt-repository ppa:jczaplicki/xenial-php74-temp
sudo apt-get update
sudo apt-get install php7.4 php7.4-fpm php7.4-cli php7.4-mysql php7.4-dom php7.4-mbstring -y
service php7.4-fpm status
cd /etc/php/7.4/fpm/pool.d
sudo mv www.conf www.conf.dist
sudo mv ../../../7.0/fpm/pool.d/devnote.conf .
sudo service php7.0-fpm reload
sudo service php7.4-fpm reload

“Server certificate verification failed” error with command line Git client

Some guy described the same situation about 10 years ago on and there was another discussion about 7 years ago.

First I did:

GIT_CURL_VERBOSE=1 git clone
Cloning into 'examples'...
* Couldn't find host in the .netrc file; using defaults
*   Trying
* Connected to ( port 443 (#0)
* found 129 certificates in /etc/ssl/certs/ca-certificates.crt
* found 387 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
* server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
* stopped the pause stream!
* Closing connection 0
fatal: unable to access '': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Compiling Awl on Ubuntu 18 and 20 with GCC 11

Below I provided the instruction on how to build Awl on Ubuntu 18 and 20.

On Ubuntu 18 you do an extra step to install CMake version >= 3.12:

wget -O - 2>/dev/null | sudo apt-key add -
sudo apt-add-repository 'deb bionic main'
sudo apt update

Then do the following steps on both Ubuntu 18 and 20:

sudo apt install cmake
cmake --version

Error reading file: No space left on device

I had a large SQLite file C:\Users\D-Ef\AppData\Local\TradeClient\realtime.db that I was unable to copy to another disk. I tried:

split -n 10 -d -u realtime.db /mnt/d/db/rt
dd bs=65536 if=realtime.db of=/mnt/d/db/rt

in WSL, but got ‘error reading ‘realtime.db’: No space left on device’ with all the commands.

Finally I reduced page file size restarted my machine and copied the file in a usual way.


Installing Jabber Messaging Service on Ubuntu 16.04

sudo apt install ejabberd
ufw allow to any port 5280 proto tcp
ufw allow to any port 5222 proto tcp
ufw allow to any port 5269 proto tcp
ufw allow to any port 7777 proto tcp
sudo nano /etc/ejabberd/ejabberd.yml
## hosts: Domains served by ejabberd.
## You can define one or several, for example:
## hosts:
##   - ""
##   - ""
##   - ""
  - ""


###.   ====================
  ## The 'admin' ACL grants administrative privileges to XMPP accounts.
  ## You can put here as many accounts as you want.
         - "admin": ""