Exploring Linux distributions is an activity that I think is fun for a lot of people and since Linux Saloon is the “entry level” sort of show where we have fun with Linux at a user level. As such, I am looking for some suggestions for Linux distros to take out around the town, kick the tires and see what they have to offer. I am looking for distros that are more esoteric, so not mainline Ubuntu, Debian, Fedora or openSUSE (as much as I openSUSE…). Spins of these are of course okay. For example, we recently did GeckoLinux, a spin of openSUSE and I would consider Nobara as something different too.
Some other examples of distro that I have on my list to try is BunsenLabs Linux, Blend OS and Lakka. I’m not picky about the distros, I am looking primarily for things that are not necessarily in the normal discourse.
I super appreciate your help and I look forward to the torrent of suggestions!
I know that you don’t want this mainline distro – but I would argue that US touts the lowlatency kernel - which is, I think, the only distro that makes a claim to modify the kernel in this way rather than merely globbing together a set of default app selections, Desktop Evironment, and theme.
It would be interesting to know, why they think this is important and what on a practical level is accomplished by this “mainline” distro modification.
Extracts the latest iCal link from https://cubiclenate.com/linuxsaloon/, downloads the iCal from Google and outputs the upcoming events in local time. This is how BASH people tell you they don’t want to miss the next episode.
#!/bin/bash
# License: BSD-0 Clause, Ulfnic
StdErr() {
if [[ $1 == '0' ]]; then
[[ $2 ]] && printf '%s\n' "$2" 1>&2
else
[[ $2 ]] && printf '%s%s\n' "ERROR: ${0##*/}, $2" 1>&2
exit "$1"
fi
}
LinuxSaloonUrl='https://cubiclenate.com/linuxsaloon/'
printf '%s %s\n' 'Downloading:' "$LinuxSaloonUrl"
LinuxSaloonPage=$(wget -qO - "$LinuxSaloonUrl") || StdErr 1 'Failed to download: '$LinuxSaloonUrl
Re='href="https://calendar.google.com/calendar/ical/([^"]+)"'
[[ $LinuxSaloonPage =~ $Re ]] || StdErr 1 'Failed to parse iCal URL'
IcalUrl='https://calendar.google.com/calendar/ical/'${BASH_REMATCH[1]}
(( ${#IcalUrl} < 500 )) || StdErr 1 'Failed to parse iCal URL'
printf '%s %s\n' 'Downloading:' "$IcalUrl"
IcalPage=$(wget -qO - "$IcalUrl") || StdErr 1 'Failed to download: '$IcalUrl
printf '%s\n\n' 'Reading iCal...'
ConvertDate() {
# Convert from ISO 8601 format so it's recognizable by `date`
local \
Re='^([0-9][0-9][0-9][0-9])-?([0-9][0-9])-?([0-9][0-9])T([0-9][0-9]):?([0-9][0-9]):?[0-9][0-9](Z|\+[0-9][0-9]:[0-9][0-9])$' \
NormalizedDate
if [[ $2 =~ $Re ]]; then
NormalizedDate=${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]}T${BASH_REMATCH[4]}:${BASH_REMATCH[5]}${BASH_REMATCH[6]}
date "$1" -d "$NormalizedDate" || StdErr 1 'Date parse error on: '"$1"
else
StdErr 1 'Date parse error on: '"$1"
fi
}
printf -v NowEpoch '%(%s)T'
declare -A GroupArr
Group=
while LANG=C IFS=':'$'\r' read F1 F2; do
if [[ $Group == 'VEVENT' ]]; then
case $F1 in
DTSTART|DTEND|SUMMARY|DESCRIPTION|STATUS)
GroupArr["$F1"]=$F2
;;
END)
if [[ ${GroupArr['DTSTART']} ]]; then
StartEpoch=$(ConvertDate '+%s' "${GroupArr['DTSTART']}")
if (( StartEpoch > NowEpoch )); then
[[ ${GroupArr['DESCRIPTION']} ]] && printf '\e[32m%s\e[0m %s\n' ' Desc:' "${GroupArr['DESCRIPTION']}"
[[ ${GroupArr['SUMMARY']} ]] && printf '\e[32m%s\e[0m %s\n' 'Summary:' "${GroupArr['SUMMARY']}"
[[ ${GroupArr['STATUS']} ]] && printf '\e[32m%s\e[0m %s\n' ' Status:' "${GroupArr['STATUS']}"
printf '\e[32m%s\e[0m %s\n' ' Start:' "$(ConvertDate '+%F %l:%M %p' "${GroupArr['DTSTART']}")"
[[ ${GroupArr['DTEND']} ]] && printf '\e[32m%s\e[0m %s\n' ' End:' "$(ConvertDate '+%F %l:%M %p' "${GroupArr['DTEND']}")"
diff=$(( StartEpoch - NowEpoch ))
days=$(( diff / 86400 ))
hours=$(( diff / 3600 % 24 ))
minutes=$(( ( diff / 60 ) % 60 ))
seconds=$(( diff % 60 ))
printf '\e[32m%s\e[0m %s\n' ' In:' "$days days, $hours hours, $minutes minutes, $seconds seconds"
printf '\n'
fi
fi
Group=
declare -A GroupArr
;;
esac
elif [[ $F1 == 'BEGIN' ]]; then
Group=$F2
continue
fi
done <<< $IcalPage
I guess that it is normal that everybody prefers its favorite distribution. So I would probably say Mageia, I like this one and one laptop runs with it. But then there are so many gems like Bunsenlabs, good idea btw, Salix (I vaguely remember you had this one on the show). @GeckoLinux also makes a good looking Debian spin with the same premise.
There are so many distros so for now I will stop here.