Though not strictly being a viewer, I can recommend ReText here – which I'm using myself on Ubuntu, and am pretty satisfied.
- runs locally on Linux: Yes (also on Windows and Mac)
- normal program, not a browser addon: Yes. Written in Python, and easy to deal with.
- simple and lightweight: Yes. On its own, it comes with the basics – and you can add more (like support for specific Markdown dialects as Markdown Extra or MathJax if you need.
- open source: Yes (using GPLv2)
ReText with Live Preview (source: ReText; click image for larger variant)
As I said to start with, it's not strictly a viewer – but an editor including a viewer and a "Live Preview". You can call it from the command line, passing the file as parameter. Unfortunately, there seems to be no way to start it directly in the viewer mode – but a work-around to at least have the "Live Preview" triggered:
- start it once with a file open
- press Ctrl-L (or use the menu: Edit › Live Preview) to switch on the "Live Preview" mode
- using the menu, go to Edit › Preferences, and check "Restore live preview state" under "Behavior"
Now, when opened the next time, the "Live Preview" is switched on automatically. Alternatively, you can open the "real preview" (without the editor pane) by either clicking the "Preview" button, or using the keyboard-shortcut Ctrl-E.
For more details, also see my answers here and here.