Skip to main content
In this lesson you’ll learn the common ways to log into a Linux system both locally and remotely, using graphical and text-mode consoles. This is a practical guide: each section starts with the commands to try, then explains the concepts behind them so you can follow along and practice. Overview — four common login methods
  • Local text-mode console (physical or virtual terminal)
  • Local graphical-mode console (desktop GUI login screen)
  • Remote text-mode login (SSH)
  • Remote graphical-mode login (VNC, RDP, etc.)
Terminology
  • Console: historically the physical screen where the OS displays text and accepts input; today it also refers to the system-wide text display during boot or a virtual terminal (VT).
  • Terminal emulator: a graphical application (a window) that shows text output and accepts typed commands (e.g., GNOME Terminal, Konsole, xterm).
These terms come from multi-user computing eras, when a central computer served many users through physical terminals. Modern Linux consoles and terminals are usually software-based and integrated with the OS.
A diagram titled "Consoles" showing a central computer icon linked by dashed arrows to three user icons (one left, one right, and one below), indicating users connecting to the console.
Local text-mode consoles (virtual terminals) During boot your kernel and init system print a stream of messages to the system console — that’s the text-mode console. After boot, most Linux systems provide multiple virtual terminals. Use Ctrl+Alt+F2 (or Ctrl+Alt+F3, etc.) to switch to a virtual terminal such as VT2 and see a text-mode login prompt. Example: a typical virtual terminal login banner
On server installations that omit a GUI you will typically see a text login prompt where you must type your username and password (password input is not echoed). Example local text login sequence:
When typing your password at a text login prompt, characters are not shown for security. Type carefully and press Enter.
Local graphical-mode consoles (desktop GUI) If the machine boots into a desktop environment, you’ll be presented with a graphical login screen that lists local user accounts (depending on configuration). After selecting a user and entering the password, you get a desktop session. From the desktop, launch a terminal emulator (e.g., GNOME Terminal, Konsole, xterm) to run shell commands.
A CentOS graphical login screen showing a list of user accounts. The user "Aaron" is highlighted at the top of the list.
Remote graphical logins (VNC, RDP) Remote desktop access depends on what the administrator has installed. Common remote GUI protocols and tools:
  • VNC (Virtual Network Computing) — requires a VNC server on the remote host and a compatible VNC viewer/client (e.g., TightVNC, RealVNC).
  • RDP (Remote Desktop Protocol) — widely used for Windows but supported on Linux with servers like xrdp; many clients exist.
To connect, run the appropriate client, enter the server’s IP and port (if needed), and authenticate with credentials. Remote GUI sessions are useful for GUI-specific workflows but typically use more bandwidth than text-mode sessions.
A dark-themed "Remote GUI" screen showing two connection options with icons: VNC on the left and RDP on the right. The KodeKloud logo appears in the top-right corner.
Remote text-mode logins — SSH (Secure Shell) OpenSSH is the standard for secure text-mode remote access. The OpenSSH server (sshd) runs on the remote host and listens for incoming connections; clients use the ssh protocol for encrypted communication. SSH replaced insecure services like Telnet that transmitted plaintext credentials.
An infographic showing remote text-mode logins: a secure SSH connection with a green lock between a user icon and a server, labeled "Secure SHell." Below it is an insecure telnet connection with a red unlocked padlock between a user and a server.
Quick comparison — login methods Practical: find the server IP and connect via SSH If you are working with a virtual machine, first log into the VM locally (via the VM window or local console) and run:
Look for an inet line that shows an IPv4 address. Example:
Use that IP (e.g., 192.168.0.17) from your local computer to simulate a remote connection. Most macOS and Linux distributions include an SSH client; Windows 10+ includes one as well. Older Windows systems often use PuTTY. SSH command format:
Example:
Sample prompt when connecting:
Once connected over SSH you can run commands as if you were at the server’s local terminal. Type exit to close the SSH session.
Security tip: For production systems, prefer SSH key-based authentication and disable password-based root logins or direct root SSH access. Also avoid exposing SSH to the public internet without additional protections (firewalls, fail2ban, VPN).
Next steps
  • Stay inside an SSH session to practice commands and exercises from this lesson.
  • Try switching between virtual terminals (Ctrl+Alt+F2/F3) and returning to the GUI (usually Ctrl+Alt+F1 or Ctrl+Alt+F7 depending on distro).
  • Experiment with connecting from another machine using ssh username@ip and, if available, test a VNC/RDP client to connect to a remote desktop.
Links and references

Watch Video