Log into local remote graphical and text mode consoles
Guide to logging into Linux locally and remotely using text and graphical consoles, virtual terminals, terminal emulators, SSH for remote text access and VNC or RDP for remote GUI.
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.
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
CentOS Linux 8Kernel 4.18.0-305.19.1.el8_4.x86_64 on an x86_64Activate the web console with: systemctl enable --now cockpit.socketcentos-vm login: _
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:
CentOS Stream 8Kernel 4.18.0-338.el8.x86_64 on an x86_64Activate the web console with: systemctl enable --now cockpit.socketLFCS-CentOS login: aaronPassword: _
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.
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.
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.
Quick comparison — login methods
Resource Type
Typical Use Case
How to connect (example)
Local text-mode console
Servers or recovery mode
Switch to VT: Ctrl+Alt+F2
Local graphical console
Desktop workstations
GUI login screen, then run terminal emulator
Remote text-mode (SSH)
Remote administration & automation
ssh username@server-ip
Remote graphical (VNC/RDP)
Remote GUI access
VNC/RDP client → host:port
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:
ip a
Look for an inet line that shows an IPv4 address. Example:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:6b:d7:87 brd ff:ff:ff:ff:ff:ff inet 192.168.0.17/24 brd 192.168.0.255 scope global dynamic
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:
ssh username@server-ip
Example:
ssh aaron@192.168.0.17
Sample prompt when connecting:
aaron@192.168.0.17's password:Activate the web console with: systemctl enable --now cockpit.socketLast login: Tue Oct 19 20:27:15 2021 from 192.168.0.3[aaron@LFCS-CentOS ~]$
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.