Update 15.04.2019

Linux Mini-PC Setup for 24/7 WSPR RX/TX Operation

The Hardware you need:

- (QRP)-SSB-HF-Transceiver with VOX,

- Mini-PC (i386), 500 MHz - 1,5 GHz CPU-Frequ., 1 GB.RAM, 8 GB CF-Card (4 GB with restrictions) or CF-SD Adapter wth SD-Card (IGEL-Mini-PC Thin Client, Fujitsu Futro S550, Mini-PC Non-PAE-boards etc.)

- WLAN-USB-Stick



Download Lubuntu 16.04 LTS 32bit. Burn  a Live/Install DVD or a bootable USB Stick. Change the boot order in the Mini-PC-BIOS to removable USB device first.

Install Lubuntu 16.04 on the 8 GB CF-Card, Partition 1 EXT4 file system with / directory and Partition 2 a (nearly unused) linux swap with ca. 200 MB, the boot loader on sda (CF-Card). Select the autologin option.

At the moment I'm testing a Lubuntu 18.04 LTS 32 bit Daily Build and for my Non-PAE-Boards Debian 9.3 LXDE as well.

Update 15.04.2019: I have installed Debian Testing full freeze (Debian 10 buster lxde)

When Lubuntu (16.04 or 18.04) or Debian 9.3 or Debian 10 works, open the LX Terminal (Debian 9.3 , 10 root terminal without 'sudo') and install some software:

$ sudo apt-get install gedit vino pulseaudio pavucontrol ntpdate

(gedit is optional, with Ubuntu 18.04 LTS DB I and Debian 9.3 and 10  I had to install gdebi, too. By the way, Debian 10 needs the package installer Synaptic [synaptic_0.84.2_i386.deb] separately downloaded from the web.)

Configure the vnc server for remote desktop access:

1. $ gsettings set org.gnome.Vino require-encryption false
2. $ gsettings set org.gnome.Vino prompt-enabled false
3. $ gsettings set org.gnome.Vino enabled true

or use

$ vino-preferences

With vino_3.22 (Lubuntu 18.04 and Debian 9.3, Debian 10) 'vino-preferences' does not work. Type the lines 1 and 2 and then insert '/usr/lib/vino/vino-server' into the autostart folder (default applications for LX Session).


To have access to your mini-PC from another PC in your local network with a static address, set the Ethernet or WiFi-Network IP4-settings to "manual" according to the settings of your LAN/WLAN router, e.g.:

Address:       Netmask     Gateway


Download gnome-schedule_2.1.1-4_all.deb and python-support_1.0.15_all.deb, With the GDebi package installer install python-support first and then gnome-schedule.

Synchronize PC clock:

Configure gnome-schedule with

$ sudo gnome-schedule

The command is:

"/usr/sbin/ntpdate -b ptbtime2.ptb.de"  where "ptbtime2.ptb.de" is my favourite time server. Set the synchronisation time span to 1 hour or less.

At the moment,  gnome-schedule does not work with Debian 10.  Type "crontab -e" in a root terminal and insert "*/23 * * * * /usr/sbin/ntpdate -b ptbtime2.ptb.de"

Download the latest WSJT-X release (1.8.0) from the WSJT Home Page and install it with the GDebi package installer. If you use Lubuntu 18.04 LTS or Debian 9.3 LXDE, install libreadline6_6.3-8+b3_i386.deb first.

Update 15.04.2019, Debian 9 + 10: Download the latest WSJT-X release (2.01) from the WSJT Home Page.

With Debian 9, at first add to /etc/apt/sources.list "deb http://ftp.de.debian.org/debian sid main" and install libc6 2.28  and libqt5sql5-sqlite with synaptic o.s..

With Debian 10, at first I had to install libgfortran3, libgfortran4 and gcc-6-base_6.3.0-18+deb9u1_i386.deb from the web, too.


Start the program and configure the settings.


"The NAND Flash memory built into compact flash (CF) cards, SSD (solid state drives) and SD cards can only perform a certain number of program (erase) operations due to its limited endurance" (TDK SMART). So it is a good idea esp. with regard to a 24/7 operation, to reduce the number of write cycles as far as possible.

This Ubuntu or Debian installation is not intended for web browsing, but if you use Firefox web browser from time to time, you can reduce its excessive writes to disk. Type "about:config" in the address bar and set browser.sessionsstore.intervall from 15000 15 sec.) to 1800000 (30 min).

tmpfs can write to RAM instead of the local disk (in this case, the SD card). Using it is simple. All you need is an entry to the /etc/fstab file (to mount the folder you wish to have written to RAM).

Linux make frequent writes to a varity of locations. the following entries I use as a starting point:

tmpfs    /tmp    tmpfs    defaults,noatime,nosuid,size=50m    0 0
tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=30m    0 0
tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=50m    0 0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=20m    0 0

It is no problem for me to do it with the WSJT-X directory, too. The WSJT-X.ini file in the folder /home/username/.config is not affected:

tmpfs  /home/wolf/.local/share/WSJT-X  tmpfs   nodev,noatime,nosuid,size=30m,mode=0755   0    0

The linux mount option noatime disables atime updates and eliminates the need by the system to make writes to the file system for files which are simply being read. In the example below I have set it to the / file system:

 # / was on /dev/sda5 during installation
UUID=f88b5208-c136-4a76-bcf2-4feae0619dda /  ext4  noatime,errors=remount-ro 0  1

 Set swappiness to 1, this means that the kernel will swap (= write to the swap partition on the CF-Card) only to avoid an out-of-memory condition. (Standard is 60).

$ sudo gedit /etc/sysctl.conf

add the line:Z80 Single Board Computer cpm-2.2

after reboot you can test it with:

$ cat /proc/sys/vm/swappiness

After a system software update the autologin function of my Mini-PCs didn't work anymore. You will need to create as root an /etc/lightdm/lightdm.conf with these contents:

autologin-user=<YOUR USER>

 That`s all.

With the above described configuration 2 of my Mini-PCs (and 2 homebrew HF-transceivers) work 24/7 since January 2017 with 1 or 2 forced monthly reboots (WSJT-X, WSPR mode). Concerning 24/7 I do not participate in the "allowed/not allowed" discussion. When I am not at home, WSJT-X is set to RX-only.

Template by a4joomla, modified by DL8YCA         Impressum