Làm cách nào tôi có thể có nhiều phiên cuối thông qua một kết nối SSH?


21

Tôi có một phiên bản máy chủ Ubuntu đang chạy và tôi có thể SSH vào nó để thực hiện các tác vụ khác nhau. Điều tôi muốn là khả năng SSH vào máy chủ của tôi khởi động một ứng dụng máy chủ và sau đó chuyển sang một phiên "ảo" khác (với cùng một ví dụ SSH) và chạy các cuộc gọi của khách hàng đối với dịch vụ. Khi tôi khởi động dịch vụ, đó là một cuộc gọi chặn, vì vậy tôi không thể chạy các cuộc gọi của khách hàng mà không thực hiện phiên SSH anther.

Tôi đã hy vọng có thể có một cách mượt mà, giống như giao diện người dùng làm với máy tính để bàn ảo.

Câu trả lời:


24

Những gì bạn muốn sử dụng là màn hình hoặc thậm chí tốt hơn là một trình bao bọc thân thiện với người dùng xung quanh màn hình được gọi là byobu.

Màn hình cho phép bạn chạy nhiều phiên thiết bị đầu cuối ảo trong cùng một phiên ssh. Một hướng dẫncác trang trợ giúp có sẵn.

byobu là một trình bao bọc cho phép dễ dàng mở các màn hình mới bằng một phím chức năng đơn giản thay vì tổ hợp phím từ ctrl-a. Nó cũng hiển thị một dòng trạng thái với tất cả các thiết bị đầu cuối ảo mở có thể được đặt tên.

Một tính năng hay khác là tất cả màn hình của bạn có thể duy trì trong khi kết nối ssh của bạn bị ngắt kết nối. Bạn chỉ cần kết nối lại thông qua ssh và gọi byobu và mọi thứ vẫn như trước.

Cuối cùng một số ảnh chụp màn hình của byobu.


5

Màn hình GNU là câu trả lời bạn đang tìm kiếm - nhưng nó rất giống Vi. Bạn đã học được rất nhiều lệnh để thiết lập môi trường Màn hình thành công. Đây là một số thứ để giúp bạn bắt đầu. Trước hết, bạn sẽ muốn .screenrc http://paste.ubfox.com/473764/ lưu nó trên máy chủ từ xa trong thư mục nhà của người dùng. Màn hình cài đặt tiếp theo trên máy từ xa ( sudo apt-get install screen) Tiếp theo bạn sẽ muốn kích hoạt nó ở đây là một số lệnh cho "bắn màn hình lên":

screen- Điều này khá đơn giản. Nó bắt đầu một phiên màn hình mới screen -ls- Liệt kê tất cả các phiên màn hình đang hoạt động. Có, bạn có thể có nhiều thiết bị đầu cuối bên trong nhiều màn hình. VẬY

Mẫu vật

screen -ls
There is a screen on:
    16467.pts-0.ubuntu  (08/05/2010 07:47:53 PM)    (Detached)
1 Socket in /var/run/screen/S-marco.

screen -x <pid> - Điều này sẽ tiếp tục một phiên màn hình tách ra, IE: screen -x 16467

Khi bạn đang ở trong Màn hình (và bạn đã sử dụng .screenrctệp mẫu của tôi ) Bạn sẽ thấy những điều sau đây ở phía dưới:

(LOAD) 0$* bash

Đó là tải máy chủ và danh sách tất cả các "tab thiết bị đầu cuối" đang mở. Hiện tại chỉ có một cửa sổ. Nhập một cái gì đó sau đó Nhấn tổ hợp phím này: Ctrl + Aphát hành, sau đó nhấn c. Ctrl + Alà chuỗi thoát. Tất cả các lệnh được bắt đầu với sự kết hợp này. cđang tạo tab mới. Bạn sẽ nhận thấy chân trang (LOAD) 0-$ bash 1$* bashcho thấy có một tab khác đang mở và tab hoạt động là số 1. Bạn có thể mở tối đa 60 tab cho mỗi phiên màn hình.

Nếu bạn muốn thoát khỏi màn hình nhưng vẫn tiếp tục sử dụng Ctrl + Athì dnó sẽ tách phiên của bạn ra. Cuối cùng, bạn có thể đóng các tab bằng cách sử dụng Ctrl + Asau kđó sẽ giết tab đó (nếu nó bị khóa) nhưng thông thường bạn chỉ có thể gõ exitnhư thể bạn đang ở trong một thiết bị đầu cuối và nó sẽ đóng tab đó.

Cuối cùng để liệt kê tất cả các cửa sổ mở, bạn có thể gõ Ctrl + Asau đó ".

Có rất nhiều tùy chọn có sẵn cho Màn hình mà bạn nên rót qua tệp man để biết thêm. Có một số nhược điểm. Bạn không thể sử dụng thanh cuộn của mình trong Màn hình, bạn phải sử dụng các điều khiển bộ đệm để quay lại, tuy nhiên ở trên là đủ để bạn bắt đầu xem liệu đây có phải là một tùy chọn khả thi hay không. Một điều tuyệt vời về điều này và một cái gì đó tôi đã xử lý rất nhiều với tư cách là Quản trị viên hệ thống - kết nối mạng. Nếu mạng của bạn ngừng hoạt động, bạn sẽ không bị mất! Vì màn hình đang chạy trên máy chủ. Bạn chỉ cần đăng nhập lại qua SSH screen -lsscreen -xquay lại phiên của bạn.


Có vẻ như txwikinger đã đánh bại tôi với nó bằng một số liên kết hữu ích!
Marco Ceppi

Nhập Ctrl + Asau đó ?để đi đến trang trợ giúp. Tất cả các lệnh và phím tắt được liệt kê ở đó. Nhập Ctrl + Asau đó :để sử dụng bất kỳ lệnh nào theo tên, nếu nhớ tên nhưng quên phím nóng.
Dan

1

Nếu bạn đang sử dụng Ubuntu Server Edition byobuchắc chắn là lựa chọn tốt nhất của bạn. Hướng dẫn máy chủ Ubuntu có một số tài liệu hữu ích .

Nó thường dễ học và sử dụng hơn screenvà được cài đặt theo mặc định.


0

Tôi sử dụng Emacs, vì vậy cấu hình mặc định của màn hình khiến cuộc sống của tôi trở nên khó khăn.

$ cat /home/cjac/.screenrc 

thoát ^

Hãy thử điều đó!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.