Screen là một lệnh rất hữu ích cho phép chúng ta sử dụng nhiều Phiên Shell(SSH) từ một phiên SSH duy nhất. Điều này có nghĩa là bạn không cần phải mở rõ ràng các phiên SSH khác nhau để thực hiện nhiều thao tác song song.
Screen cũng giúp bạn tiếp tục quá trình ngay cả khi kết nối đến phiên SSH bị ngắt. Ví dụ, nếu bạn đã bắt đầu một tiến trình cụ thể và kết nối bị ngắt thì tiến trình sẽ dừng lại nhưng nếu bạn bắt đầu tiến trình đó bên trong màn hình và tách nó khỏi màn hình đó thì tiến trình vẫn sẽ chạy và bạn có thể kết nối lại với màn hình và xem tiến trình của mình đang chạy.
Bạn có thể tạo nhiều màn hình tùy theo hệ điều hành hỗ trợ từ một phiên SSH duy nhất. Bạn có thể liệt kê các màn hình khả dụng, đính kèm vào bất kỳ màn hình nào trong số chúng và dừng lại.
sudo apt-get install screen
Để xác minh xem màn hình có khả dụng trên hệ thống hay không và để kiểm tra phiên bản của nó, hãy sử dụng lệnh sau.
screen --version
screen
Sau đó nhấn đồng thời nút "control" và nút "a" rồi nhấn nút "?". Thao tác này sẽ cung cấp cho bạn một màn hình trong đó tất cả các phím tắt được đề cập đến.
control+a ?
Phím tắt:
screen -S my-first-screen
Để tháo màn hình mà không giữ nguyên, hãy nhập lệnh "exit"
exit
Có thể sử dụng lệnh sau để liệt kê các màn hình khả dụng
screen -ls
Bây giờ hãy tạo màn hình thứ hai của chúng ta mà chúng ta sẽ giữ lại để có thể gắn lại vào đó.
Sử dụng lệnh sau để tạo màn hình thứ hai của bạn.
screen -S my-second-screen
Bây giờ nếu bạn chạy bất kỳ quy trình nào bên trong màn hình này và tách khỏi nó, quy trình của bạn sẽ vẫn chạy và khả dụng khi bạn gắn lại vào nó. Để kiểm tra tình huống này, bạn có thể thực thi lệnh "top" trong màn hình này.
Để tách màn hình để nó khả dụng và chúng ta có thể gắn lại vào nó, hãy sử dụng tổ hợp sau, nhấn nút "control" và nút "a" cùng nhau rồi nhấn nút "d". Lần này bạn vừa tách khỏi màn hình và màn hình sẽ có sẵn để bạn gắn lại vào.
control+a d
Liệt kê các màn hình và bạn có thể thấy màn hình đầu tiên của bạn đã bị chấm dứt và màn hình thứ hai đã bị tách ra. Điều này có nghĩa là bạn không thể gắn lại vào màn hình đã bị chấm dứt nhưng bạn có thể gắn lại vào màn hình đã tách ra. Bây giờ nếu bạn gắn lại vào màn hình thứ hai, bạn vẫn sẽ thấy rằng "màn hình trên cùng" đang chạy.
screen -ls
Bây giờ hãy tạo nhiều màn hình và thử gắn vào bất kỳ màn hình nào trong số chúng.
screen -S1
screen -S 2
screen -S 3
Bạn có thể sử dụng lệnh sau để đính kèm vào màn hình nếu chỉ có một màn hình khả dụng.
Nếu có nhiều màn hình khả dụng thì lệnh sau sẽ không hoạt động.
screen -r
Để đính kèm vào một màn hình cụ thể từ nhiều màn hình, bạn cần truyền ID/Tên của màn hình cùng với lệnh "screen -r".
screen -r 2232.1
Bây giờ nếu bạn muốn tắt một màn hình cụ thể, bạn có thể sử dụng lệnh sau.
screen -XS screen-id.screen-name quit
Nhưng nếu bạn tắt màn hình theo ID tiến trình, màn hình sẽ tắt và bạn vẫn có thể nhìn thấy khi liệt kê các màn hình, nhưng bạn không thể gắn lại vào các màn hình tắt.
kill -9 screen-process-id
Để xóa các màn hình tắt, bạn có thể sử dụng "-wipe" làm tùy chọn cho lệnh màn hình như sau.
screen -wipe
Để kết thúc hoặc tắt tất cả các màn hình, bạn có thể sử dụng lệnh sau.
killall screen
Screen cũng giúp bạn tiếp tục quá trình ngay cả khi kết nối đến phiên SSH bị ngắt. Ví dụ, nếu bạn đã bắt đầu một tiến trình cụ thể và kết nối bị ngắt thì tiến trình sẽ dừng lại nhưng nếu bạn bắt đầu tiến trình đó bên trong màn hình và tách nó khỏi màn hình đó thì tiến trình vẫn sẽ chạy và bạn có thể kết nối lại với màn hình và xem tiến trình của mình đang chạy.
Bạn có thể tạo nhiều màn hình tùy theo hệ điều hành hỗ trợ từ một phiên SSH duy nhất. Bạn có thể liệt kê các màn hình khả dụng, đính kèm vào bất kỳ màn hình nào trong số chúng và dừng lại.
Điều kiện tiên quyết
- Ubuntu Server hoặc Desktop
- Sudo Access
Những gì chúng ta sẽ làm
- Cài đặt Screen
- Hiểu về ScreenShortcut
- Xem cách sử dụng lệnh Screen
Cài đặt Screen
Cài đặt lệnh screen khá đơn giản. Để cài đặt screen trên máy chủ Ubuntu, hãy sử dụng lệnh sau. Thông thường, màn hình đi kèm theo Ubuntu 18.04 theo mặc định.sudo apt-get install screen
Để xác minh xem màn hình có khả dụng trên hệ thống hay không và để kiểm tra phiên bản của nó, hãy sử dụng lệnh sau.
screen --version
Tìm hiểu về các phím tắt trên màn hình
Để biết về các phím tắt có sẵn bên trong màn hình, chỉ cần thực hiện lệnh 'screen', lệnh này sẽ mở phiên màn hìnhscreen
Sau đó nhấn đồng thời nút "control" và nút "a" rồi nhấn nút "?". Thao tác này sẽ cung cấp cho bạn một màn hình trong đó tất cả các phím tắt được đề cập đến.
control+a ?
Phím tắt:
- control+a c --> Để xóa màn hình
- control+a control+t -- > Để hiển thị thời gian
- control+a v --> Kiểm tra Phiên bản Màn hình
Xem Cách sử dụng Lệnh Màn hình
Để tạo màn hình đầu tiên, hãy sử dụng lệnh sauscreen -S my-first-screen
Để tháo màn hình mà không giữ nguyên, hãy nhập lệnh "exit"
exit
Có thể sử dụng lệnh sau để liệt kê các màn hình khả dụng
screen -ls
Bây giờ hãy tạo màn hình thứ hai của chúng ta mà chúng ta sẽ giữ lại để có thể gắn lại vào đó.
Sử dụng lệnh sau để tạo màn hình thứ hai của bạn.
screen -S my-second-screen
Bây giờ nếu bạn chạy bất kỳ quy trình nào bên trong màn hình này và tách khỏi nó, quy trình của bạn sẽ vẫn chạy và khả dụng khi bạn gắn lại vào nó. Để kiểm tra tình huống này, bạn có thể thực thi lệnh "top" trong màn hình này.
Để tách màn hình để nó khả dụng và chúng ta có thể gắn lại vào nó, hãy sử dụng tổ hợp sau, nhấn nút "control" và nút "a" cùng nhau rồi nhấn nút "d". Lần này bạn vừa tách khỏi màn hình và màn hình sẽ có sẵn để bạn gắn lại vào.
control+a d
Liệt kê các màn hình và bạn có thể thấy màn hình đầu tiên của bạn đã bị chấm dứt và màn hình thứ hai đã bị tách ra. Điều này có nghĩa là bạn không thể gắn lại vào màn hình đã bị chấm dứt nhưng bạn có thể gắn lại vào màn hình đã tách ra. Bây giờ nếu bạn gắn lại vào màn hình thứ hai, bạn vẫn sẽ thấy rằng "màn hình trên cùng" đang chạy.
screen -ls
Bây giờ hãy tạo nhiều màn hình và thử gắn vào bất kỳ màn hình nào trong số chúng.
screen -S1
screen -S 2
screen -S 3
Bạn có thể sử dụng lệnh sau để đính kèm vào màn hình nếu chỉ có một màn hình khả dụng.
Nếu có nhiều màn hình khả dụng thì lệnh sau sẽ không hoạt động.
screen -r
Để đính kèm vào một màn hình cụ thể từ nhiều màn hình, bạn cần truyền ID/Tên của màn hình cùng với lệnh "screen -r".
screen -r 2232.1
Bây giờ nếu bạn muốn tắt một màn hình cụ thể, bạn có thể sử dụng lệnh sau.
screen -XS screen-id.screen-name quit
Nhưng nếu bạn tắt màn hình theo ID tiến trình, màn hình sẽ tắt và bạn vẫn có thể nhìn thấy khi liệt kê các màn hình, nhưng bạn không thể gắn lại vào các màn hình tắt.
kill -9 screen-process-id
Để xóa các màn hình tắt, bạn có thể sử dụng "-wipe" làm tùy chọn cho lệnh màn hình như sau.
screen -wipe
Để kết thúc hoặc tắt tất cả các màn hình, bạn có thể sử dụng lệnh sau.
killall screen