Cách thực hiện đa nhiệm trên Linux Terminal với Screen

Nếu là người dùng Linux, bạn sẽ phải làm quen với Linux terminal vào một lúc nào đó. Một số lệnh terminal rất phổ biến, nhưng vài lệnh khác thì lại hơi khó hiểu, nhưng trong nhiều trường hợp, việc chạy một lệnh thông qua cửa sổ terminal sẽ dễ dàng hơn là qua GUI.

Nhưng điều gì sẽ xảy ra nếu cần chạy một số lệnh cùng một lúc? GNU Screen có thể giúp terminal thực hiện đa nhiệm một cách dễ dàng. Hãy cùng tìm hiểu cụ thể qua bài viết sau đây!

GNU Screen là gì?

GNU Screen là một công cụ dành cho Linux terminal, có tác dụng chia một terminal thành nhiều terminal. Điều đó nghĩa là có thể chạy một lệnh, giả sử tải xuống một file hình ảnh với wget, trong khi chuyển sang chạy lệnh thứ hai, chẳng hạn như systemctl, để kiểm tra tình trạng S.M.A.R.T. của ổ đĩa.

GNU Screen cho phép chạy nhiều lệnh độc lập trong các phiên riêng biệt mà bạn kết nối hoặc ngắt kết nối theo ý muốn.

GNU Screen không chỉ hữu ích cho PC. Nó rất cần thiết nếu bạn đang quản lý một máy chủ từ xa. Nếu đang chạy các lệnh trên máy chủ qua SSH, điều gì xảy ra nếu ngắt kết nối? Lệnh vẫn có thể đang chạy, nhưng bạn không thể dễ dàng theo dõi hoặc tương tác với nó.

Screen sẽ giải quyết vấn đề đó cho bạn. Người dùng có thể kết nối lại với phiên Screen trước đó nếu mất kết nối hoặc ngắt kết nối với phiên và để nó chạy trong chế độ nền cho đến khi cần truy cập lại.

Cách cài đặt Screen

Cài đặt Screen

Screen không đi kèm với hầu hết các bản phân phối Linux, nhưng vì nó có trước Linux, nên Screen được hỗ trợ rất tốt.

Nếu muốn cài đặt nó trên một bản phân phối dựa trên Ubuntu hoặc Debian, hãy chạy lệnh sau:

sudo apt-get update
sudo apt-get install screen

Tương tự, nếu đang chạy Arch, hãy mở cửa sổ shell và chạy:

sudo pacman -Syu
sudo pacman -S screen

Nếu đang sử dụng Fedora, hãy chạy lệnh sau thay thế:

sudo yum update
sudo yum install screen

Bắt đầu một phiên Screen

Việc bắt đầu một phiên Screen rất đơn giản. Mở terminal hoặc thiết lập kết nối SSH và nhập screen. Bạn sẽ thấy cửa sổ giới thiệu về Screen. Nhấn phím cách hoặc phím Enter để đóng nó.

Bắt đầu phiên

Sau khi thực hiện bước trên, màn hình terminal sẽ trở lại bình thường. Không có dấu hiệu rõ ràng nào cho thấy bạn đang chạy một phiên Screen, nhưng mọi lệnh Linux chạy từ thời điểm này sẽ chạy trong một phiên mà bạn có thể ngắt kết nối và kết nối trở lại theo ý muốn.

Xem và ngắt kết nối khỏi các phiên trong Screen

Bạn đọc sẽ muốn biết cách kết nối và ngắt kết nối khỏi phiên Screen nếu dự định sử dụng lại công cụ này. Nếu đã ở trong một phiên Screen, hãy nhấn Ctrl + A theo sau là chữ d (viết thường).

Phiên và bất kỳ lệnh nào hiện đang chạy bên trong nó sẽ tách ra để chạy trong chế độ nền, sẵn sàng để kết nối lại sau. Giả sử bạn chỉ có một phiên Screen đang chạy, hãy nhập:

screen -r

Lệnh này sẽ liên kết lại phiên và cho phép bạn tiếp tục. Nếu cần rời khỏi một phiên từ xa, sau đó tự kết nối lại với phiên đó, hãy nhập:

screen -rd

Bạn có thể chạy nhiều hơn một phiên Screen. Nếu muốn kết nối lại với một phiên cụ thể thì cần tìm ra số ID tiến trình phiên. Nhập screen -ls hoặc screen -r để liệt kê chúng.

Liệt kê phiên

Như hình ảnh trên cho thấy, nhập screen -r, theo sau là số ID ban đầu khi bắt đầu mỗi phiên. Ví dụ:

screen -r 25407

Nếu muốn đóng một phiên và hủy mọi lệnh đang chạy trong đó, hãy kết nối lại với nó và gõ exit.

Các lệnh terminal trong Screen khác cần nhớ

Screen có một vài thủ thuật giúp tận dụng tối đa nó. Dưới đây là một vài lệnh terminal phổ biến nhất cần ghi nhớ.

Danh sách các phím tắt trong Screen

Giống như tất cả các chương trình terminal, Screen có các phím tắt để sử dụng. Chẳng hạn như, Ctrl + Ad, để tách các phiên hiện có như bài viết đã đề cập ở trên.

Nếu muốn xem các phím tắt hữu ích khác, chỉ cần gõ Ctrl + A theo sau là dấu ? để nhận được danh sách các phím tắt mà bạn có thể sử dụng.

Tạo và chuyển đổi giữa các cửa sổ trong một phiên

Không cần phải chuyển đổi giữa các phiên để chạy lệnh. Bạn có thể chuyển đổi giữa các cửa sổ trong một phiên.

Chuyển đổi phiên

Để tạo một cửa sổ mới trong phiên, hãy nhấn Ctrl + A theo sau là chữ c (viết thường) để tạo một cửa sổ mới. Cửa sổ đầu tiên bắt đầu bằng số 0, cửa sổ tiếp theo là 1, v.v...

Nhấn Ctrl + A và sau đó lọc qua các số từ 0 đến 9. Để liệt kê từng cửa sổ một, sử dụng Ctrl + A theo sau là chữ w (viết thường) để xem danh sách các phiên có ID một chữ số.

Tạo một phiên có tên dễ nhớ hơn

ID được tạo ngẫu nhiên rất khó nhớ. Việc đặt tên cho phiên có thể làm cho mọi thứ dễ dàng hơn. Nếu muốn bắt đầu một phiên với một tên gọi dễ nhớ, hãy nhập, thay examplename bằng tên bạn muốn đặt:

screen -S examplename

Nếu muốn kết nối lại với phiên này theo tên, hãy nhập:

screen -X examplename

Chia sẻ một phiên Screen

Bạn có thể chia sẻ một phiên terminal với đồng nghiệp hoặc bạn bè nhờ có Screen. Hãy nhập:

screen -rx

Thay vì ngắt kết nối bất cứ ai hiện đang kết nối với phiên này, bạn chỉ cần tham gia vào phiên đó. Những người dùng khác sẽ thấy những gì bạn nhập và các lệnh bạn chạy. Bạn cũng có thể theo dõi những người khác nếu họ làm như vậy.

Ghi đầu ra Screen vào một file

Nếu cần phải ghi đầu ra Screen vào một file vì lý do bảo trì hoặc thử nghiệm. Để làm như vậy, hãy nhập:

screen -L

Một phiên sẽ bắt đầu với khả năng ghi vào một file có tên screenlog.x (trong đó X là một số, bắt đầu từ số 0) trong thư mục chính. Để bắt đầu ghi nhật ký một phiên, nhập Ctrl + A theo sau là chữ H (Shift + h).

Khóa phiên trong Screen

Nếu muốn bảo vệ một phiên trong Screen, bạn có thể khóa phiên bằng mật khẩu Linux hiện có của mình.

Ctrl + A theo sau là chữ x (viết thường) để khóa phiên trong khi đang kết nối với nó.

Khóa phiên

Lệnh này khóa nó trong cửa sổ terminal hiện tại. Hãy nhập mật khẩu tài khoản để mở khóa.

Nhờ GNU Screen, người dùng không phải lo lắng về việc chờ một lệnh terminal kết thúc. Công cụ này rất hữu ích nếu bạn đang tìm cách điều khiển các máy chủ từ xa. Nó cũng là một công cụ tuyệt vời cho PC tại nhà nếu cần chạy vài lệnh từ một cửa sổ. GNU Screen là công cụ hoàn hảo cho quản trị viên hệ thống.

Chúc bạn thành công trong việc cài đặt và sử dụng công cụ hữu ích này!

Thứ Bảy, 23/02/2019 15:27
32 👨 1.672
0 Bình luận
Sắp xếp theo
    ❖ Linux