Làm thế nào người ta có thể đặt tiêu đề của thiết bị đầu cuối bằng lệnh 'tput'?


9

Tôi phát hiện ra qua câu trả lời này rằng tôi đã thiết lập màu sắc thiết bị đầu cuối theo cách của tôi một cách ngây thơ trong nhiều năm.

Bây giờ tôi đã sửa đổi .bashrc của mình để sử dụng các lệnh 'tput' để tô màu các yếu tố khác nhau trong lời nhắc của tôi. Mã thoát còn lại tôi có là:

TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"

Có ai biết nếu có một thuộc tính tput / terminfo tôi có thể sử dụng để đặt thanh tiêu đề của cửa sổ đầu cuối của mình, để tôi có thể loại bỏ lối thoát đó không?

Câu trả lời:


9

Các khả năng thực tế là tsl (Đến Dòng trạng thái) và fsl (Từ Dòng trạng thái), nhưng tất nhiên không phải tất cả các thiết bị đầu cuối đều có. Trong Linux nói riêng, bạn cần đặt thiết bị đầu cuối của mình thành xterm + sl hoặc một cái gì đó tương tự.

Bạn có thể kiểm tra điều này với

export TERM=xterm+sl
echo `tput tsl` Hello world `tput fsl`; sleep 10

Tôi sẽ không làm phiền và giữ những lối thoát đó trong .bashrc


1
Có vẻ như bản sao Ubuntu của tôi thiếu thông tin đầu cuối đó. :( Tôi đổ lỗi cho các tập tin terminfo không đầy đủ :)
David Pashley

1
màn hình, tuy nhiên, xuất hiện để hỗ trợ họ tốt. Cảm ơn!
Murali Suriar

3
\033];là dãy thoát trong xtermmột "hệ điều hành Command" . Tôi không biết làm thế nào để thực hiện điều đó trong mục tiêu, nhưng nếu có thể thực hiện thông qua mục tiêu đó sẽ là phương pháp tốt hơn cho cài đặt tiêu đề thiết bị đầu cuối đa nền tảng. Ví dụ, trên xterm, nó sẽ dẫn đến chuỗi \033]0;Title\007. Xem thêm tại đây
Wyatt8740

@codehead Giải pháp của bạn thật đáng xấu hổ vì nếu tôi gõ export TERM=xterm+slthì tôi không còn cú pháp highting trong vim nữa.
SebMa

2

Đã xem tệp terminfo xterm, tôi không thể tìm thấy bất kỳ mã nào giống với lệnh này, vì vậy tôi nghi ngờ là không có.

Nếu bạn quan tâm, trang man terminfo liệt kê tất cả các lệnh mà termcap và terminfo hiểu. Tôi đã dịch ngược tệp cơ sở dữ liệu terminfo bằng cách sử dụng:

# infocmp -L xterm 

2

Tôi không thể bình luận, do đó, một câu trả lời thêm:

Nếu bạn sử dụng tsl / fsl, hãy nhớ hỏi thiết bị đầu cuối cho hs trước. hs phải đúng nếu tsl / fsl (và * sl) khác được hỗ trợ.

tput hs && { echo ....; }

1
+1 nếu bạn có một tài liệu tham khảo cho việc này.
l0b0

1

Để biết thêm thông tin về các tính năng đặc biệt "chế độ vt100" của xterm, hãy xem tài liệu Trình tự điều khiển Xterm trong phần Điều khiển hệ điều hành để biết tất cả các chi tiết chính.

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.