Does he actually want to learn programming or do you want him to want to learn programming?
If it’s the first, try programming games or give him his own little Linux box that you can put in a separate lan without internet.
If it’s the second, then you don’t. You can show him cool stuff that you can do by programming and if he likes it, he’ll start wanting to learn. And if he doesn’t, then that’s fine too. No need to force a hobby on a kid.
> I personally found scratch to be boring as hell.
It doesn’t really matter if YOU find it boring. If he’s fine with it, then it’s still a valid choice. Iirc there are even robots you can program in a scratch-like environment and it can reach plenty of the basics without all the noise from regular programming.
So just focus on making it fun for him. Either with something like scratch or screeps or maybe try building a Minecraft bot with mineslayer.
Learners today have amazing tools like YouTube, Khan Academy, freecodecamp, Wikipedia, ChatGPT, Google Bard, and Bing Chat.
Processing / P5.js can be pretty fun to learn. You use a real programming language to create art and animations. With little code you can get a circle on the screen, then making it move, then following the mouse cursor, then adding other shapes, then changing colour depending on some event… It’s conductive to experimentation and a way to gradually introduce concepts.
https://godotengine.org/ https://unity.com/download
For Linux, you have to think what the kids can gain by having a Linux box: A media center & streaming server, some home automation with a SBC (RPI, Arduino, etc.), your guess...