Monday, June 30, 2025

Debian 12 + Cinnamon (2025 Linux Desktop)

Linux is desktop ready.

The Year of the Linux Desktop has been around a while..

Every year or two I'd try things out, there was always a big blocker (some missing feature / functionality / broken hardware support), and I would  << retreat << back to Windows, and later Mac systems.

Linux in the enterprise / datacenter / server system is a good solution for most things, no problem there!

This time I tried Debian 12 with Cinnamon Desktop on an old Dell Latitude 7940 laptop.

I quite enjoyed the it just works experience!

Features I have working include:

  • Full disk encryption (LVM during install)

  • Hardware support out of box, everything works:
    • Wifi
    • Trackpad
    • Display drivers
    • Sound
    • Bluetooth
    • Power Management

  • The desktop experience is what I expect:
    • Point and click setup of most things
    • Command line setup where I like it (apt, vi etc)
    • Easy to install software via apt, downloaded .deb package
    • Built in software tool to find and install applications
    • System updates via system tray notification
    • Printers just work
    • Thunderbird connected to my iCloud email and Contacts
    • Libre Office feels polished and my documents just open
    • and VS Code of course is my fav GUI editor, vim still gets plenty of use too

  • Batteries Not Included:
    • Documents and Desktop replication
      • Appears to have built in support for Google and some others
      • No iCloud of course :-)
      • Was able to configure Unison to easily replicate Docs & Desk on my main iMac
    • Remote Desktop
      • x11vnc works fine, but the local desktop needs to be logged in first
      • No remote reboot with encryption, the full disk encryption LVM setup behaves like a boot password (its just how it works), blocking remote reboots.
      • Since its a laptop system, remote desktop access is not a primary function

  • Everything else so far just works, I replaced my main MacBook with CinnaDeb12.


More details + specific setup steps for reference to come..


Sunday, December 17, 2023

Cebik Pages Update


As noted, things have been tidied and improved, updated to syntax correct HTML with a single CSS file, broken links fixed, some missing content found and added back in. A useful addition is the topics index which makes it easy to find all related pages on a subject, and see them all listed in one place.

I started working on this a few weeks ago when I learned that ON5AU who hosted the only known complete copy had become SK.

After I started looking at the Cebik pages, one thing lead to another, and the end result was significant update which I think was needed considering how useful this is to many.

Happy Holidays!


18 / December / 2024 Update

Now available on GitHub:

Clone, fork, or download ZIP archive from Green code button.

Happy Holidays!

Tuesday, October 31, 2023

MacLoggerDX Logs Backup Script

MLDX-Backup is a backup script I wrote for MacLoggerDX.
  • It gracefully closes MLDX.
  • Creates tgz archive (gzipped tar file).
  • Excludes .DS_Store, debug files, QSL card images, ADIF conformations log.
  • Keeps the last five backups (removes oldest when new backup is created).

Also includes information on how to manage things with iCloud drive Documents and Desktop syncing if used.

Saturday, September 23, 2023

JS8Call Band Hopping Script

Recently someone asked on the JS8Call group about band hopping or cycling through several bands on a 10 minute cycle.

Jordan the author of JS8Call suggested using the API to do this.

I decided to see what was around and found this well documented js8net API library, with that I was able to interact with the API from the command line, and could read and set the frequency.

Python is not something I'm familiar with, so I used ChatGPT to help me write a python script that would cycle through a list of frequencies changing to the next one every few minutes.

The result was JS8BandHop, a fairly simple Python script.

Friday, June 2, 2023

How to build WSJT-X from source on macOS

WSJT-X
Compile WSJT-X on Mac.

Works on my spare Late 2014 5K iMac running Big Sur 11.7.10 with Xcode 13.2.1.

Information was passed onto me from AA5SH - Notes on Building WSJT-X on my Mac. The main difference is this guide uses current stable release of Hamlib (4.5.5) from their Github repo.

The steps create a directory called /Users/<username>/wsjtx-build, with a sub-directory each for Hamlib and WSJT-X source code and building.

A detailed guide of how I have my rig control, logging, and digi mode apps configured is at:
https://lonneys-notebook.blogspot.com/2023/06/macloggerdx-flrig-with-wsjt-x-fldigi.html


Xcode


Xcode can be downloaded from the App Store, for older versions of macOS it can be downloaded from https://developer.apple.com/xcode/resources/ > Additional downloads > Search for the version number.

Supported version of Xcode for a given version of macOS see https://en.wikipedia.org/wiki/Xcode.

There are two parts to install Xcode one is just to install from the App Store or download from the Apple developer site, and then also from the command line run the following command:

xcode-select --install

Agree to the Xcode license agreement:

sudo xcodebuild -license


CMake


Download the latest CMake universal from http://www.cmake.org/download/

Open the DMG then drag and drop the application bundle onto the supplied /Applications link.

To complete the install process run:

sudo "/Applications/CMake.app/Contents/MacOS/cmake" --install


Homebrew


Install Homebrew from https://brew.sh/ 

Run the two commands shown at competition to add it to the path.

Install gcc@9:

brew install gcc@9


Mac Ports


Install Mac Ports from https://www.macports.org/

Quit and re-open terminal after installing. 

Install the required ports, answer yes to dependancies or use port -N (non interactive):

sudo port install autoconf
sudo port install automake
sudo port install libtool
sudo port install pkgconfig
sudo port install texinfo
sudo port install fftw-3-single +gcc9
sudo port install asciidoc
sudo port install asciidoctor
sudo port install libusb-devel
sudo port install boost
sudo port install qt5
sudo port install qt5-qtmultimedia
sudo port install qt5-qtwebsockets


Build Hamlib



This only needs to be done once.

Using the current stable release, 4.5.5 at this time.

mkdir -p ~/wsjtx-build/hamlib-prefix/build
cd ~/wsjtx-build/hamlib-prefix
git clone --depth 1 --branch 4.5.5 https://github.com/Hamlib/Hamlib.git src
cd src
./bootstrap
cd ../build

../src/configure \
   --enable-static \
   --disable-shared \
   --disable-winradio \
   --prefix=$HOME/wsjtx-build/hamlib-prefix \
   CFLAGS="-g -O2 -mmacosx-version-min=10.7 -I/opt/local/include" \
   LIBUSB_LIBS="-L/opt/local/lib -lusb-1.0"

make
make install-strip

If make install-strip fails, run make install


Build WSJT-X


Download source code tarball (.tgz) from:



Note: WSJT-X Improved includes additional features (some later make it into regular WSJT-X), and alternate layouts.

Extract the tarball file, you should see a folder named wsjtx-<version number>.

Open the src folder with-in this and extract wsjtx.tgz, this is the source code.

mkdir -p ~/wsjtx-build/wsjtx-prefix/src
mkdir -p ~/wsjtx-build/wsjtx-prefix/build

Copy the source code with in the expanded wsjtx folder into ~/wsjtx-build/wsjtx-prefix/src

cd ~/wsjtx-build/wsjtx-prefix/build

FC=/usr/local/Cellar/gcc@9/9.5.0/bin/gfortran-9 \
   cmake \
   -D CMAKE_PREFIX_PATH="/opt/local/libexec/qt5;~/wsjtx-build/hamlib-prefix;/opt/local" \
   -D CMAKE_INSTALL_PREFIX=~/wsjtx-build/wsjtx-prefix \
   -D CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/ \
   ~/wsjtx-build/wsjtx-prefix/src

Substitute the Mac OS X SDK version you have installed in the above command if you have a different version.

cmake --build .
cmake --build . --target install # Builds wsjt-x application bundle 
cmake --build . --target package # Builds .dmg file in build directory


Other Info





Misc Notes


Find QT version (installed via Mac Ports): /opt/local/libexec/qt5/bin/qmake -v


Build JS8Call on macOS



Not tried it my self yet.