Thiết lập thiết bị đầu cuối
Tôi cho rằng điều này có liên quan nhiều đến cách thiết lập thiết bị đầu cuối, hơn là với bất kỳ vấn đề đệm nào. Kiểm tra đầu ra của stty -a | grep intr
, bạn nên có intr = ^C;
trên dòng đầu ra nếu Ctrl- Cđược bật tại tty
/ pty
. Nếu không, bạn có thể sử dụng stty intr ^C
để kích hoạt nó. Thêm dòng vào của bạn .tcshrc
hoặc .login
để làm cho nó vĩnh viễn (hoặc xóa dòng thay đổi nó ở vị trí đầu tiên!).
Không Ctrl- C, bạn cũng có thể thử gửi SIGQUIT
với Ctrl- \. Nếu điều này không hoạt động, một lần nữa kiểm tra stty -a | grep quit
xem nó đã được thiết lập đúng chưa.
Thiết lập trình mô phỏng đầu cuối
Đồng thời kiểm tra cài đặt cho trình giả lập thiết bị đầu cuối của bạn (nếu bạn đang sử dụng một), có thể có một phím tắt được thiết lập ở cấp độ này (có thể để sao chép hoặc một cái gì đó) và Ctrl- Ckhông đạt đến pty
cấp độ. Một phím tắt cũng có thể được thiết lập ở một nơi khác trong môi trường máy tính để bàn hoặc hệ thống Window của bạn.
Một thử nghiệm tốt trên Linux nếu bạn đang sử dụng trình giả lập thiết bị đầu cuối là chuyển sang bảng điều khiển Linux ( Ctrl- Alt- F1), đăng nhập vào đó và xem nếu hành vi tương tự xảy ra. Nếu không thì điều này cho thấy vấn đề nằm ở hệ thống Window hoặc trình giả lập thiết bị đầu cuối của bạn.
Nó có thể là một vấn đề với độ trễ giữa dữ liệu được đọc từ pty
thiết bị theo đề xuất của peterph . Nhưng nếu đây là trường hợp và bạn thực sự phải chờ đợi phút để dữ liệu được hiển thị, sau đó chắc chắn là giả lập thiết bị đầu cuối là đệm cách quá nhiều dữ liệu (hoặc máy tính của bạn là rất chậm). Câu trả lời sẽ là tìm cách giảm kích thước bộ đệm trong cài đặt trình giả lập thiết bị đầu cuối của bạn hoặc sử dụng một bộ khác.
Mẹo thêm
Một cái gì đó khác đáng để thêm vào; Tôi thường kết thúc trong cat
tình huống chạy trốn khi vô tình cat
một tệp nhị phân. Tác động khác của việc này có thể là làm hỏng các cài đặt thiết bị đầu cuối của bạn (nếu dữ liệu nhị phân xảy ra khớp với các mã thoát thiết bị đầu cuối khác nhau mà nó thường làm). Nếu tput
được cài đặt (thường là theo mặc định), bạn có thể tránh phải khởi động lại bằng lệnh sau:
tput reset