For Linux you can use ZSpotify. It runs in the command line, just use a burner account to run as in zspotify because it’s against their TOS of course, and might get you kickbanned. It also requires premium, but you only need it for a day at most, in order to run the download. Then you can cancel.
You misunderstand me - coming from the messed up world of the way restaurant pay works - in that context, it devalues their effort. I don’t agree with it, but outside of this market - for instance when I waited tables in the UK, where I was paid an hourly rate whether I supplemented my income with gratuity or not - it makes no sense to devalue a worker’s right to compensation.