Thiết bị đầu cuối của nhà cung cấp dịch vụ không đầy đủ chức năng trên các bộ đệm * shell *


8

Tôi đang sử dụng shell ( M-x shell) để kết nối với máy chủ từ xa thông qua SSH. Sau khi khởi chạy một số công cụ dòng lệnh (chủ yếu là psql , giao diện dòng lệnh postgresql, nhưng con người sẽ giống như vậy), shell sẽ đưa ra cảnh báo sau:

WARNING: terminal is not fully functional                                                    
-  (press RETURN) 

Theo tôi biết, điều này trông giống như một vấn đề máy nhắn tin. Thay đổi máy nhắn tin thành cattrong .emacstệp của tôi :

(setenv "PAGER" "/bin/cat")

đã giúp tôi thoát khỏi những tin nhắn đó, nhưng chỉ với các lệnh cục bộ (và tôi không ngại sử dụng mèo làm máy nhắn tin). Vì tôi chỉ có một phiên bản cục bộ của Emacs, có cách nào để sử dụng một máy nhắn tin khác trên máy chủ từ xa không? Hoặc có cách nào khác để loại bỏ các thông điệp cảnh báo, nếu có thể mà không cần chuyển sang ansi-term? Nếu có ích gì, tôi đang sử dụng GNU Emacs 24.3.1.


4
Ngoài ra, sử dụng M-x ansi-termđể chạy một thiết bị đầu cuối đầy đủ chức năng, thay vì sử dụng M-x shell.
phils

Câu trả lời:


9

"Vấn đề" là với M-x shell(hoặc M-x eshellbtw), Emacs sử dụng trình giả lập thiết bị đầu cuối rất hạn chế, do đó TERMđược đặt chính xác thànhdumb

Máy nhắn tin ưa thích không thể hoạt động dưới những hạn chế như vậy, đó là lý do tại sao bạn phải sử dụng catthay thế. Bây giờ, khi bạn mở một kết nối ssh từ shell đó, TERMvẫn bị câm, nhưng PAGERđược đặt lại thành bất cứ thứ gì mà hệ thống khác nghĩ rằng bạn nên sử dụng. Để khắc phục điều này, bạn cần thay đổi cấu hình hệ vỏ của mình trên hệ thống từ xa để nó sử dụng các giá trị mặc định bất cứ khi nào nó được truy cập từ một thiết bị đầu cuối câm.

Cái gì đó như:

[ "$TERM" = "dumb" ] && export PAGER=/bin/cat

Cảm ơn câu trả lời. Vì tôi không phải sửa đổi cài đặt máy chủ từ xa, tôi có thể thử gửi các biến env bằng chuỗi kết nối ssh của mình ... hoặc chỉ quen với thuật ngữ ansi!
KookieMonster

Có một máy nhắn tin sẽ hiển thị màu sắc?
erjoalgo

@erjoalgo Đối với màu sắc, bạn có thể sử dụng ccat thay vì cat. Kết quả thật ngọt ngào :)
prosoitos
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.