Lệnh getty trong linux với các ví dụ dễ hiểu

Lệnh getty trong Linux đóng vai trò quan trọng, nó lắng nghe các kết nối trên cổng serial hoặc terminal ảo. Khi phát hiện kết nối, getty sẽ khởi tạo một tiến trình đăng nhập, cho phép người dùng nhập tên và mật khẩu. Sau khi xác thực thành công, getty sẽ chạy shell tương ứng với người dùng đó, tạo môi trường làm việc.

Lệnh getty trong linux là gì?

Lệnh command getty in linux là một chương trình quan trọng, nó lắng nghe trên các cổng (thường là cổng nối tiếp hoặc thiết bị đầu cuối ảo) để kết nối từ người dùng. Khi phát hiện kết nối, getty sẽ thiết lập một phiên làm việc bằng cách hiển thị lời nhắc đăng nhập và xác thực người dùng. Sau khi đăng nhập thành công, getty sẽ khởi chạy một shell (ví dụ: bash) để người dùng tương tác với hệ thống. Hiểu một cách đơn giản, getty là "người gác cổng" giúp bạn truy cập vào hệ thống Linux thông qua giao diện dòng lệnh. Nó đảm bảo rằng bạn có thể đăng nhập và bắt đầu sử dụng hệ thống một cách an toàn và có trật tự.

Tìm hiểu Mục đích của Lệnh getty

Trong bước này, chúng ta sẽ khám phá mục đích của lệnh getty trong Linux. Lệnh getty là một tiện ích quan trọng để quản lý các terminal ảo, cho phép người dùng đăng nhập vào hệ thống.

Lệnh getty chịu trách nhiệm cho các công việc sau:

  • Khởi tạo và cấu hình các terminal ảo.
  • Hiển thị lời nhắc người dùng nhập thông tin đăng nhập.
  • Khởi chạy quy trình đăng nhập sau khi xác thực thành công.

Hãy bắt đầu bằng cách tìm hiểu cách sử dụng cơ bản của lệnh getty:

sudo getty --help

Ví dụ về đầu ra:

Usage: getty [options] <line>
  -L, --local-line          Use local line discipline
  -m, --issue-motd          Print /etc/issue before login
  -n, --skip-login          Don't prompt for login
  -t, --timeout TIMEOUT     Terminate if no login in TIMEOUT seconds
  -I, --init-string INIT    Set init string
  -w, --wait-cr             Wait for carriage return before sending init
  -i, --flow-control        Use input flow control
  -8, --8bits               Pass 8-bit input to program
  -2, --2-stop              Use 2 stop bits
  --noclear                 Do not clear the screen
  --nohints                 Do not print login hints
  --nohostname              Do not print hostname
  --noreset                 Do not reset control mode
  --nohints-reset           Do not reset control mode for hints
  --nohints-timeout         Do not reset control mode for hints timeout
  --nonewline               Do not send a newline
  --noissue                 Do not print /etc/issue
  --nohost                  Do not print hostname
  --notruncate              Do not truncate username
  --noflow-control          Do not use input flow control
  --nohostname-check        Do not check for valid hostname
  --noparity                Disable parity checking
  --nohostname-check-dns    Do not check hostname against DNS
  --nologin-timeout         Disable login timeout
  --nologin-timeout-signal  Disable login timeout signal
  --nologin-timeout-action  Disable login timeout action
  --nologin-timeout-message Disable login timeout message
  --nologin-timeout-warning Disable login timeout warning message
  --nologin-timeout-warning-message Disable login timeout warning message
  --help                    Display this help and exit
  --version                 Output version information and exit

Lệnh getty thường được sử dụng trong quá trình khởi tạo hệ thống để thiết lập và quản lý các terminal ảo. Nó chịu trách nhiệm nhắc người dùng nhập thông tin đăng nhập và khởi chạy quy trình đăng nhập.

Trong bước tiếp theo, chúng ta sẽ khám phá các tùy chọn khác nhau có sẵn với lệnh getty. Chúng ta cũng sẽ tìm hiểu cách cấu hình và quản lý các terminal ảo bằng lệnh này.

Khám phá các tùy chọn khác nhau của lệnh getty

Trong bước này, chúng ta sẽ khám phá các tùy chọn khác nhau của lệnh getty.

Chúng ta cũng sẽ tìm hiểu cách cấu hình và quản lý các terminal ảo bằng lệnh này.

Hãy bắt đầu bằng cách xem xét một số tùy chọn thường dùng của lệnh getty:

sudo getty -m -n -t 60 tty1

Lệnh này sẽ thực hiện các việc sau:

  • -m: In thông báo /etc/issue trước khi hiển thị dấu nhắc đăng nhập.
  • -n: Bỏ qua dấu nhắc đăng nhập và khởi chạy trực tiếp quy trình đăng nhập.
  • -t 60: Đặt thời gian chờ đăng nhập là 60 giây.

Ví dụ về đầu ra:

Linux ubuntu 5.15.0-1023-aws #25~20.04.1-Ubuntu SMP Fri Sep 30 12:36:29 UTC 2022 x86_64

ubuntu login:

Một tùy chọn hữu ích khác là --flow-control, cho phép điều khiển luồng đầu vào cho terminal.

sudo getty --flow-control tty2

Lệnh này sẽ khởi động một terminal ảo mới trên tty2 với điều khiển luồng đầu vào được bật.

Bạn cũng có thể đặt chuỗi ban đầu được gửi đến terminal bằng tùy chọn -I.

sudo getty -I "Welcome to the Lab!" tty3

Lệnh này sẽ khởi động một terminal ảo mới trên tty3 và hiển thị thông báo "Welcome to the Lab!" trước dấu nhắc đăng nhập.

Trong bước tiếp theo, chúng ta sẽ tìm hiểu cách cấu hình và quản lý các terminal ảo bằng lệnh getty.

Cấu hình và Quản lý Virtual Terminals bằng getty

Trong bước cuối cùng này, chúng ta sẽ tìm hiểu cách cấu hình và quản lý virtual terminals bằng lệnh getty.

Đầu tiên, hãy tạo một virtual terminal mới bằng cách sử dụng câu lệnh sau:

sudo getty tty4

Lệnh này sẽ khởi động một virtual terminal mới trên tty4, bạn có thể chuyển đến bằng Ctrl+Alt+F4.

Để cấu hình virtual terminal, ta dùng lệnh getty với nhiều tùy chọn khác nhau để điều chỉnh.

Ví dụ, để đặt thời gian chờ đăng nhập là 120 giây, bạn có thể dùng lệnh sau:

sudo getty -t 120 tty4

Bạn cũng có thể thiết lập chuỗi ký tự hiển thị trước khi có dấu nhắc đăng nhập:

sudo getty -I "Welcome to the Virtual Terminal!" tty4

Để dừng một virtual terminal, bạn có thể sử dụng lệnh kill như sau:

sudo kill $(ps -ef | grep getty | grep tty4 | awk '{print $2}')

Lệnh này sẽ dừng tiến trình getty đang chạy trên virtual terminal tty4.

Cuối cùng, hãy tạo một script để tự động khởi động và cấu hình nhiều virtual terminals:

#!/bin/bash

## Start virtual terminals
sudo getty tty4 &
sudo getty -t 60 tty5 &
sudo getty -I "Virtual Terminal 6" tty6 &

## Wait for the terminals to be ready
sleep 5

## Switch to the first virtual terminal
sudo chvt 4

Lưu script này với tên start_terminals.sh trong thư mục ~/project và cấp quyền thực thi:

chmod +x ~/project/start_terminals.sh

Bây giờ, bạn có thể chạy script để khởi động các virtual terminals đã cấu hình:

~/project/start_terminals.sh

Bạn có thể chuyển đổi giữa các virtual terminals bằng tổ hợp phím Ctrl+Alt+F4, Ctrl+Alt+F5Ctrl+Alt+F6.

Kết luận cho linux getty command

Tóm lại, lệnh getty đóng vai trò quan trọng trong việc thiết lập giao diện đăng nhập cho hệ thống Linux của bạn. Nó lắng nghe các kết nối, khởi tạo phiên làm việc và cho phép bạn đăng nhập vào hệ thống. Hiểu rõ về linux getty command giúp bạn kiểm soát tốt hơn quá trình khởi động và quản lý người dùng. Mặc dù có thể không cần thiết phải cấu hình getty trực tiếp trong hầu hết các trường hợp, nhưng việc biết nó hoạt động như thế nào sẽ giúp bạn giải quyết các vấn đề liên quan đến đăng nhập. Hãy nhớ rằng getty là một phần không thể thiếu của hệ thống Linux, đảm bảo bạn có thể truy cập và sử dụng máy tính của mình một cách dễ dàng. Hy vọng bài viết này đã cung cấp cho bạn cái nhìn tổng quan hữu ích về lệnh getty và vai trò của nó trong thế giới Linux.

Last Updated : 16/10/2025