Tag Archives: linux

Testing PostmarketOS and Waydroid on a desktop : a fancy Linux tablet

Installing PostmarketOS on a desktop computer because I wanted to test it.

The installation process was a bit sparse but surprisingly simple and straightforward.

Using a terminal and the tail command to follow the installation log was useful because I got confused about why the installation took longer than expected.

After that was done it turned out to be a plain Gnome desktop with Alpine Linux underneath it. For some reason I had expect a mobile OS to have a dialer app but then I remembered that it does not come with one ISO installer file but specific ones for devices.

Installing Waydroid was also pretty easy for me because I had experience with that. I can imagine that when Waydroid is brand new for you it can take some time to get it up and running because it can be a little rough at the edges sometimes.

As usual the ArchLinux wiki (yes, ArchLinux) can be useful no matter which Linux distribution you are running. In this case https://wiki.archlinux.org/title/Waydroid#Usage

$ waydroid session start

and

$ waydroid show-full-ui

can be two useful commands to know about for Waydroid.

Using adb with Waydroid can be useful.

https://docs.waydro.id/faq/using-adb-with-waydroid

Conclusion : If you have a laptop with touchscreen installing PostmarketOS and Waydroid can be beneficial and rewarding depending on your goals.

I’ve seen some people complain about Alpine Linux using “apk add <package name>” (unlike the expected “apk install <package name>”) but this can’t be a show stopper.

Of course you can probably install any Linux distribution on a laptop with touchscreen and have Waydroid on it as a Linux tablet but if you would want to volunteer to help with the development of PostmarketOS maybe this is the way.

[lazy admin writings] Backporting a deb package with Debian Linux

More recent yt-dlp versions (direct download ones) are complaining about EJS and warn that the build-in solution in yt-dlp will be deprecated. I wanted to prepare for this future deprecation so I had looked at the options before. The recommended one is Deno but I prefer to install from deb packages as much as possible and Deno could not be found in the Debian packages repositories. Then I had noticed that QuickJS (by the software genius Fabrice Bellard) is in the repositories but only from Debian Trixie and newer. The computer I use yt-dlp has Debian Bookworm and I’m not yet ready or too lazy or some such to make the jump from Bookwork to Trixie now.

What to do ? First I thought about apt-pinning which worked nice many years ago but in more recent years my experience with it was a bit too messy or chaotic. Chaos is fine but not too often 😉 So what then ?

Go Go Gadget! Backporting.

Years ago I had used backporting several times with Debian even for packages with a lot dependencies which meant backporting several other programs and libraries that the package depended on.

With QuickJS I expected things to be easy because Fabrice Bellard is a programmer which appears to avoid bloat and wants to use every bit as efficient as possible.

After a search engine search I quickly found what I needed, this page :

https://debian-handbook.info/browse/stable/debian-packaging.html

Let’s summarize how this backporting was a  success :

I made sure I had compile tools installed.

# apt install build-essential

(# implies sudo or su to temporary have root privileges $ implies regular user)

Then installed the devscripts deb and one of the suggestions (dh-make) which I am not sure that it was actually needed :

# apt install devscripts dh-make

In /etc/apt/sources.list I added one new line (without the #)  :

# deb-src http://deb.debian.org/debian/ trixie main contrib non-free

Then ran # apt update

As regular user :

$ apt source quickjs

After this command had downloaded the source, navigate into the new directory.

$ cd quickjs-2025.04.26/

Now an optional step which you can omit.

$ dch –local +falcot

Then the big moment. I still was not sure whether it needed more dependencies so this could fail.

$ dpkg-buildpackage -us -uc

And the compiling started and finished well.

The result were in the directory above (After compiling it will also mention that)

it resulted among other in two deb files : quickjs_2025.04.26-1_amd64.deb and libquickjs_2025.04.26-1_amd64.deb

The final step of backporting and installing :

# dpkg -i quickjs*deb libquickjs_2025.04.26-1_amd64.deb

That looked good, no errors.

Then the first new step with yt-dlp :

$ yt-dlp_linux –js-runtimes quickjs:/bin/qjs [and YouTube link here]

(Syntax following :  https://github.com/yt-dlp/yt-dlp/wiki/EJS)

And there it was in the yt-dlp output, the final verdict, it worked! :

[youtube] [jsc:quickjs] Solving JS challenges using quickjs

[info] [YT-link part]: Downloading 1 format(s): 135+251

Of course this will be more difficult or even very difficult or almost impossible if the package you’d like to backport has many dependencies but

you never know unless you try! 🙂

 

 

A subjective review of CachyOS installations

I’d seen the name CachyOS popping up before but only when I saw it is ArchLinux based and optimized for speed my curiosity put it on top of my wish list.

Tried it on one computer, installation was pretty smooth although I didn’t like their default KDE based installer which felt sluggish. After installation I tested Cinnamon and Gnome desktop and I was impressed by its snappy performance.

Tried it on another computer, a considerable slower computer, and on that one the CachyOS installer kept failing during partitioning and formatting. I tried the text based installer and the GUI based installer several times, tried ext4 instead of the default btrfs, and even pre-formatted but it kept failing with errors that didn’t make sense to me. And I didn’t want to spend more time on it. After this setback I went for a plain Arch Linux installation on the very same computer and that went fine.[1]

Conclusion :

Pros (subjective, personal) :

  •  Fish shell as default
  •  Has aliases for ls with eza (the successor of exa)
  • Feels snappy
  • Output of eza shows the icons as it should (Unlike all the recent installations I did among other with Debian, Linux Mint (Ubuntu and Debian based flavors) and I believe also plain ArchLinux.

Cons : None yet.

Here’s the list of aliases it comes with.

alias .. ‘cd ..’
alias … ‘cd ../..’
alias …. ‘cd ../../..’
alias ….. ‘cd ../../../..’
alias …… ‘cd ../../../../..’
alias apt ‘man pacman’
alias apt-get ‘man pacman’
alias cleanup ‘sudo pacman -Rns (pacman -Qtdq)’
alias dir ‘dir –color=auto’
alias egrep ‘egrep –color=auto’
alias fgrep ‘fgrep –color=auto’
alias fish_vi_dec ‘fish_vi_inc_dec dec’
alias fish_vi_inc ‘fish_vi_inc_dec inc’
alias fixpacman ‘sudo rm /var/lib/pacman/db.lck’
alias gitpkg ‘pacman -Q | grep -i “\\\\-git” | wc -l’
alias grep ‘grep –color=auto’
alias grubup ‘sudo grub-mkconfig -o /boot/grub/grub.cfg’
alias hw ‘hwinfo –short’
alias jctl ‘journalctl -p 3 -xb’
alias la ‘eza -a –color=always –group-directories-first –icons’
alias ll ‘eza -l –color=always –group-directories-first –icons’
alias ls ‘eza -al –color=always –group-directories-first –icons’
alias lt ‘eza -aT –color=always –group-directories-first –icons’
alias mirror ‘sudo cachyos-rate-mirrors’
alias please sudo
alias psmem ‘ps auxf | sort -nr -k 4’
alias psmem10 ‘ps auxf | sort -nr -k 4 | head -10’
alias tarnow ‘tar -acf ‘
alias tb ‘nc termbin.com 9999’
alias untar ‘tar -zxvf ‘
alias update ‘sudo pacman -Syu’
alias vdir ‘vdir –color=auto’
alias wget ‘wget -c ‘

[1] And that made me wonder : Surely an existing ArchLinux installation can be converted into a CachyOS installation 🙂

detox : A “lazy” way to remove spaces in filenames in Linux

There’s several ways to remove spaces from file names. For other options see this post that I found with a search engine search.

In this writing I’ll write about an easy way with a tool called detox.

On Debian/Ubuntu/Linux Mint or any other Debian or Devuan based Linux, open a terminal and type or copy&paste :

sudo apt-get install detox

After that, if you want to remove spaces from all your ODT (LibreOffice) files, type :

detox *odt

After this is done for example your “Notes from last night’s meeting.odt” will be renamed to “Notes_from_last_night_s_meeting.odt” or something like that.

There’s some exceptions that detox will not be able to convert.

If you did save your file like this for example  :

“‘Notes from today’s meeting.odt'” detox will not succeed. The combination of the ‘ and ” characters are a show stopper.

If you want to learn more about detox command-line options, for example the recursive and the dry-run option, type :

detox -h

Have a nice “lazy” detox day!

 

Hints about Yunohost + Nextcloud Office

Some short hints. This is not a complete howto (yet). It assumes that you are running Yunohost and you did install Nextcloud and you remembered or wrote down which of your Yunohost users was made admin for your Nextcloud installation.

nano /etc/php/8.3/fpm/pool.d/nextcloud.conf

Change the 128 of php_admin_value[memory_limit] = 128M into 512. And ignore the read-only warning.

sudo /etc/init.d/php8.3-fpm restart

Login as admin of the Nextcloud installation.

At the Apps section install : Collabora Online – Built-in CODE Server and the Nextcloud Office (RichDocuments).

Login with ssh, and :

sudo -u nextcloud bash

cd /var/www/nextcloud

php –define apc.enable_cli=1 occ richdocuments:activate-config

At this point perhaps a reboot or a restart of certain services is needed.

/happy YH! 🙂

Annoyances fixed (3) slapstick mode

With too many things to do (and no time to waste in this chaos world rat race in outer space) I tried a new idea today.

Imagine this annoyance : Desktop running Debian (with surname GNU/Linux if you prefer) with a desktop environment which is not KDE, GNOME or does not depend on fvwm95. After logging out, when going out or going to sleep I’ve been furious that lots of commands keeping running in the background.  And I was currently too impatient to search for a really really long time for logout session files options where this could be worked around.

So today I tried a new idea before … (cough) … NOT logging out :

pkill -u my_desktop_username_here

Works great! Can recommend! 🙂


btw

/me faithful fan of pkill since long long time.

/leave

/join #happiness

 

Playing music with Mopidy or with mpd (music player daemon) part 1

This is just an introduction post to Mopidy and mpd (Music Player Daemon).

Both are music players that come without GUI but there’s a wide choice of client software for it (Console and GUI). Both default to be using localhost as server, but they can be configured to be used over a network e.g. a LAN at home or – dare I say it ? (hahaha) – a company office or government building, a desert island in the Pacific Ocean and so on.

I used to happily use mpd for years on a Raspberry Pi … but not Every After … until one day probably due to a software upgrade or some glitch or user mistake it stopped working. Because I had not documented how I configured the audio for server usage I started to try to fix and got lost in Internet searches and it was then that I decided to test Mopidy. It turned out that Mopidy was even more difficult to get going, at least for me, but it was not an uninteresting journey. I learned that Mopidy uses GStreamer, and Mopidy only supports audio files, or it seems so. Perhaps I couldn’t figure out how to let it play audio from video files with extensions like avi, mp4, mkv, webm. And converting all these music videos into audio would take a lot of time (Yes, no top500 super computer in the basement here :^).

My plan now is to use another computer here to setup mpd, and then figure out how to configure PulseAudio to make mpd available over the LAN, document that, and then do the same for Mopidy and then blog-report that into a how-to back here.

Till next time! 🙂

 

Fetch Apple iPhone photos to your Linux computer (2)

In part 1 photos from an Apple iPhone were copied to a Linux computer with LocalSend. In that case the resulting files will be having the HEIC file extension. That is OK for viewing the photos with image viewers that support the heic file extension.

Converting to png or jpg may be useful if you want to upload the photos to the Internet.

On Linux :

  1. Install the libheif-examples package. It is called like that on Debian or Ubuntu or Linux distributions based on Debian or Ubuntu (e.g. Linux Mint, MX Linux). On other Linux distributions like
  2. Open a terminal. Start conversion of a file named photo1.HEIC would go like this :
heif-convert photo1.HEIC photo1.jpg

If you want to use a batch operation on a lot of files on the command-line,

or want to use a GUI application, see for example here : Ubuntuhandbook site,

or use DDG, Startpage or a good search engine to search for something like :

heic convert linux files

p.s.

If you are interested in trying out the libimobiledevice method like mention in part 1,

see here the Arch Linux wiki entry to get some hints about how to apply it for your Linux distribution. I’ve written that it can be confusing because you cannot delete files and only copy but the interesting thing I forgot to mention is that with this method you can see a lot more of the file structure and other files on iOS.

Fetch Apple iPhone photos to your Linux computer (1)

Let’s imagine you have a visitor which is not very familiar with computers and phones but wants to share their 1 Gigabytes of photos with you on their Apple iPhone.

You probably know that until recently Apple was about incompatible as possible when it comes to software and hardware. For example, if you work in an office and your iPhone battery is almost empty then in the last few decades none of the Android phone chargers would rescue you. In the future Apple will iirc have to adjust and allow USB-C connections.

In this blog post I will focus on LocalSend because I believe it is an elegant solution

for all kind of operating systems and it is not super difficult.

For example, with Linux you can also go for the tools of libimobiledevice project

but this is not only more difficult but it can be very confusing. Because if you use libimobiledevice to mount the iPhone and you think you will quickly copy photos across and then delete a few hundreds photos via the mount point you will be in for a surprise.

libimobiledevice can only copy from the phone and it cannot delete photos from the phone although it will not complain about the latter.

So, without further ado and without further delays let’s check out the wonderful LocalSend application :

  1. Install LocalSend on the phone and on your Linux computer.
  2. Make sure you are on the same WiFi network without client isolation on (this can be the case if you have a Guest WiFi network option).
  3. On your Linux laptop open port 53317 for incoming traffic.
  4. Start the LocalSend app on both phone and your Linux computer.
  5. At the Linux computer click the Receive button
  6. On the phone select which images you’d like to send.
  7. On the Linux computer when the phone has been discovered, click on the nickname of the phone to receive the photos which in my case were downloaded in the ~/Downloads folder.

Alternatives ? KDEConnect or the GNOME counterpart of KDEConnect is also available for Linux, Android, Apple iOS and more.

Part 2 will be about how to convert the photos from HEIC to png or jpg format.

Linux application firewall OpenSnitch

For many years there was no decent application firewall software for Linux.

Since a few years OpenSnitch has been packaged for a few Linux distributions.

Is OpenSnitch for you ?

Maybe not actually, it can be quite annoying having to choose what to allow and what not after a reboot of your computer if you are using more than just a few applications that need network access.

Why would you use it ? If you like to have more control about outgoing network connections from applications on your Linux desktop.

Do I like it ? Yes.

What did I learn with it ? Not much, but I remember wanting to saving html content from a newspaper site in LibreOffice for a friend (Usually I skip photos and want only text when I save an article for myself to read again later) and OpenSnitch came with a pop-up question because LibreOffice tried to connect to the newspaper site to fetch some missing images (or fonts ?).

Correction : Apologies. My memory was wrong. It was LibreOffice itself that asked to download missing remote content.

This information (That LibreOffice wants to fetch things) is not completely unimportant to me because I use VPN or Tor browser or i2p or Tor by other means or just plain Internet, and when I use the latter I prefer to only do this for a limited amount of sites.

More on OpenSnitch, Key Features, OpenSnitch in action (video) and more,

see here : https://github.com/evilsocket/opensnitch