So as an experienced developer with no game dev experience, is something like Phaser (or other frameworks, like Corona) a good place to start, or should I start with something more minimal? I really want to pick up 2d gaming so that I can develop a few fun games for my kids (and teach them in the process), but am unsure if I should start with a very minimalistic, low level set of libraries or a full stack... Any advice is very welcome. Oh, and it'd be great if I could do all of this from Linux. That's one of the big drawbacks of things like Corona, which require either Mac OS or Windows.
Yup, it's pretty much a perfect place to start. Browsers are ubiquitous, 2d gaming is pretty easy to understand and get started with, and the results can be surprisingly addictive despite their simplicity: http://www.lessmilk.com
Developing your own game engine that suits your needs in JS would be pretty instructive as well. There are a metric ton of JS game engines out there, many of them open source, so you can see what tradeoffs they made with respect to performance, quality, etc, while developing your own. It's really not hard to get stuff drawing on the screen with JS and canvas.
I could imagine writing a game with your kids that uses Phaser to get them started, then figuring out something Phaser can't do (or doesn't do well) and showing them how to open the code, read it, grok it, change it, etc. Very cool.
(edit, corrected wording)