ตรวจพบตัวเลือก“ tty” ในตัวแปรสภาพแวดล้อม CYGWIN


12

ฉันเพิ่งติดตั้ง cygwin ใหม่บนเครื่อง windows 7 ของฉันและเพิ่มไดเรกทอรี cygwin ในเส้นทางของฉันเพื่อให้ทำงานได้อย่างราบรื่นด้วยบรรทัดคำสั่งของ windows ทุกครั้งที่ฉันรันคำสั่งฉันจะได้รับสิ่งต่อไปนี้เหนือผลลัพธ์จริง:

"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.

ฉันจะกำจัดสิ่งนี้เพื่อให้ฉันสามารถใช้ cygwin ในบรรทัดคำสั่งของฉันโดยไม่มีส่วนหัวที่น่ารำคาญได้อย่างไร


คุณพยายามทำตามคำแนะนำในคำเตือนหรือไม่?
ak2

ฉันจะ "ลบออกจากตัวแปรสภาพแวดล้อม CYGWIN ของฉัน" ได้อย่างไร ฉันจะไม่ใช้อีมูเลเตอร์เพราะฉันชอบความไร้รอยต่อของการใช้คำสั่ง cygwin ในบรรทัดคำสั่งของ windows
ewok

1
คุณต้องตั้งค่าตัวแปรสภาพแวดล้อม CYGWIN ไว้ที่ใดที่หนึ่งเช่นในสคริปต์ที่คุณใช้เพื่อเริ่มต้นพรอมต์คำสั่งหรือในสภาพแวดล้อม Windows ทั่วโลก คุณสามารถค้นหาหลังในแผงควบคุมภายใต้ระบบ -> ขั้นสูง -> ตัวแปรสภาพแวดล้อม (อย่างน้อยนั่นก็คือที่ที่พวกเขาอยู่ใน XP พวกเขาอาจจะย้ายไปอยู่ใน 7)
ak2

พบมัน มันอยู่ในตัวแปรสภาพแวดล้อม โพสต์เป็นคำตอบเพื่อให้ฉันสามารถรับ
ewok

คำตอบ:


18

ฉันมีปัญหาเดียวกัน แต่ไม่มีการตั้งค่าสำหรับCYGWINตัวแปรสภาพแวดล้อมในสคริปต์หรือคุณสมบัติของคอมพิวเตอร์ (แผงควบคุม)

ฉันพบว่าsshdบริการมีการตั้งค่าสำหรับCYGWINตัวแปรสภาพแวดล้อมในรีจิสทรีของ Windows ภายใต้คีย์ต่อไปนี้:

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

โดยการลบttyตัวเลือกใน@CYGWINสตริงคำเตือนการคัดค้านจะไม่ปรากฏอีกต่อไปเมื่อดำเนินการคำสั่ง


ใช่มันใช้งานได้สำหรับฉันและคำตอบของ ak2'a ก็ไม่ได้ คุณพบปัญหานี้ได้อย่างไร
barlop

ขอบคุณมันใช้งานได้สำหรับฉันเช่นกัน! ฉันไม่เคยค้นพบมันฉันคิดว่า ... ขอบคุณ!
MarcoS

1
ของฉันsshdส่วนไม่ได้มีนี้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentแต่ฉันไม่พบในเหมือง ค้นหารีจิสตรีเพื่อttyรับผลบวกปลอมมากมาย การค้นหาbinmodeมีประสิทธิภาพมากขึ้น
Royce Williams

คุณลบตัวเลือก tty ออกจาก @CYGWIN อย่างไร
ingh.am

3

คุณต้องตั้งค่าตัวแปรสภาพแวดล้อม CYGWIN ไว้ที่ใดที่หนึ่งเช่นในสคริปต์ที่คุณใช้เพื่อเริ่มต้นพรอมต์คำสั่งหรือในสภาพแวดล้อม Windows ทั่วโลก คุณสามารถค้นหาหลังในแผงควบคุมภายใต้ระบบ -> ขั้นสูง -> ตัวแปรสภาพแวดล้อม (อย่างน้อยนั่นคือสิ่งที่พวกเขาอยู่ใน XP พวกเขาอาจย้ายไปอยู่ใน 7)


CYGWINตัวแปรsshdไม่ได้ตั้งอยู่ที่นั่น
reinierpost

1

+1 สำหรับ VirtualStaticVoid

คุณสามารถดูการตั้งค่าได้ที่นี่:

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

แต่อ่านได้เท่านั้น นี่คือวิธีแก้ไขด้วยการเข้าถึง ssh เท่านั้น:

สร้าง 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

นำเข้าสู่รีจิสทรี:

$ regedit.exe -s sshd-env.reg

ยืนยันว่าใช้เวลา:

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

รีสตาร์ท sshd

ดูเหมือนว่า cygrunsrv ไม่มีตัวเลือก - เริ่มต้นใหม่ ความอัปยศ. หากไม่มีการติดตั้ง crontab ซึ่งไม่ใช่ค่าเริ่มต้นอาจเป็นการง่ายที่สุดในการรีบูตเครื่อง มันเป็นหน้าต่างหลังจากทั้งหมด

$ shutdown -r -t 0

คำตอบที่ยอดเยี่ยมสามารถทำได้ทั้งหมดโดยใช้บรรทัดคำสั่ง
Ludovic Kuty
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.