Opsi "tty" terdeteksi dalam variabel lingkungan CYGWIN

12

Saya baru-baru ini menginstal ulang cygwin di mesin windows 7 saya, dan menambahkan direktori cygwin ke jalur saya sehingga berfungsi mulus dengan baris perintah windows. Setiap kali saya menjalankan perintah, saya mendapatkan yang berikut di atas hasil aktual:

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

Bagaimana saya bisa menyingkirkan ini sehingga saya bisa menggunakan cygwin di baris perintah saya tanpa header yang mengganggu?

ewok
sumber
Sudahkah Anda mencoba mengikuti saran dalam peringatan itu?
ak2
bagaimana cara "menghapusnya dari variabel lingkungan CYGWIN saya"? Saya lebih suka tidak menggunakan emulator, karena saya suka mulusnya menggunakan perintah cygwin di baris perintah windows.
ewok
1
Anda harus mengatur variabel lingkungan CYGWIN di suatu tempat, misalnya dalam skrip yang Anda gunakan untuk memulai prompt perintah atau di lingkungan Windows global. Anda dapat menemukan yang terakhir di Control Panel, di bawah System-> Advanced-> Variabel Lingkungan. (Setidaknya di situlah mereka berada di XP; mereka mungkin telah pindah di 7.)
ak2
menemukannya. Itu dalam variabel lingkungan. posting sebagai jawaban agar saya dapat menerima
ewok

Jawaban:

18

Saya memiliki masalah yang sama, tetapi tidak ada pengaturan untuk CYGWINvariabel lingkungan di skrip apa pun atau di properti komputer (Control Panel).

Saya kemudian menemukan bahwa sshdlayanan memiliki pengaturan untuk CYGWINvariabel lingkungan di registri Windows di bawah kunci berikut:

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

Dengan menghapus ttyopsi dalam @CYGWINstring, peringatan penghentian tidak lagi muncul saat menjalankan perintah.

VirtualStaticVoid
sumber
Ya, ini bekerja untuk saya, dan ak2'a jawabannya tidak. Bagaimana Anda mengalami hal itu?
barlop
Terima kasih, itu berhasil juga untuk saya! Saya tidak akan pernah menemukannya, saya kira ... Terima kasih!
MarcoS
1
Saya sshdbagian tidak memiliki ini, tapi aku tidak menemukan tambang di HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Mencari registri untuk ttymendapatkan banyak kesalahan positif; mencari binmodejauh lebih efektif.
Royce Williams
Bagaimana Anda menghapus opsi tty dari @CYGWIN?
ingh.am
3

Anda harus mengatur variabel lingkungan CYGWIN di suatu tempat, misalnya dalam skrip yang Anda gunakan untuk memulai prompt perintah atau di lingkungan Windows global. Anda dapat menemukan yang terakhir di Control Panel, di bawah System-> Advanced-> Variabel Lingkungan. (Setidaknya di situlah mereka berada di XP; mereka mungkin sudah pindah di 7.)

ak2
sumber
The CYGWINvariabel sshdtidak diatur di sana.
reinierpost
1

+1 untuk VirtualStaticVoid

Anda dapat melihat pengaturan di sini:

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

Tapi itu hanya baca. Berikut ini cara memperbaikinya dengan hanya akses ssh:

Buat 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

Impor ke dalam registri:

$ regedit.exe -s sshd-env.reg

Verifikasi dibutuhkan:

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

Entah bagaimana restart sshd.

Tampaknya cygrunsrv tidak memiliki opsi --restart. Malu. Tanpa crontab diinstal, yang bukan secara default, mungkin paling mudah untuk me-reboot mesin. Bagaimanapun, ini adalah windows.

$ shutdown -r -t 0
Dan Garthwaite
sumber
Jawaban yang bagus, bisa melakukan semuanya menggunakan baris perintah
Ludovic Kuty