I like the proof by Paul Monsky:
'Simplifying the Proof of Dirichlet's Theorem'
American Mathematical Monthly, Vol. 100 (1993), pp. 861-862.

Naturally this does maintain the distinction between real and complex
as whatever you do, the complex case always seems to be easier
as one would have two vanishing L-functions for the price of one.

I incorporated this argument into my note on a "real-variable" proof
of Dirichlet's theorem at
http://secamlocal.ex.ac.uk/people/staff/rjchapma/etc/dirichlet.pdf .