site  contact  subhomenews

Bug in inode/directory mime type

February 14, 2026 — BarryK

The problem was posed by urzz, here:

https://forum.puppylinux.com/viewtopic.php?p=159236#p159236

With response from Caramel here:

https://forum.puppylinux.com/viewtopic.php?p=159285#p159285

The script /usr/sbin/build-rox-sendto generates /usr/share/applications/mimeapps.list

The fix is to exclude 'i.desktop', which is now done in line 47:

#20241107 exclude these from mimeapps.list ... 20260214 add i.desktop
LISTnoma='ghasher packit uextract i'

Now:

# xdg-mime query default inode/directory
i.desktop
# build-rox-sendto
# xdg-mime query default inode/directory
ROX-Filer.desktop
Good!   

Tags: easy

PKGget thinks x11-xserver-utils not installed

February 14, 2026 — BarryK

It is installed, but PKGget thinks not; Caramel reported this.

'x11-xserver-utils' and 'acpi-support' were compiled by me, to reduce dependencies, as reported here:

https://bkhome.org/news/202511/fix-for-cpp-and-gcc-pulled-into-easysfs.html

In woofQ2, there is a file 'pkgs-installed.txt' created, that has these two listed; however the script '3post-populate-rootfs' cannot find them in the the Devuan package database, due to different version numbers, so leaves them out of /root/.packages/woof-installed-packages.

This does need some more consideration, but I have implemented a quick hack in '3post-populate-rootfs' to find the package entry with different version number and put it into 'woof-installed-packages'. PKGget will then know it is installed.   

Tags: easy

Tweak for run-as-user

February 14, 2026 — BarryK

I posted about run-as-user recently:

I received an email from Steve, testing 'run-as-user', and it has made me realise something...

In the case of chromium, normally what happens is, as we are the root operator, we will run /usr/bin/chromium, which will login as "chromium" user, then run /usr/bin/chromium.bin.  The /usr/bin/chromium script has this if we run it non-root:

if [ "$(whoami)" != "root" ];then exec sudo-sh ${PPID} ${0} ${xARGS}; fi

...which will ask for the root password then rerun the script as user root.

However, if we have used run-as-user to run some app as user "chromium", and that app needs to run chromium browser, then it is not appropriate to ask for a password to run chromium as the root user. We should just run chromium as user "chromium".

Script '4post-process-rootfs' in woofQ2 calls /usr/local/clients/setup-client to create rootfs/usr/bin/chromium, as well as chromium.bin and chromium.bin0. I have modified that script to detect if /usr/bin/chromium entered as user "chromium". Here is the start of the script:

#!/bin/bash
APPname='chromium'
ROOTOPTS='--no-sandbox --test-type'
NONROOTOPTS='--disable-features=AudioServiceSandbox --no-default-browser-check --no-first-run --enable-chrome-browser-cloud-management=no --disk-cache-size=20000000 --disable-file-system --enable-unsafe-swiftshader'

#instead of passing $@ to *.bin0, put quotes if space...
xARGS=""
if [ -n "$1" ];then
while [ -n "$1" ]
do
#do not put quotes around if a single word. example is "-edit" for seamonkey, the quotes stuff it up entirely...
if [ "${1/ /}" == "${1}" ];then
xARGS="${xARGS} ${1}"
else
xARGS="${xARGS} \"${1}\""
fi
shift
done
fi

#20260214 if enter as same user as target, go straight to .bin0...
if [ "$(whoami)" == "${APPname}" ];then
if [ -x /usr/bin/${APPname}.bin0 ];then
exec ${APPname}.bin0 ${NONROOTOPTS} ${xARGS}
elif [ -x /usr/bin/${APPname}.bin ];then
exec ${APPname}.bin ${NONROOTOPTS} ${xARGS}
fi
fi
if [ "$(whoami)" != "root" ];then exec sudo-sh ${PPID} ${0} ${xARGS}; fi

...so, chromium browser will run as user "chromium".    

Tags: easy

Default Applications Chooser fixes

February 12, 2026 — BarryK

You will find this in the Setup menu category. I mentioned it in the recent blog post:

https://bkhome.org/news/202602/a-better-fix-for-space-in-html-filename.html

This little app was originally written in 2010, by Sc0ttman, a member of the old Puppy Forum. Since then, some modifications by shinobar, rerwin and myself. Many years since anyone looked at it.

I discovered lots of issues, hopefully now fixed, and the version bumped from 0.9.2-1 to 0.9.3. This is a PET package.

img1

...looks good!     

Tags: easy

mtPaint 3.50.13 compiled in Excalibur

February 11, 2026 — BarryK

Forum member don570 reported a problem with mtPaint:

https://forum.puppylinux.com/viewtopic.php?p=164993#p164993

That is mtPaint 3.50.10, compiled in OpenEmbedded for Easy Scarthgap. The Devuan repository has mtPaint 3.50.11; so why didn't I use that? -- don't recall, there was a reason.

I have compiled mtPaint 3.50.13 and created a PET. The operation that don570 tested, now works:

# mtpaint --cmd   -f/new w=1184 h=624 =24   -e/col a=0 -s/all -e/cut -e/col a=173  -e/freetype font='DejaVu Sans' antialias=0 size=70  back=-1 angle=0  -e/freetype t='Puppy Linux v10.9' -e/paste  \(300,210\) -effect/gaussian=3  -e/layer trans=0 -effect/gaussian=1  -s/all -e/copy  -e/'Save Clipboard'/1 -e/set  grad=1 -e/col a=0 b=173 -e/tool grad \(300,200 700,500\) -e/tool grad: type=lin ext=mirror     -s/all -e/cut  -e/'Load Clipboard'/1  -e/paste -effect/'Soften ...'=50  -f/as=/usr/share/backgrounds/default format=jpeg

This will be in the next release.  

Tags: easy

A better fix for space in HTML filename

February 10, 2026 — BarryK

The fix was reported here:

https://bkhome.org/news/202602/fix-open-html-filename-with-space-char.html

So /usr/local/bin/defaultbrowser became this:

#!/bin/sh
P="$(echo -n "$1" | sed -e 's/ /%20/g')"
exec chromium "${P}"

...that works when click on a HTML file in ROX-Filer, as rox only passes a single parameter, $1.

However, 'defaultbrowser' is supposed to be generic, able to handle multiple passed parameters, $1 $2 $3 etc.

I have devised another method:

#!/bin/sh
set -- ${1// /%20} ${2// /%20} ${3// /%20} ${4// /%20}
exec chromium ${@}

...what that does is replace space characters from each passed parameter. I am only doing that up to $4

The rationale is that only one of those $1 to $4 will be the actual HTML filename, and applying the space-char replacement on the others won't do anything.  

EDIT 2026-02-11:
Note that could have just done this:

#!/bin/sh
exec chromium ${1// /%20} ${2// /%20} ${3// /%20} ${4// /%20}

However, there are scripts that read /usr/local/bin/defaultbrowser and edit it and expect the exec line to be of the format "exec chromium $@"

I need to look at this more carefully. A quick check of the PET package "defaults chooser"; it edits  the default* files with this:

echo "#!/bin/sh" > "$newroot/usr/local/bin/default$TYPE"
echo "exec $P \"\$@\"" >> "$newroot/usr/local/bin/default$TYPE"

...not good, that's going back to the old behaviour, expecting a single passed parameter only.

The defaults-chooser PET is ancient, originally written by sc0ttman circa 2010, latter worked on by shinobar, rerwin and myself.

There are some other scripts that edit default* files by only modifying the "exec" line and leave whatever is before as-is.

Putting this on the to-do list for further investigation.

EDIT 2026-02-13:
Decided to keep it simple, treat parameter passed to /usr/local/bin/default* as just one parameter, the file to be opened. This is how it has been traditionally in Puppy; trying to get fancy is too difficult.

The Default Application Chooser app uses this single-parameter approach, and I have fixed it:

https://bkhome.org/news/202602/default-applications-chooser-fixes.html

...it sets /usr/local/bin/defaultbrowser like this:

#!/bin/sh
exec chromium "${1// /%20}"

And all the others as, for example, defaulttexteditor:

#!/bin/sh
exec geany "${@}"

   

Tags: easy

Still getting random delay at bootup

February 10, 2026 — BarryK

Posted awhile ago about random delay at bootup from NVME SSD on my Zenbook:

https://bkhome.org/news/202601/nvme-idle-timeout-at-bootup.html

I have removed "nvme_core.default_ps_max_latency_us=200000" from limine.cfg, as found it doesn't work, still get the random delay.  

Tags: easy

EasyOS Excalibur-series version 7.1.4 released

February 09, 2026 — BarryK

Version 7.1.3 was released on January 25, 2026:

Changes since 7.1.3:

Download:

http://distro.ibiblio.org/easyos/amd64/releases/excalibur/2026/7.1.4/

Feedback is welcome in the forum:

https://forum.puppylinux.com/viewtopic.php?p=164889#p164889

Have fun!   

Tags: easy