Terminal girişinde aşağı yukarı atılmadan yeni girdi oluşturulurken nasıl yukarı kaydırma yapılır (Linux)


37

Ubuntu'da terminal penceremde bir komut çalışırken yukarı kaydırmak ve yeni çıktılar üretmek istiyorum (aslında çalışan komut rspec'dir). Kaydırabilirim, ancak her seferinde rspec yeni bir konsol çıktısı satırı oluşturuyor ve bu da beni aşağıya doğru atıyor. Yukarı kaydırmanın bir yolu var mı? Linux Mint / Ubuntu 12.04 LTS'de sonlandırıcı kullanıyorum

GÜNCELLEŞTİRME

Ben olası bir geçici çözüm bulundu Terminator anasayfa ile söylüyor

stty ixon

"XON / XOFF akış kontrolü terminal çıkışı için açabilirsiniz. ^ S yazarak çıkışı duraklatabilir ve ^ Q [...]" yazarak devam ettirebilirsiniz.

Bu tamamen istediğim gibi değildi, çıktıyı duraklatmak zorunda kalmadan (ve tekrar açmayı unuturken merak ediyorum), fare tekerleği kaydırmalı shft-alt gibi basit bir değiştirici anahtar olabileceğini düşündüm. daha iyi çözümler?


LXTerminal (LXDE) hakkında gerçekten sevdiğim bir şey.
Matthew Lundberg

Shift-PgUp veya kaydırma çubuğu ile mi kaydırıyorsunuz?
ott--

@MatthewLundberg Normalde fare kaydırma tekerleği ile, yani kaydırma çubuğu. Ama aynı zamanda shift-pgup ile de çalışmıyor :( Terminatörün içinde lxterminal de alabilir miyim, biliyor musunuz?
Yo Ludke

1
xfce4-terminaladlı bir seçeneğe sahiptir çıkışına gidin size işaretini kaldırın ve aynen istediğin onu yapar ki.
Martín Canaval

1
Çözüm olarak, çıktıyı bir dosyaya gönderebilir, başka bir terminal açabilir ve tail -f file.txtoluşturulduğunu görebilirsiniz. Bu, 1 terminalinizi geri kaydırmak için serbest bırakır ve çıktıyı gerçek zamanlı olarak izlemenizi sağlar. Zarif değil biliyorum.
Terdon

Yanıtlar:


53

Biraz geç kalmama rağmen, bunu buraya gönderiyorum, böylece buraya gelen herkes bir çözüm buluyor. Benim için aynı sorunun çözümü:

Sonlandırıcı tercihleri ​​-> Profiller Sekmesi -> Kaydırma [alt] sekme -> 'Çıktıda kaydır' seçeneğinin işaretini kaldırın.

Bu seçenek hakkında iyi bir şey, çıktının en altında olduğunuzda hala çıktının üzerinde kalacağıdır, ancak yukarı kaydırır çıkmaz, çıktının içeriği hala üretti.

Umarım bu yardımcı olur


cool :) Bu seçeneği değiştirmek için bir kısayol oluşturmak mümkün mü?
Yo Ludke

1
Biraz aradım, ancak sonlandırıcı içinde kısayol ile değiştirmenin bir yolunu bulamadım. Ancak, seçenek "$ HOME / .config / terminator / config" adresindeki terminator config dosyasında yazıldığı için, seçeneği doğrudan config dosyasında açıp kapatan bir komuta genel bir kısayol atamak mümkün olmalıdır.
Chikitulfo

4
Yine de, config dosyasında bu değişikliğin yapılması halihazırda çalışan terminator örneklerini etkilemeyecek, ancak sadece düzenlemeden sonra başlatılan yeni terminator örneklerini etkileyecektir. Bu nedenle, çalışan bir sonlandırıcıya geçmek istiyorsanız, bunu manuel olarak yapmanız gerekir, afaik. Her durumda, seçenek false olarak değiştirilir, son satıra iner inmez çıkışta otomatik kaydırma devam eder. Yalnızca manuel olarak yukarı kaydırırsanız otomatik kaydırmayı durdurur. Bu yüzden seçeneği açıp kapatmak için gerçek bir ihtiyaç görmüyorum.
Chikitulfo

1

tail -f log.txt | lessYeni bilgilere ilerlemek için güncelleme yapacak ve daha sonra yukarı veya aşağı gidebilirsiniz. Ayrıca kullanabilirsiniz lessarama özellikleri vb. Boru yöntemi ile hareketli çıktının ayrıştırmasını da yapabilirsiniz.

Ve aynı fikir, ama boru olmadan: less +F log.txt.
(Bu, içeriğinizle bu şekilde çalışabileceğinizi varsayar.)

Eski Unix yolu, terminalinizdeki durdurmak için Ctrl-S'ye, çıkış kaydırmasını yeniden başlatmak için Ctrl-Q'ya basmaktı - temelde sonlandırıcının size izin verdiği şey budur stty ixon.
Kaydırma çubukları eklendiğinde, bu benim için oldukça iyi görünüyor - Control-S tuşlarına basın, istediğiniz herhangi bir öğeye gidin ve ardından geri dönmek için Control-Q tuşlarına basın. Evet, zaman zaman çıktıyı duraklatmayı unutursunuz.

Son derece tembel olduğum için ve çıkış yönlendirmesinin esnekliğinden hoşlandığım için kuyruk ile -f'yi (duruma uygun olduğu varsayılarak) kullanırım. Sonra onu durdurabilir, yukarı oklayabilir ve grep gibi bir şey ekleyebilirim ve hala çalışır: tail -f tac_plus.log | less | egrep 'peerip'

Biraz cats ve teeoraya at ve gerçek bir parti ver.


Bunu rspec'in özellikleri için kullanmak istedim - Sorun şu: Kuyruk / daha az yaklaştıkça renkler kayboluyor (doğrudan komutu çalıştırırsam çıktı yeşil / kırmızı yerine siyah / beyazdır)
Yo Ludke

@YoLudke rspec'i veya nasıl renklendirdiğini bilmiyorum. Grep vb. Arasından renkleri geçirmenin yolları vardır, ancak bu işe yaramayabilir. Rspec işaretini kalıcı / sürekli / uzun süren bir sürece yöneltmek ve çıktınızı bundan almak gibi bir şey mi yapıyorsunuz?
belacqua,
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.