các tab khi sử dụng 'màn hình'


20

Tôi đang sử dụng Ubuntu 10.04. Sau khi tôi cài đặt screen:

sudo apt-get install screen

Tôi đã thực hiện hai kết nối ssh đến hai máy chủ từ xa bằng cách thực hiện từng bước sau đây (Tôi thực hiện các bước sau theo tài liệu ở đây ):

1. mở một cửa sổ termnal, chạy lệnhscreen

2. nhấn Ctrl+ A+ cđể tạo giao diện điều khiển ảo mới

3. ssh usr@IP1

Tại thời điểm này, tôi có một bàn điều khiển ảo cho thấy tôi đã kết nối với máy chủ từ xa (IP1).

4. nhấn Ctrl+ A+ cđể tạo giao diện điều khiển ảo mới

5. ssh usr@IP2

Vì vậy, bây giờ tôi đã kết nối với hai máy chủ từ xa (IP1 & IP2). Nhưng , tôi không có hai tab trên một cửa sổ đầu cuối, thay vào đó, tôi phải sử dụng Ctrl+ A+ pCtrl+ A+ nđể chuyển đổi giữa hai bảng điều khiển ảo trong một cửa sổ đầu cuối.

Không phải vì vậy mà bằng cách sử dụng screen, tôi có thể có hai tab trong một cửa sổ đầu cuối, với mỗi tab hiển thị một kết nối đến một máy chủ từ xa. Tại sao tôi không có các tab trong cửa sổ terminal của mình?

Câu trả lời:


26

Đây là của tôi .screenrcmà tôi sử dụng ở mọi nơi để xem các screensố của mình dưới dạng các tab ở dưới cùng của cửa sổ và một dòng thông tin phía trên các tab . Phần bạn thực sự cần là "nhìn và cảm nhận".

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

Bạn cũng có thể thêm các mục sau để tự động thêm hai tab khi screenđược tạo ban đầu:

screen ssh usr@IP1
screen ssh usr@IP2

Ngoài ra, nội dung trạng thái có thể được cập nhật bằng mã thoát được phát ra từ các lệnh shell và lời nhắc. Ví dụ: tôi cập nhật trạng thái với thư mục hiện tại bằng cách sử dụng điều này trong .bashrc:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
Tôi đã luôn tự hỏi tại sao nó luôn luôn có một số cấu hình cứng để làm cho màn hình không bị mất khi làm việc. PS Hãy thử shelltitle "$ |shell:"để thêm tên lệnh vào tiêu đề.
amphetamachine

7

Khi bạn nhấn Ctrl+ a"bạn có thể thấy các "tab" màn hình, chúng không phải là các tab trên GUI thiết bị đầu cuối của bạn, bạn có thể làm điều đó bằng tay bằng cách tạo một tab mới tại GUI thiết bị đầu cuối bạn đang sử dụng và sau đó chạy ở mới tab screen -rđể trở về phiên màn hình của bạn và sau đó điều hướng đến phiên bạn muốn bằng Ctrl+ avà một số hoặc "để xem menu có tất cả các tab của bạn.

Bạn có thể đặt tên cho mỗi một trong số các màn hình "tab" của mình bằng cách nhấn Ctrl + a sau đó A .


1
Cần chạy screen -r -xnếu màn hình đó đã được gắn vào tab đầu tiên.
Arcege

3

Tôi đoán bạn đang nhầm lẫn các tab trên thiết bị đầu cuối đồ họa như konsole với những người trong màn hình. Trong màn hình, bạn chỉ chuyển đổi nội dung của một cửa sổ với ^ A-Kombinating đã đề cập. Điều này cũng hoạt động trên một môi trường không đồ họa.


2

Bạn có thể định cấu hình screenđể hiển thị một dòng trạng thái có thể thông báo cho bạn nhiều điều, tôi cũng cho rằng bạn đang ở cửa sổ màn hình nào, nhưng tôi không sử dụng một dòng trạng thái, vì vậy không thể nói chắc chắn.

Đối với những gì tôi biết, screenkhông tạo ra các tab, nhưng bạn phải chuyển đổi giữa các màn hình với lệnh bạn chỉ định, hoặc là tôi thích Ctrl- A 1, Ctrl- A 2vv

Để có thêm một tab, bạn có thể sử dụng gnome-terminalcác tính năng, không cần màn hình: Ctrl- Shift- Tsẽ tạo một tab mới và Alt- 1, Alt- 2, v.v. sẽ chuyển giữa các tab.

Ngoài ra tôi hỏi tại sao bạn không chạy màn hình trên máy chủ, vì vậy chỉ sử dụng một kết nối ssh (nhưng trong trường hợp này không có bất kỳ tab nào).


2

Tôi biết điều này khá cũ, nhưng vì Google đã dẫn tôi đến đây, những người khác cũng có thể đọc nó. Vì vậy, đây là bản hack 0,02 đô la của tôi để bắt chước các tab trong phiên "màn hình":

Xây dựng một dòng trạng thái với:

  • ở phía bên trái: ngày / giờ
  • ở phía bên phải: tên máy chủ cục bộ + tải trung bình
  • ở giữa: tên của màn hình "windows"
    • cửa sổ hiện tại: văn bản màu đỏ trên nền đen
    • cửa sổ khác: văn bản màu trắng trên màu nền dòng trạng thái (màu xanh, ở đây)

Đưa vào ~/.screenrc:

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(Có lẽ cái này đáng giá hơn 0,02 đô la vì tôi đã vật lộn khá nhiều thời gian về việc này ;-)

Để chuyển từ cửa sổ hiện tại sang phím trước / tiếp theo bằng F6/ F7phím:

bindkey -k k6 prev
bindkey -k k7 next
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.