Emacs C-. not working in terminal

It looks like the important part of this question was already answered in the comments, but to address the root cause in case you're curious, I think ctrl-. doesn't work in a terminal because of some limitations of terminal emulators. In a standard terminal, ctrl is defined to send the ASCII code of the key you press minus 64 (this is why ctrl-J (74) sends newline (10) and ctrl-I (73) sends tab (9), for example). Since the period's ASCII code is 46, subtracting 64 would give -18, which is invalid because it's negative and there are no negative ASCII codes and therefore nothing for emacs to receive and understand.

When you run emacs in windowed mode, the terminal emulator mechanism is bypassed and instead the more robust keyboard handling of X11 is used, which can handle more obscure keystrokes (rather than reducing each keystroke down to one ASCII character, the program receives the original key plus all applicable modifiers, separately). So it's probably impossible to make tty-based emacs handle ctrl-. unless you make custom modifications to your terminal emulator (and probably also emacs).