Zaman zaman X11 pencere yöneticim (i3) kilitleniyor ve kontrolü yeniden kazanmak için Linux sanal konsoluna veya SSH'yi makineme dönüştürmek zorunda kalıyorum.
Genellikle bu, birçok gün veya hafta boyunca toplanan yüzlerce satırlık komut satırı geçmişinin olmasa da onlarca içeren bir bash kabuğu çalıştıran çok sayıda rxvt pencerem açık olduğunda olur.
Ben kullanıyorum shopt -s histappend
o düzenli bir şekilde sonlandırıldığında böylece her Bash kabuk geçmiş dosyasına tarihini ekler. Normalde bu çok iyi çalışır ve her kabuğu temiz bir şekilde exit
veya CTRL-D ile kapatmam şartıyla tüm tarihimi koruyacaktır .
Ancak pencere yöneticim kilitlendiğinde, bash oturumlarımdan temiz bir şekilde çıkamıyorum çünkü onlarla etkileşime girmenin yolu yok. Bu yüzden _remotely_ bir bash kabuğunu, geçmişini tarih dosyasına yazmasına neden olacak şekilde sonlandırmanın bir yolunu bulmaya çalışıyorum.
SIGHUP
Hem bash shell işlemine hem de rxvt işlemine de dahil olmak üzere çok sayıda sinyal göndermeyi denedim , ancak hiçbiri tarihin kurtarılmasına neden olmadı.
İ3'ü yeniden başlatmaya çalıştım, ancak çeşitli nedenlerden dolayı bu çalışmıyor (bozuk RPC soketi görünüyor). Pencere yöneticisini öldürmek tüm pencereleri ve bash mermilerini kapatıyor ve ben hepsinden geçmişi kaybediyorum.
Her bir kabuğa "CTRL-D" enjekte etmenin bir yolunu bulmaya çalıştım stdin
, ancak söyleyebildiğim kadarıyla mümkün değil.
Bash’ın her komuttan sonra geçmişi dosyaya kaydetmesini sağlamanın yollarını biliyorum, ancak bunları tarih indekslerini karıştırdıkları için kullanmamayı tercih ediyorum (yani her komuttan sonra değiştiği için !nnn
çalışmıyor nnn
).
Bunu yapmanın ve kıymetli tarihimi belirli bir kayıtsızlıktan kurtarmanın bir yolu var mı?
reptyr
tam ihtiyacım olan şey. Herscreen
zaman kullanırdım ama kopyala / yapıştır ve kaydırma davranışını show-stoper olarak buldum -tmux
bu cephede daha iyi bir iş yapıyor mu?