Puzzling "$Home not set" Warning in Discover

I’m running Manjaro Plasma and I’ve noticed whenever I run Discover, it gives me these three warnings:

[2023-08-16T22:12:13-0700] [ALPM-SCRIPTLET] ==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.

[2023-08-16T22:12:14-0700] [ALPM-SCRIPTLET] parallel: Warning: $HOME not set. Using /tmp.

[2023-08-16T22:12:15-0700] [ALPM-SCRIPTLET] foreign perl-test-taint

The warnings don’t seem to impact the functionality, but I can’t help but be curious as to what they mean. The “$HOME not set” is especially puzzling because yes it is. If I launch any terminal and type “echo $HOME” it prints “/home/aragorn” so it looks pretty well “set” to me.

Is Discover talking about a different meaning of “$HOME” (not the global environmental variable)? Is it talking about one of its own internal settings? I don’t see any setting called “$HOME”. For that matter, there are only 9 settings in “Settings” and none of them appear relevant. So why the “$HOME not set, using /tmp” warning?

And, for that matter, why the “foreign perl-test-taint” warning? What’s tainted, and what does Perl have to do with it?

(As for the timeshift message, that one I understand, as I have timeshift set that way on-purpose.)

Its not coming from discover.
Its coming from parallel.
That said it may be related to this:

And that said …
Heres a warning that you shouldnt be using discover/packagekit for package management.

1 Like

Yes, it is — and please note that $HOME and $Home are two different things, because UNIX is case-sensitive.

Either way, it is referring to a local variable — i.e. local to the environment of the process — representing the working directory for the process itself, and using /tmp as a fallback. And that’s a very safe fallback.

Within the Free & Open Source Software context, “tainted” means that it contains proprietary components.

Absolutely agreed. :100:

One should do there updates through their terminal. Use Pamac or Discover to see what updates you have but do them through your terminal. The only thing Discover is good for is to update theme components cause they will not update along with your regular update. I suggest you install Topgrade so when you run it EVERYTHING will be updated with just one command, other that the theme elements.

That was a typo, now fixed. The original warning said “$HOME”, not “$Home”.


However, GNU’s Not Unix. :slight_smile:

“Local” as in “temporary environmental variable”? I suppose it would pretty much have to be, as “$HOME” isn’t even a legal variable name in any languages other than Perl and Shellscript, as far as I know. (And in Perl, it would be spelled “$ENV{HOME}”.)

Because the program “/usr/bin/plasma-discover” is an ELF executable, presumably compiled from a language such as C, with its symbol table stripped, short of downloading the source, I have no way of knowing what variables it uses, and neither does anyone else. So, why is the program stuffing its variables my face without providing me with any way of doing anything about it? Since it’s a GUI program, if it needs a variable called “$HOME” to be set, it should have a setting in the GUI for “Home Directory”. I wouldn’t program like that. Why anyone else would is beyond me.

Ok, I see that word “parallel” in the second warning. I did not construe it to be hearsay. But even if it is, I have I have no idea of what “parallel” is (other than the opposite of “orthogonal”).

As for “ALPM”, it appears to mean “Arch Linux Package Manager”, which appears to be a nickname for “pamac”. Why pamac’s scriptlet is talking to me when I’m using a program called “Discover” is beyond me; it’s like getting error messages from Thunderbird while editing photos in Gimp. :roll_eyes:

Discover does appear to have some issues, yes. I mostly just use it to “discover” things. I use “pamac-gtk3” as my primary package manager, or if that’s temporarily buggy (as it was a few weeks ago), I use pacman for more-fine-grained control.

Arch Linux Package Manage(r/ment) is the general framework for package management in Arch … its what makepkg conforms to, what pacman uses … and now what pamac uses.

parallel is an application that … lets things run in parallel.
So you ping multiple things at once, for example.
But thats not really the issue. And pamac has nothing to do with it.

ALPM is trying to be accessed by Discover and Packagekit (while using parellel … but thats not really important) … You are choosing to interact with packages in this way instead of using pacman or pamac or some other way of interacting with ALPM.
(which is highly discouraged)

I hope that clears some things up.

1 Like

The recursive acronym GNU (GNU is Not Unix) was not chosen to imply that GNU would be working differently from Unix — the name Unix spelled with an initial capital and the rest in lowercase — because that would have defeated the entire design purpose.

The intent of the GNU Project was to create an operating system that mimicked Unix — same spelling — in every possible way, but that was written from scratch so as to not be hampered by copyrights, and to release this operating system as Free & Open Source Software, because Unix — still with the same spelling — was the name of a proprietary operating system from AT&T Bell Labs, licensed to the Berkeley Software Distribution.

UNIX — in all-uppercase — is not the name of a proprietary operating system, but rather a standardized operating system design, the specifications of which are established in the Single Unix Specification, a standard maintained by the Open Group (also known as X-Open). Spelled as such — in all-uppercase — it is also a registered trademark.

The Open Group does specify that no operating system may call itself UNIX unless it has been certified by them. This certification requires that the operating system would pass a quite expensive validation test.

Given the cost of the validation test and the fact that GNU/Linux — or even GNU/Hurd — is not released from its authors onto the public in a binary and readily installable form — which is left to the GNU/Linux distributions, a step that’s missing from the way something like (for instance) FreeBSD is developed and released — only two GNU/Linux distributions so far (at my time of writing this) have applied for and attained UNIX® certification, being Huawei Euler OS and Inspur K-UX. Both of these are server-oriented derivatives of RedHat Enterprise Linux.

There is however a superset to the Single Unix Specification, namely POSIX (Portable Operating System Interfaces for UniX), and while POSIX is also a standard, it is not a trademark. GNU-based systems are mostly POSIX-compliant, albeit that making them fully compliant often requires installing some additional tools that aren’t supplied out-of-the-box in most distributions.

That all said, the late Ken Thompson, one of the developers of the original AT&T Unix, has stated that “[GNU/]Linux is a de facto UNIX.”


Not temporary, but local to the context of a particular process. $HOME — also writable as ${HOME} — is a variable local to every process in a UNIX system, its value depending on who owns the process.

Parallel is started by needsrestart. It is a notification that you can safely ignore.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.