Yep, that’s the plan. Note that Ubuntu Pro, offered by Canonical, extends the support period of LTS versions of the distribution (such as Ubuntu 22.04 LTS) from 5 to 10 years, and soon to 12 years.
We will have OS for a long time before they finally fix it in the upcoming LTS.
There’s still a possibility I had not time to test, which is using a Ubuntu server image as a base, then after first boot, install tasksel and with it, your preferred desktop environment. Chances are the wlan0 service which fails, preventing uConsole of having wifi, with Ubuntu desktop perhaps is not there.
I would like to share a little guide with tips, with little tweaks that can be done after flashing the image and configuring it during the first boot 
-
Installing a different Desktop Environment.: Open a terminal, type sudo apt install -y tasksel
, then run sudo tasksel
, a ncurses menu will open for you to select ‘tasks’, which are basically groups of packages and settings for doing determined tasks. You can enable sshd
there too, or even install a LAMP server. I personally use gnome
.
-
Tweak the UI: When using gnome
with Xorg, I have found that the screen flickering when sudo privileges are asked, in Unity, is gone. You can also install gnome-shell-extension*
and gnome-tweaks
to adjust the font scaling (I use 1.20x), make windows appear centered, use the dock, etc.
-
Install messaging applications:
- Legcord, Discord clone. GitHub - Legcord/Legcord: Legcord is a custom client designed to enhance your Discord experience while keeping everything lightweight.
- Telegram-Desktop.
sudo apt install telegram-desktop
[available in .deb and flatpak]
- Signal. GitHub - signalapp/Signal-Desktop: A private messenger for Windows, macOS, and Linux.
-
Install one IDE: Some people will argue they don’t need more than vi to develop, others will say emacs, good for them. I personally use vscode (code
), and I am fine with it. For those who don’t know, it is basically a text editor like sublime, extensible with plugins to code for any platform, and even you can use Copilot as a mate peer programmer. If you really worry about it not being open source, use apt install -y codium
, which does not use privative software at all (not even the official plugins).
-
Set up an Platform.io + Copilot environment: Is always fun. Once you’re using code
, install platform.io
and copilot
extensions. Install any extension that depends on them, as C/C++ runners and parsers. You can develop for rp2040 too, and even rewrite the uConsole’s keyboard firmware (DIY project: simple solution to be able to smooth scroll?).
-
Reading: Use calibre
and okular
to read epub’s and pdf’s. You’re just one apt command away.
-
Writing: openoffice
, libreoffice
, another apt command away.
-
Watch internet TV: Easy with sudo apt install -y freetuxtv
. I made a simple website with the channels of that app, and uploaded it here (some radio stations are also available):
Free Tux TV Wall
-
Listen to radio: To just listen to AM/FM radio, you can just use radio over the internet, as lastfm or tunein. There’s a tunein-cli application, that works perfectly and is low resources:
GitHub - tsirysndr/tunein-cli: Browse and listen to thousands of radio stations across the globe right from your terminal 🌎 📻 🎵✨
Another wider solution is to purchase a RTL-SDR device. This allows listening to radio without an internet connection, and you can listen too to more variety of broadcasters, including HAM radioafficionates, planes, satellites, depending on your equipment. For this hardware, sdrangel, sdr++, sdrspy, etc. Can be installed in this system.
- sdr++: You can install it safely from the @Rex apt repository, but make sure to set the priority for that source low so it does not install any other package. The dependences will be obtained from the ubuntu focal repositories.
wget -q -O- https://raw.githubusercontent.com/ak-rex/ClockworkPi-apt/main/bookworm/KEY.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ak-rex.gpg
sudo add-apt-repository -y "deb [arch=arm64] https://raw.githubusercontent.com/ak-rex/ClockworkPi-apt/main/bookworm stable main"
sudo apt install -y sdrpp
- sdrangel: Follow this guide brought by @Symbiiote, compiled by f4exb:
Compile from source in Linux · f4exb/sdrangel Wiki · GitHub
-
Install Pi-Apps: Easy way to install some other, lets call them tasks, as them are apps + depencencies. You can try to install steam
, retroarch
, and many other games as minecraft
with this.
Pi-Apps - Install Instructions
-
Tweak the governor and CPU speed to make a fair use of the battery: Seen in this thread, just follow this intructions:
sudo apt install -y cpufreqd cpufrequtils
- Then edit
sudo nano /etc/init.d/cpufrequtils
Then in this lines:
ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="1500000"
MIN_SPEED="600000",
- Then
sudo /etc/init.d/cpufrequtils restart
.
- You can run
cpufreq-info
to verify the governor and speeds are set correctly. Please avoid doing crazy things, let cpufreq work as expected.
- This is more of a general tip when using Debian based distributions: Sometimes using apt to install packages could lead to the package not being able to install, due to a dependency problem, specially when dealing with crossplatform development, that is, using for example x86 / amd64 software in aarch64. As a general solution to the dependency hell, rely on
aptitude
instead of apt
. Aptitude is an ncurses package manager, which shows a menu. Following, some key shorcuts:
- Ctrl + T: Opens the menu
/
: Search
n
: Next package with the searched name.
p
: Previous
+
: Install
L
: Force-Reinstall
_
: Purge. -
: Remove, maintaining conf files.
- If a problematic situation occurs,
e
will examine it, .
and ,
to see next and previous solutions , and !
will apply it.
g
: (twice) To accept and install.
For every package, if you press Enter
on the name, it will show you a screen with the PreDependences, Dependences, Suggestions, and Confilcts. L
on all the dependencies AND the package name itself, will always reinstall the whole. You can also _
on all the Conflicts. At the end of the screen, perhaps more than a version of the package name could be available, sometimes with different dependencies.
# Prepare dir and download.
mkdir -p /usr/local/src/linux && cd /usr/local/src/linux
### To date, no other branch than rpi-6.6.y is present in the repo.
git clone -b rpi-6.6.y https://github.com/ak-rex/ClockworkPi-linux.git
cd ClockworkPi-linux
### Install kernel dependencies
sudo apt build-dep -y linux linux-image-unsigned-6.8.0-49-generic linux-image-unsigned-6.8.0-49-lowlatency
sudo apt install -y libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf \
curl llvm git qemu-user-static gcc-12 g++-12 qemu-user-static binfmt-support
sudo apt install -y bc bison flex libssl-dev make libc6-dev libncurses5-dev debhelper-compat
sudo apt install -y crossbuild-essential-arm64
#ENV_VARS
export $(dpkg-architecture -aarm64)
export CROSS_COMPILE=aarch64-linux-gnu-
# COMPILE KERNEL
KERNEL=kernel8
make bcm2711_defconfig
make -j6 deb-pkg LOCALVERSION=-raspi
This is enough for today, I hope you like all this stuff. This is what I use uConsole mostly, what about you? Share your favourite apps quoting this line
.
5 Likes