In Linux the ng-spice executable is meant to be installed in /usr/local/bin/ but nope. It's installed on the system somewhere else because ng-spice actually runs but the file search thing can't find it. Ended up installing a non repository version and it only installed a library in /usr/local/bin/ and what's more you could see it in the file browser but the search thing STILL couldn't find that library...
The normal location for system-managed binaries on a typical Linux system is /usr/bin. /usr/local is for administrator-installed stuff. So if you installed it from the package manager, as would be typical, it was probably in /usr/bin. If you can run a command from the command line, you can use `which <command>` to get its path.
Also tried compiling ng-spice from source and ./configure couldn't find a library that was actually installed.
This is often because distributions often separate the development headers / static libraries from the dynamic libraries needed at runtime into separate packages. The headers and static libs are often in a separate package, usually with a name like `libsomething-dev` or `libsomething-devel`. Though obviously there are frequently other quirks like major version discrepancies, weird paths, etc...
Once I got the hang of it, I found qucs-s to be nicer to use than LTspice on my Linux system. It took some 'getting the hang of' though, for sure, though I actually think the UI is somewhat less cumbersome than LTspice that seems to have been designed before any modern UI conventions were established. If you prefer Windows, you may find the same with QucsStudio.