> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

![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.](https://mintcdn.com/kodekloud-c4ac6d9a/Xy4M1i0rmPde4pgi/images/Linux-System-Administration-for-Beginners/Essential-Commands/Log-into-local-remote-graphical-and-text-mode-consoles/consoles-central-computer-users-diagram.jpg?fit=max\&auto=format\&n=Xy4M1i0rmPde4pgi\&q=85\&s=defd5db5653abac2d5575a7cc2689936)

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

```text theme={null}
CentOS Linux 8
Kernel 4.18.0-305.19.1.el8_4.x86_64 on an x86_64

Activate the web console with: systemctl enable --now cockpit.socket

centos-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:

```text theme={null}
CentOS Stream 8
Kernel 4.18.0-338.el8.x86_64 on an x86_64

Activate the web console with: systemctl enable --now cockpit.socket

LFCS-CentOS login: aaron
Password: _
```

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.](https://mintcdn.com/kodekloud-c4ac6d9a/Xy4M1i0rmPde4pgi/images/Linux-System-Administration-for-Beginners/Essential-Commands/Log-into-local-remote-graphical-and-text-mode-consoles/centos-login-screen-aaron-highlighted.jpg?fit=max\&auto=format\&n=Xy4M1i0rmPde4pgi\&q=85\&s=5333cacbcc984e303616a06f417323bd)

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.](https://mintcdn.com/kodekloud-c4ac6d9a/Xy4M1i0rmPde4pgi/images/Linux-System-Administration-for-Beginners/Essential-Commands/Log-into-local-remote-graphical-and-text-mode-consoles/remote-gui-vnc-rdp-kodekloud.jpg?fit=max\&auto=format\&n=Xy4M1i0rmPde4pgi\&q=85\&s=33a8cb7f5f36e86d0438cb2b661c0975)

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.](https://mintcdn.com/kodekloud-c4ac6d9a/Xy4M1i0rmPde4pgi/images/Linux-System-Administration-for-Beginners/Essential-Commands/Log-into-local-remote-graphical-and-text-mode-consoles/secure-ssh-vs-insecure-telnet.jpg?fit=max\&auto=format\&n=Xy4M1i0rmPde4pgi\&q=85\&s=dc17bae2ff6a7182f5b9f5e77947deaa)

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:

```bash theme={null}
ip a
```

Look for an `inet` line that shows an IPv4 address. Example:

```text theme={null}
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:

```bash theme={null}
ssh username@server-ip
```

Example:

```bash theme={null}
ssh aaron@192.168.0.17
```

Sample prompt when connecting:

```text theme={null}
aaron@192.168.0.17's password:
Activate the web console with: systemctl enable --now cockpit.socket

Last 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.

Links and references

* [OpenSSH documentation](https://www.openssh.com/manual.html)
* [Kubernetes Basics — concept reference (for similar terminology)](https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/)
* [VNC — RealVNC documentation](https://www.realvnc.com/en/connect/docs/)
* [xrdp — Remote Desktop for Linux](https://github.com/neutrinolabs/xrdp)

> **[Watch Video](https://learn.kodekloud.com/user/courses/linux-system-administration-for-beginners/module/cc1949d1-8171-4c8c-b69f-86f96cad0bbe/lesson/40b5f074-d061-48c5-bd72-e052089081bd)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.