The TERM variable stores the name of an entry in the terminfo database that helps the OS determine how to display information to your terminal. What it defaults to depends entirely on how you've logged in.
Usually, "the console" means you're physically at the computer, logging into one of the text-based virtual terminals (VT1-6).
If you're logged into X/Gnome/KDE (VT7, 8, or 9), you're not using a console, at least in this context. Technically this is logging into X and using a pseudo-terminal via a terminal emulator application -- that's what gives you the window that shows your shell & commandline.
If you're logged in remotely (via SSH or remote X), you're definitely not using a console in any context; again, you're using a pseudo-terminal.
- TERM is inherited by the program that started SSH:
- SSH from a linux virtual terminal results in a remote TERM of linux;
- SSH from a commandline in an X-windows terminal emulator results in a remote TERM of whatever TERM was set to prior to the SSH command;
- SSH from a Windows system using PuTTY defaults to xterm, but this can be changed in PuTTY's configuration;
- and any of the above settings can be overridden by the shell startup files of the remote user.