I think that "диванный" is a neologism, probably not more than 7-8 years old, and comes from the direct (admittedly, good) translation of "armchair".
It is used mainly to refer to self-styled military specialists ("диванный генерал", "диванный вояка", "диванные войска") and/or self-styled experts ("диванный эксперт", "диванный аналитик").
In contemporary Russian use, the use of "диванный" adj. actually voids the meaning of the noun to which it's applied (e.g., "диванный эксперт" = "not an expert actually") and has a ironic or sarcastic or even pejorative connotation.
The older Russian analogues to that would be "кухонный <>" ("showing off with one's knowledge in the parlour, that knowledge never being good for use in the world outside") or "<> кислых щей" (just pejorative and a tiny bit vulgar), like other guys pointed out already. Or "<> доморощенный" (liter. "home-grown", "self-taught and so (supposedly) to a not very good extent").
That's what your English examples seem to denote, anyway.
Note 1: note the inverse order of noun and adjective, this strengthens the expressiveness.
Note 2: there's even more pejorative and vulgar "<> недоделанный" (liter. that adj. means "uncompleted, unfinished", but, again, in this use case it's very pejorative and vulgar).
On the other hand, to denote a lack of practical knowledge in somebody admittedly (well enough) theoretically trained, there is no direct one-word analogue. There's an ironic expression "молодой боец" ("just from the boot camp") or an ironic use of "молодой специалист" ("just finished studying, never worked seriously in this field").