Skip to content

fix SELKIES_DESKTOP to accept case-insensitive values (e.g. True) - #169

Closed
junkerderprovinz wants to merge 1 commit into
linuxserver:masterfrom
junkerderprovinz:fix/selkies-desktop-case-insensitive
Closed

fix SELKIES_DESKTOP to accept case-insensitive values (e.g. True)#169
junkerderprovinz wants to merge 1 commit into
linuxserver:masterfrom
junkerderprovinz:fix/selkies-desktop-case-insensitive

Conversation

@junkerderprovinz

@junkerderprovinz junkerderprovinz commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

linuxserver.io


  • I have read the contributing guideline and understand that I have made the correct modifications

Description:

SELKIES_DESKTOP=True (or any non-lowercase spelling) does not enable the desktop panel — only the exact lowercase SELKIES_DESKTOP=true works. root/defaults/startwm_wayland.sh is the only consumer and compared the raw value case-sensitively:

if [ "${SELKIES_DESKTOP}" == "true" ]; then

So True/TRUE fall through to plain labwc without selkies-desktop. This lowercases the value first, matching the idiom already used throughout init-selkies-config/run (${HARDEN_DESKTOP,,}, ${DISABLE_SUDO,,}, ${RESTART_APP,,}, etc.):

if [[ "${SELKIES_DESKTOP,,}" == "true" ]]; then

Benefits of this PR and context:

Several other env examples in the README use the True spelling, so users reasonably set SELKIES_DESKTOP=True and silently get no desktop. This makes the toggle case-insensitive like every other boolean env in the image. closes #164

How Has This Been Tested?

bash -n root/defaults/startwm_wayland.sh passes. Behavioural check of the changed condition: True, true, TRUE, tRuE → desktop path (selkies-desktop); false, empty/unset → plain labwc (unchanged). One-line change; file mode (100755) and LF line endings preserved. No Dockerfile ENV default exists for this variable, so no Dockerfile/Dockerfile.aarch64 change is needed and the README stays valid. Reviewer runtime check: launch in Wayland mode (PIXELFLUX_WAYLAND=true) with -e SELKIES_DESKTOP=True and confirm the labwc panel + selkies-desktop start.

Source / References:

closes #164

@junkerderprovinz

Copy link
Copy Markdown
Contributor Author

Gentle nudge whenever you have a moment: this is a one-line change and shows MERGEABLE. Happy to rebase or adjust if anything is needed. Thanks for maintaining the image!

@junkerderprovinz

Copy link
Copy Markdown
Contributor Author

For the reviewer: this fixes #164 (SELKIES_DESKTOP=True not working — the value comparison was case-sensitive).

@thelamer

Copy link
Copy Markdown
Member

I am building out base images tomorrow with updated core and pixelflux code, bool insensitivity, and the player fix will be in them. I appreciate the PR and will use this code, but merging it cuts another baseimage and I need to pile up a bunch of fixes. Also there are other instances of case insensitive bools IE:

defaults/startwm_wayland.sh:if [ "${SELKIES_DESKTOP}" == "true" ]; then
etc/s6-overlay/s6-rc.d/svc-xorg/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]]; then
etc/s6-overlay/s6-rc.d/svc-xsettingsd/run:if which xfce4-session > /dev/null 2>&1 || [[ "${PIXELFLUX_WAYLAND}" == "true" ]]; then
etc/s6-overlay/s6-rc.d/init-selkies-config/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]];then
etc/s6-overlay/s6-rc.d/init-selkies-config/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]];then
etc/s6-overlay/s6-rc.d/init-selkies-config/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]] && [ -e "/dev/dri/renderD128" ] && [ ! -e "/dev/dri/renderD129" ] && [ -z ${DRI_NODE+x} ]; then
etc/s6-overlay/s6-rc.d/svc-de/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]]; then
etc/s6-overlay/s6-rc.d/svc-watchdog/run:if [[ "${PIXELFLUX_WAYLAND}" == "true" ]]; then
etc/s6-overlay/s6-rc.d/svc-docker/run:  if [ "${START_DOCKER}" == "true" ]; then
defaults/startwm.sh:if which nvidia-smi > /dev/null 2>&1 && ls -A /dev/dri 2>/dev/null && [ "${DISABLE_ZINK}" == "false" ]; then

@junkerderprovinz

Copy link
Copy Markdown
Contributor Author

Perfect, thanks @thelamer — batching them into one base-image cut makes total sense, and I'm glad the code is useful. Good call generalising the bool handling: you're right that SELKIES_DESKTOP was only one of several == "true" comparisons (the startwm_wayland.sh / svc-xorg PIXELFLUX_WAYLAND ones you listed), so a blanket case-insensitive approach is the better fix than my one-spot patch — happy to see that go in wholesale.

No need to keep these two PRs open on my account; feel free to close #168 and #169 whenever tomorrow's build lands with the fixes in it. Appreciate you folding them in, and the heads-up on the other spots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

[BUG] SELKIES_DESKTOP=True not work

3 participants