Đặt tiêu đề tab Terminal


11

Tôi đang cố gắng mở một vài tab thiết bị đầu cuối trong gnome-terminal và cho đến nay tôi đã xoay sở để làm một cái gì đó , nhưng bây giờ tôi bị mắc kẹt.

Vì vậy, tôi có yêu cầu sau:

  • Mở các tab có tiêu đề "X" và "Y"
  • Thực hiện một số lệnh
  • Giữ các tab mở và sẵn sàng để sử dụng tiếp; giữ tiêu đề

Cho đến nay, tôi đã xoay sở để đáp ứng một số yêu cầu, nhưng không phải tất cả chúng:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Điều này mở ra hai tab:

  1. "X" (và sau đó thay đổi tiêu đề thành tiêu đề mặc định)
  2. "Y", nhưng tab đóng lại ngay sau khi tôi thoát top.

Có cách nào để mở một tab, khởi chạy bash, nhưng không thay đổi tiêu đề? Tôi đã thử Google, nhưng đã từ bỏ.

EDIT: Nó không phải là một lệnh.


Nó có phải là một lệnh không? Bởi vì GUI gnome-terminal hoạt động tốt cho điều đó.
cháu

@kikjezrous Vâng, tôi biết cách thực hiện bằng phím tắt hoặc chỉ cần nhấp chuột phải, nhưng tôi phải làm điều đó bất cứ khi nào tôi làm việc (và đó là 6 tab), vì vậy đó là vấn đề tiện lợi hơn là một điều cần thiết thực sự.
omninonsense

Ah, tôi sẽ chỉnh sửa câu trả lời của tôi.
cháu

Câu trả lời:


4

Như bạn có thể thấy trong các câu trả lời khác , tiêu đề của tab được thay đổi bởi trình bao mỗi lần nó đưa ra lời nhắc. Và sau khi thực hiện topthoát tab của bạn vì lệnh bạn đã bảo nó chạy xong ...

Tôi sẽ làm như sau:

Bước 1: gọi thiết bị đầu cuối bằng shell, thêm các biến môi trường như thế:

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Bước 2: thêm vào cuối .bashrcđoạn mã sau:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... mà tôi nghĩ là dễ hiểu và bạn có thể sửa đổi bằng lệnh / chỉnh sửa bạn cần. Đã thử nghiệm và hoạt động ok; sau khi bạn thoát topkhỏi tab, bạn vẫn sẽ có dấu nhắc và tab để bạn xem qua.

Ảnh chụp màn hình (sau khi nhấn "q" in top):

ảnh chụp màn hình


6

Để giữ tiêu đề tab, bạn cần bình luận các dòng sau trong .bashrc:

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Sau đó gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"sẽ làm việc như mong đợi:

nhập mô tả hình ảnh ở đây


Đánh dấu đây là câu trả lời đúng, vì nó là câu trả lời đơn giản nhất. :-)
omninonsense

Tôi đã thay đổi câu trả lời được chấp nhận (và chỉnh sửa nó một chút), vì nó phù hợp hơn với yêu cầu của tôi; đây vẫn là một câu trả lời tuyệt vời
omninonsense

1
Không vấn đề gì, đó là cách nó hoạt động :)
Sylvain Pineau

1

Tôi cho rằng nó không phải là một lệnh và đưa ra một cách hoàn toàn đồ họa để làm điều này.

Sau khi khởi chạy gnome-terminal, menu 'file' cho phép bạn mở các tab mới sẽ có tiêu đề cụ thể được chỉ định. Điều đó có thể được thay đổi bằng menu 'terminal' hoặc nhấp chuột phải vào tab và thực hiện nó từ menu ngữ cảnh.

Sau đó, bạn có thể mở top và bất kỳ lệnh nào khác mà bạn muốn, đó là tất cả trong thiết bị đầu cuối, chạy như một quy trình bình thường, không bị ràng buộc đang chạy từ bất kỳ thiết bị đầu cuối nào khác - chỉ là môi trường máy tính để bàn - sẽ không chết sau khi nó cảm thấy xong phải làm


Sử dụng gnome-terminal dựng sẵn, không có tùy chọn nào để đặt tiêu đề trong menu ngữ cảnh cho các tab hoặc bất kỳ tùy chọn nào trong menu 'terminal'. Phiên bản nào của thiết bị đầu cuối bạn đang sử dụng?
Williams

1

Trong khi chơi xung quanh, tôi thấy rằng đó hoàn toàn không phải là lệnh - đó là hồ sơ.

Đi đến:

Edit | Profiles | (Default) | Edit | Title and Command 

và thay đổi tùy chọn "Khi thiết bị đầu cuối đặt tiêu đề của riêng họ" thành "Giữ tiêu đề ban đầu", ở cuối danh sách. Bây giờ, khi bạn khởi chạy một lệnh có tiêu đề, nó sẽ bám xung quanh, vì vậy lệnh của bạn sẽ hoạt động bình thường.

nhập mô tả hình ảnh ở đây


Lưu ý rằng bạn sẽ phải làm điều này cho mọi hồ sơ được xác định
Sylvain Pineau
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.