2012-11-29 11 views
10

Bir OpenSSH sunucusunu çalıştırmak için Ubuntu Linux'u kuruyorum. DSL yönlendiricim SSH bağlantısını ileten bağlantı noktasıdır. Ben OpenSSH istemcisi X bağlantılarını iletirken çıkış oturumunu kapatıyor

ssh -X myhost 

kullanmak ve sonra bazı GUI programını açtığınızda, daha sonra GUI uygulaması ve çıkış, ardından SSH oturum kapatma kilitleniyor kapatın. <Ctrl>-c işe yarıyor gibi görünüyor, ancak her seferinde bastırmak zorunda kalması rahatsız edici. GUI açmazsam çıkış kapatılmaz.

Bu sorunun nasıl giderileceği konusunda fikir sahibi olan var mı?

+0

Do 'ssh VX myhost' giriş/logout sırasında bazı bilgi almak için. Hth. –

+0

DBus başlatılıyor mu? Bu benim için soruna neden oldu. Bilinmeyen nedenlerden dolayı, oturumu kapatmaya çalıştığımda sona ermezdi. –

cevap

12

Bunun nedeni, başlattığınız işlemin bir akış (stdout/stderr) açması ve kapatmamasıdır. Daha ayrıntılı bir açıklama ve olası çözümler için here'a bakın.

+1

Oldukça muhtemelen bu ancak stderr/stdout olmayabilir, esasen bağlantınızda başvurulan aynı mekanizma olmakla OP beri iletilen X bağlantısı, 'ssh -X' kullanıyor. Eğer ssh tünelinde hala bir açık * varsa, ssh açık kalacaktır. Bir sisteme giriş yapıp uygulamanın kendisi yaptığında mutlaka gitme arka uç cinleri/hizmet, bazı başlatıldığında çeşit Gnome/KDE aracı/app başlatırken ben ... o içine – twalberg

+0

Teşekkür çalıştırdığınız açıklama ve bağlantı için. Hiçbir hızlı çözüm yoktur çünkü Muhtemelen bu cevabını duymak istemiyordu ama en azından :) Aslında – admiles

+0

@admiles neler biliyoruz kolay bir yolu yoktur. Cevabımı aşağıya bakın. – Sigi

5

Bunun eski bir soru olduğunu biliyorum ama aynı problemi yaşadım ve biraz kazma yaptıktan sonra faydalı bir çözüm buldum. Şimdi ~. ile SSH bağlantılarını kapatıyorum "bağlantıyı sonlandır (ve herhangi bir çoğaltılmış oturum)" ve bu benim için çalışıyor. Çıkış karakterinin yeni bir satırda yazılması gerekiyor ve benim durumumda çıkış karakteri ekranda görüntülenmiyor (çıkış karakterinden kaçıyordum, yani ~~). FYI, SSH oturumunuzdan iletilen bağlantıları ~# ile görüntüleyebilirsiniz.

SSH oturumunuzda çıkış sıralarının tam listesi için ~? yazın.

Desteklenen kaçış dizileri:

  • ~. - bağlantıyı sonlandırmak (ve herhangi birden fazla mesaj oturum)
  • ~B - uzaktaki bir sisteme BREAK göndermek
  • ~C - bir komut satırı
  • ~R açmak - Yeniden pazarlama isteği (yalnızca SSH protokolü 2)
  • ~^Z - susturmak ssh
  • ~# - Liste iletilen bağlantıların
  • ~& - arkaplan ssh (bağlantıları sonlandırmak için bekleyen)
  • ~? - Bu mesajı
  • ~~ -

(Not iki kez yazarak kaçış karakteri göndermek Bu kaçışlar yalnızca yeni satırdan hemen sonra tanınır.)

+0

Bu tesis, hiç kullanmadığım OpenSSH istemcisinin herhangi bir sürümünde varsayılan olarak etkindir. –

+0

Sadece bunu tavsiye ettim. Bu benim de ön tanımlıdır, kaçış karakterinin üzerinde kafa karışıklığımın görüntülenmemesi, yapılandırma dosyasıyla ilgili olduğunu düşündüm. Yapılandırma dosyası varsayılanları değiştirmenin bir yoludur. Cevap için teşekkürler. –

+0

Bunu nasıl yapacağınız hakkında daha fazla bilgi verir misiniz? Stdin uzak kabuklara yönlendirildi, değil mi? –

1

SSH'yi arkasından otomatik olarak arka plana gönderebilirsiniz. Hala, şifre isteyecek sonra uygulamayı çalıştırmak ve hemen arka plana SSH koyacağız

ssh -X -f remote.host.name 'name_of_gui_application' 

Bu: Uzaktan GUI uygulamanın başlatılması.

Ayrıca STDIN'i /dev/null'dan yeniden yönlendirecektir, böylece uygulamayı kapattıktan sonra oturumunuz "askıda" olmayacaktır (bildiğiniz gibi, arka planda çalıştığı için değil).

İşte SSH elle sayfası bu konuda söylemek de böyledir: Uzak sitede X11 programları başlatmak için

önerilen yolu ssh -f host xterm gibi bir şeyle olduğunu.

+1

Bu sorunu çözmezse, bu sadece onu gizler - yedek bir süreç ve SSH bağlantısı (önyükleme için, ve bu konuda ketum olmak üzere) ortalıkta yararlı hiçbir şey yapmadan bırakır. –

+0

'ssh bile hiçbir X yönlendirme ile yapmak ne xterm' ev sahipliği -f geliyor? Bunun SSH el kitabında olduğuna şaşırdım. Daniel haklı, bu sadece sorunu gizliyor. –

İlgili konular