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!
Cách chạy đa nhiệm trên Linux terminal
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
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ó.
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.
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 + A và d, để 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.
Để 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.
Gõ 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ó.
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!
Bạn nên đọc
-
Cách cài đặt ISPConfig Hosting Control Panel với Apache Web Server trên Ubuntu 24.04
-
Cách kiểm tra chính tả trong Linux Terminal
-
Cách sử dụng Zsync để chuyển một phần file trong Linux
-
Cách thiết lập Wireguard VPN trên Linux
-
4 lý do nên giữ một Linux Live USB tiện dụng bên mình
-
Cách sử dụng lệnh read trong Linux
-
Cách di chuyển file giữa các hệ thống bằng scp và rsync
-
Cách đóng Terminal tự động trên macOS
-
18 lệnh Linux thú vị trong Terminal
Cũ vẫn chất
-
Cách sửa lỗi “There Was a Problem Resetting Your PC”
Hôm qua -
Tra soát ngân hàng là gì? Thời gian tra soát mất bao lâu?
Hôm qua -
Toán tử UNION ALL trong SQL Server
Hôm qua 3 -
Thủ thuật sử dụng Alt+Tab trên Windows 10
Hôm qua -
Code Đại Bang Chủ, giftcode Đại Bang Chủ event mới nhất
Hôm qua -
Cách tạo VPN trên Windows 10
Hôm qua -
11 cách sửa lỗi "The System Cannot Find The Path Specified" trên Windows
Hôm qua -
Tắt tính năng tự điều chỉnh độ sáng màn hình Windows 10
Hôm qua 4 -
Sửa lỗi ổ đĩa C bị chấm than vàng trên Windows 10
Hôm qua -
Yêu cầu cấu hình Windows 11, cấu hình phần cứng tối thiểu Win 11
Hôm qua 37