Tùy chọn được phát hiện trong các biến môi trường CYGWIN


12

Gần đây tôi đã cài đặt lại cygwin trên máy tính windows 7 của mình và thêm thư mục cygwin vào đường dẫn của tôi để nó hoạt động trơn tru với dòng lệnh windows. Mỗi lần tôi thực thi một lệnh, tôi sẽ nhận được các giá trị trên như trên:

"tty" option detected in CYGWIN environment variable.
CYGWIN=tty is no longer supported.  Please remove it from your
CYGWIN environment variable and use a terminal emulator like mintty,
xterm, or rxvt.

Làm thế nào tôi có thể thoát khỏi điều này để tôi có thể sử dụng cygwin trong dòng lệnh của mình mà không cần tiêu đề gây phiền nhiễu?


Bạn đã cố gắng làm theo lời khuyên trong cảnh báo?
ak2

Làm cách nào để "xóa nó khỏi biến môi trường CYGWIN" của tôi? Tôi thà không sử dụng một trình giả lập, vì tôi thích sự liền mạch của việc sử dụng các lệnh cygwin trong dòng lệnh windows.
ewok

1
Bạn phải đặt biến môi trường CYGWIN ở đâu đó, ví dụ: trong tập lệnh bạn đang sử dụng để bắt đầu dấu nhắc lệnh hoặc trong môi trường Windows toàn cầu. Bạn có thể tìm thấy cái sau trong Bảng điều khiển, trong Hệ thống-> Nâng cao-> Biến môi trường. (Ít nhất đó là nơi họ ở trong XP; họ có thể đã di chuyển trong 7.)
ak2

Tìm thấy rồi. Đó là trong các biến môi trường. đăng dưới dạng câu trả lời để tôi có thể chấp nhận
ewok

Câu trả lời:


18

Tôi có cùng một vấn đề, nhưng không có cài đặt nào cho CYGWINbiến môi trường trong bất kỳ tập lệnh hoặc thuộc tính máy tính nào (Bảng điều khiển).

Sau đó tôi phát hiện ra rằng sshddịch vụ có cài đặt cho CYGWINbiến môi trường trong sổ đăng ký Windows theo khóa sau:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\sshd\Parameters\Environment

Bằng cách loại bỏ ttytùy chọn trong @CYGWINchuỗi, cảnh báo không dùng nữa sẽ không còn xuất hiện khi thực hiện lệnh.


Vâng, điều này làm việc cho tôi, và câu trả lời ak2'a đã không. Làm thế nào bạn chạy vào đó?
barlop

Cảm ơn, nó cũng làm việc cho tôi! Tôi sẽ không bao giờ phát hiện ra nó, tôi cho rằng ... Cảm ơn!
MarcoS

1
sshdPhần của tôi không có điều này, nhưng tôi đã tìm thấy của tôi trong HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Tìm kiếm đăng ký để ttynhận được rất nhiều tích cực sai; tìm kiếm binmodelà hiệu quả hơn nhiều.
Royce Williams

Làm thế nào bạn loại bỏ tùy chọn tty khỏi @CYGWIN?
ingh.am

3

Bạn phải đặt biến môi trường CYGWIN ở đâu đó, ví dụ: trong tập lệnh bạn đang sử dụng để bắt đầu dấu nhắc lệnh hoặc trong môi trường Windows toàn cầu. Bạn có thể tìm thấy cái sau trong Bảng điều khiển, trong Hệ thống-> Nâng cao-> Biến môi trường. (Ít nhất đó là nơi họ ở trong XP; họ có thể đã chuyển đến 7.)


Các CYGWINbiến cho sshdkhông được thiết lập ở đó.
Revierpost

1

+1 cho VirtualStaticVoid

Bạn có thể xem các thiết lập ở đây:

$ cat /proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/sshd/Parameters/Environment/CYGWIN
tty ntsec

Nhưng nó chỉ được đọc. Đây là cách khắc phục chỉ với truy cập ssh:

Tạo sshd-env.reg

$ cat <<EOF >sshd-env.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sshd\Parameters\Environment]
"CYGWIN"="ntsec"
EOF

Nhập nó vào sổ đăng ký:

$ regedit.exe -s sshd-env.reg

Xác nhận nó đã mất:

$ cat /proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/sshd/Parameters/Environment/CYGWIN
ntsec

Bằng cách nào đó khởi động lại sshd.

Có vẻ như cygrunsrv không có tùy chọn - bắt đầu. Xấu hổ. Nếu không cài đặt crontab, theo mặc định, nó có thể dễ dàng nhất để khởi động lại máy. Đó là cửa sổ, sau tất cả.

$ shutdown -r -t 0

Câu trả lời tuyệt vời, có thể thực hiện tất cả bằng cách sử dụng dòng lệnh
Ludovic Kuty
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.