Putty'deki Ctrl-S (XOFF) tuş vuruşunu devre dışı bırakabilir misiniz?


41

Çok fazla sshing yapıyorum ve periyodik olarak, doğal olarak bir mesaj gönderen ve her türlü soruna neden olan Ctrl+ ' a çarptım. kurtarmak için + tuşuna basın .SXOFFCtrlQ

Putty'ye asla yazmama asla izin vermemesini söylerdim XOFF.

Herhangi bir fikir?


6
Ctrl + Q ile kurtarmanın mümkün olduğunu belirtmek için +1. Bana çok yardım etti!
Demento

1
Aslında bu davranışı nasıl devre dışı bırakacağımı sorduğum için +1, çünkü bu tamamen antika ve amaçlarım için işe yaramaz. İnternetteki herkesin CTRL + q numarası belgelendi, ancak hiç kimse anahtarları nasıl tamamen açacağını belgelendirmedi.
Andrew,

1
ctrl+qÖnbelleğe alınmış akışı geri yükleyeceğini unutmayın . Bu, eğer basarsanız ctrl+sve sonra çıldırırsanız ctrl+cveya başka bir şey ctrl+qyaparsanız, daha önce bastığınız her şeyi bastığınızda oynatılır.
gcb

Bir etkisi nedir XOFF?
Snowcrash

Yanıtlar:


35

Macunu bilmiyorum, ama kullanabilirsiniz:

stty -ixon

START / STOP sinyallerini devre dışı bırakmak için uzak ana bilgisayarda.


Teşekkürler - bu konsolu nasıl etkiliyorsa veya etkiledi mi? Kabuk programlarının davranışını değiştirir mi? (XON / XOFF hakkında bildiğim tek şey seri akış kontrolü için kullanılmasıdır). .Bash_profile için iyi bir ayar gibi geliyor.
Seth

Olmalı stty -ixon.
sıralar.

Üzgünüm. Yazım hatası düzeltmek için gönderim güncellendi.
Bartosz

1
Ben sadece yorumladığı gibi BlakBat üzerinde yaptığı cevabını markaları olduğunu, ^Sbir göndermez XOFF, ama şimdi beni koyar i-searchmodu. Herhangi birini atmak için bash (veya PuTTY) alabileceğim bir yol var mı ^S? Daha da iyisi eğer bana bip sesi çıkarsa ve / veya yanıp
sönerse

1
stty -ixonProfil komut dosyalarıma ekledim . Yanlışlıkla CTRL + s tuşlarına bastığınızda, devam etmek için tek yapmanız gereken CTRL + q tuşlarına basmakla ilgili 100 yazı okudum ... ancak kabuğumun CTRL + s / q tuşlarına dokunmasını istemiyorum. Onları oldukça fazla vim ile kullanıyorum. Cevap verdiğiniz için çok teşekkür ederim, başka hiç kimsenin göz önünde bulundurmadığı bile görünüyor.
Andrew,

29

PuTTY çözümü:

  1. oturumu oluşturmadan önce listedeki Bağlantı-> SSH-> TTY'ye gidin.
  2. "Mod" açılır kutusunda, IXON'u seçin (nb: 0.60 sürümünden itibaren, bu liste alfabetik olarak sıralanmamıştır)
  3. "0" ( sıfır ) değerini IXON değeri olarak koy .

Ekran görüntüsü

Üstünde bir "GNU ekranı", başka bir ana bilgisayara SSH veya başka bir kullanıcıya "su" açsanız bile cazibe işlevi görür

GNU Bash kullanıyorsanız, ctrl-S şimdi ileri arama geçmişi yapmanıza izin vermelidir (aka: i-search)

Farkı "stty -a | grep -o" .ixon "çıktısında görebilirsiniz : Macun ile " ixon " olmadan " -ixon " yazdırabilir


2
Tamam, bu ^Sbir gönderme yapmaz XOFFama şimdi beni i-searchmoda sokar . PuTTY'yi (veya bash'ı) herhangi birini atmak için alabileceğim bir yol var mı ^S? Daha da iyisi, eğer bana bip sesi ve / veya yanıp sönebilirse; o)
Owen Blacker

Bir eylemi devre dışı bırakmak için, ^ S'yi "" \ Cs "'bağını kullanarak hiçbir şeye bağlayamazsınız. Bu, eylem eşlenmemiş olduğundan PuTTY'imin yanıp sönmesini sağlar.
BlakBat

1
Macun 0.62'de yoruldum ve yukarıdaki ayar yardımcı olmuyor. XON, XOFF ve farklı değerlerle geçersiz kılmaya çalıştım ama hiçbir şey değişmedi.
Dennis C

1
Bu aynı zamanda 2., 3. (etc) istemcisi olarak openssh kullanan yuvalanmış SSH oturumları için de geçerlidir
Felipe Alvarez

1
Yazılım akış kontrolünü devre dışı bırakmanın en iyi yolu olarak bu cevabı yükseltme. Terminal davranışını kontrol etmek için, terminal emülatörü yapılandırmak için en iyi yerdir. XON / XOFF akış kontrolünün Putty'de devre dışı bırakılması, uzak bir ana bilgisayardan sahte terminal talep edildiğinde, SSH sunucularının sahte terminali tahsis ederken bu ayarı onurlandıracağı anlamına gelir. Bkz tools.ietf.org/html/rfc4254#section-6.2
Anthony G - adalet Monica için

5
.bashrc örneği:
#
# Putty'nin Ctrl-S / Ctrl-Q ile XOFF / XON yapmasını engelleyin
# KAYNAK: http://raamdev.com/recovering-from-ctrls-in-putty (Morgy, 7/14/08)
#
# stty ixany
# stty ixoff -ixon
### Bazı uygulamalar için Ctrl-S’yi dinlemeniz gerekiyorsa, bu ikisini kullanın:
stty dur undef
stty başlangıç ​​undef

5

Ters problemim var. Arada bir, toplantı sahibi PuTTY'ye bir mesaj XOFFgönderir ancak karşılık XONgelenleri hiçbir zaman PuTTY'ye göndermez . Bu durumda, PuTTY’e yaptığınız hiçbir şey (yeniden başlatmanın kısa olması) istemeyecektir. Bu durumda, ana bilgisayara klavye girişi engellenir, ancak ana bilgisayar yine de PuTTY'ye veri gönderebilir.

PuTTY'de akış kontrolünü devre dışı bırakmak işe yaramaz.

Bu sorunu çözmenin yolu kullanmaktır

stty -ixoff

profilinde. Bu göndermesini ev sahibi yasaklar XON/ XOFF. Seçeneklerin adlarının tamamen kafa karıştırıcı olduğunu unutmayın. ixon/ -ixonistemci tarafında akış kontrolünü etkinleştirme / devre dışı bırakma anlamına gelir (müşterinin akış kontrolünü yapamayacağı anlamına gelir ), ixoff/ -ixoffana bilgisayar tarafında etkinleştirme / devre dışı bırakma anlamına gelir (ana bilgisayar akış kontrolünü yapamayacağı anlamına gelir).

Btw, Ctrl- Sve XOFF için ASCII kodu aynı ASCII karakteridir (kod 19, 0x13). Fark yok. Ayarlar, ASCII karakterinin yorumunu değiştirir.


Oh adamım, her yerde ixon ve ixoff için bir açıklama aradım. XON / XOFF'u istemciden ana bilgisayara göndermek çok mantıklı. Ancak, hala kafam karıştı, ev sahibi hangi durumlarda XON / XOFF müşteri akış kontrolüne gönderir? "Giriş sırası neredeyse boş / dolu olduğunda" görüyorum? Bu, yavaş yazıcılara bağlanmamak gibi modern bilgisayarlarda mı oluyor? Fakat bu pratikte ne anlama geliyor? Terminal UI'ye ne olur?
CMCDragonkai,

Akış kontrolü her iki yönde de çalışır. Modern bir bilgisayar her zaman milyonlarca başka şey yapıyor ve kritik faaliyetlerde bulunmayı "kilitleyebiliyor". Bu süre zarfında, seri bağlantı noktasına servis yapamaz ve terminal kapanmadan seri bağlantı noktası taşar. Böylece ana bilgisayar, XOFF'ı göndermeyi durdurmak için terminale gönderir. Basınç kapatıldıktan sonra, ana bilgisayar XON gönderir. (btw, bilgisayar seri portlarında genellikle küçük bir donanım tamponu vardır, 16 byte der.) Bu eski teknoloji olmasına rağmen, gerçek zamanlı olarak tasarlanmayan herhangi bir şey zaman zaman "askıda kalır", böylece akış kontrolü gerekli olur.
Mark Lakata

BTW, 20 MHz'lik küçük bir mikrokontrolörün 3 GHz'lik bir ana bilgisayardan taşabileceği durumları buldum, ancak bunun tersi mümkün değil. Bunun nedeni, mikrodenetleyicinin yalnızca bir şeyi yapması ve ana bilgisayar değilken gerçek zamanlı olarak tasarlanmasıdır.
Mark Lakata

4

.bash_profileve koy:

stty -ixon

Bu değer -xionbenim için çalışmıyor. Sen adam girişini görebilirsiniz: man stty.


Stty -xion için +1, benim centosumda çalışmıyor, ancak stty -ixon çalışıyor.
Jichao,

0

Geçerli komutu devre dışı bırakmak için bu komutu terminalde çalıştırın / kalıcı olarak devre dışı bırakmak için .bashrc'ye ekleyin.

stty -ixon

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.