Suse 11 so với Suse 10 khác nhau ảnh hưởng đến màu sắc thiết bị đầu cuối?


7

Tôi có các dotfiles của tôi được phiên bản trên github (ngã ba không biết xấu hổ về công việc tốt của người khác). Trong công việc, tôi có chúng trên một máy chủ linux trung tâm (SuSE Enterprise Linux 10). Tôi đồng bộ chúng từ máy chủ quản lý trung tâm đến máy chủ mục tiêu (chúng thường không có quyền truy cập http bên ngoài).

Chúng tôi đã triển khai SuSE Enterprise Linux 11 và tôi nhận thấy các máy chủ màu đỏ "đỏ" hoặc đỏ tươi từ các cài đặt hồ sơ của tôi dường như không hoạt động. Tương tự, cài đặt vim colorscheme của tôi không hoạt động - ví dụ thay vì tô sáng cụm từ tìm kiếm, từ đó biến mất. Màu đỏ và màu vàng không được tôn vinh.

Ai đó có thể chỉ cho tôi một var env hoặc cài đặt có thể khác trên các hộp SLES 11 này không? Dưới đây là ảnh chụp màn hình đăng nhập SLES10 so với SLES11 của tôi với các dấu chấm đồng bộ hóa (ví dụ: .bash_profile, .bash_prompt, .vimrc, v.v.).

$TERMtrên cả hai máy chủ là xterm-256color. ** xem ghi chú cập nhật

Từ máy chủ SLES10: phiên vim, sles 10, phối màu vinh danh

Cùng một dotfiles, nhưng trên máy chủ SLES11: phiên vim, sles 11, phối màu một phần

Cập nhật

  • Tôi nhận thấy $ TERM khác nếu tôi SSH trực tiếp từ máy trạm của mình so với máy chủ tiện ích SLES10. Tôi tin rằng TERM đang được chuyển tiếp từ máy chủ tiện ích.
  • Tập lệnh init .bash_prompt$TERM dựa trên đầu ra infocmpxuất phát từ ncurses-develgói mà tôi đã xác nhận không có trên hình ảnh máy chủ SLES11. Nếu infocmpkhông chạy hoặc không có sẵn, $TERMsẽ không được đặt hoặc bất cứ điều gì trước khi tập lệnh chạy .
  • Trong trường hợp $TERMđược kế thừa (đã được đặt), logic điều kiện tập lệnh .bash_prompt hiện không để nó bị ảnh hưởng khi infocmpkhông chạy.
  • Tập lệnh .bash_prompt sau đó sử dụng tputcác lệnh để khởi tạo một số vars có mã màu - giá trị vượt xa mặc định 8 màu. tputbị ảnh hưởng bởi $TERM.

Lý thuyết hiện tại của tôi: PS1tập lệnh thiết lập của tôi có thể đang phát ra một số giá trị đầu cuối không được hỗ trợ - được đặt trước đó từ logic có điều kiện dựa trên các lệnh bị ảnh hưởng bởi sai / không được hỗ trợ $TERM. Điều này sau đó làm rối tung các lệnh tiếp theo như thế vim.

Bất cứ ai cũng có thể xác nhận lý thuyết này dựa trên sự hiểu biết của họ tputvà ảnh hưởng của ncurseshệ thống? Tôi đã nhận thấy các bài viết về cách ncurses cho phép nhiều giá trị màu hơn trong thiết bị đầu cuối.


Bạn đã thử chỉ định một màu cơ bản khác? Hoặc chỉ với xterm thay vì phiên bản màu cho $ TERM chỉ để xem?

1
Sau một số nhầm lẫn do chuyển tiếp TATE qua SSH, có - xterm dường như có tác động mặc dù tôi không nghĩ đó là nguyên nhân gốc rễ. Tôi đang cập nhật bài viết với những gì tôi tìm thấy.
Scott Heaberlin

dot file không đơn độc, họ có anh em toàn cầu chị em, ví dụ như dưới /etc/profile.d và /etc/bash.bashrc, tôi đã cố gắng để tìm thấy chúng tất cả trong blog của tôi linuxintro.org/wiki/Boot_process#user_starts_a_shell
Thorsten Staerk

Câu trả lời:


1

Bạn có chắc chắn đây không phải là (một phần) vimvấn đề cấu hình?

vimchủ yếu dựa vào phát hiện filetype của nó trên toàn bộ tên (ví dụ .profile) hoặc phần mở rộng ( .sh). Tệp bạn đã cung cấp được gọi là (tôi tin) .bash_prompt, không phù hợp với các loại bash hoặc shell đã biết.

Khi bạn tải nó, loại được phát hiện là gì và nó có khác nhau trên mỗi hệ thống không?

 :set filetype?

Nếu không filetype=shthì hãy thử

 :set syn=sh

(Tôi đoán ít nhất một người nói conffiletype, làm nổi bật các #bình luận TODO' "chuỗi trích dẫn).

Tôi nghi ngờ SLES sử dụng một vim-datagói riêng biệt , gói này sẽ chứa các tập lệnh cú pháp và màu khác nhau, kiểm tra xem cái này có được cài đặt trên hệ thống SLES11 không.

Để xem định dạng nào được áp dụng cho đánh số dòng, hãy làm:

:highlight LineNr

Nếu bạn không nhìn thấy ctermfg=3(thiết bị đầu cuối màu forground = màu vàng) thì điều đó giải thích tại sao màu vàng bị "thiếu".

Một thay đổi trong kiểu tệp được phát hiện sẽ giải thích lý do tại sao bạn "thiếu" màu đỏ tươi (màu đỏ và màu đỏ tươi không cùng màu, btw) trên các chuỗi được tô sáng và "thiếu" màu vàng nếu LineNr thay đổi.

Nếu bạn có nguồn xterm trong tay, bạn cũng có thể chạy một số tập lệnh kiểm tra màu của nó có thể truy vấn tất cả các mục màu:

perl vttests/256colors2.pl            # fast, show all colors
perl vttests/query-color.pl 0-15      # slow, uninterruptable

Bạn cũng có thể thấy tập lệnh colortest.vim hữu ích, bắt đầu vimvà chạy

:runtime syntax/colortest.vim

Trong vim, hãy chạy :help xterm-colorđể được tư vấn thêm về việc đảm bảo rằng các màu cơ bản được đặt như mong đợi.

Hãy thử điều này để kiểm tra xem Xterm nghĩ màu cơ bản của nó là gì (chỉ đọc khi Xterm khởi động):

xrdb -query | grep -i vt100.color
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.