Alex'in çözümü hataları bastırıyor ve neredeyse sebebini doğruladı, ancak herhangi bir soruyu cevaplamanıza izin vermiyor (cevapları önceden belirlediğinizde ve bir komut dosyasından çalıştırırken sorun değil, ancak yeni paketler çalışırken can sıkıcıdır) ). Asıl mesele, ssh ve debconf'un çeşitli öncüllerinin yaptığı varsayımlar arasındaki etkileşimdir.
Ssh ile başlayalım. ssh, bir uzak komut belirtmediğinizde, uzak uçta küçük bir miktar istediğinizi ve bir uzak belirlemediğiniz (varsayımların% 90'ında iyi bir sonuç verdiğinizi) belirttiğinizi varsayar. Bu, -t
bir pty'yi zorlayan seçenek veya -T
hiçbir pty'yi zorlamayan seçenek (veya karşılık gelen config dosyası seçenekleri) tarafından geçersiz kılınabilir . Ayrıca bir pty kullanıldığında, TERM
ortam değişkeni kopyalanır (istisnalar, tamamlanmış detaylar ve resmi çekilişler giriş formu için kontrol belgelerini uygulayabilir). Ayrıca, -x
seçeneğin X11 iletmeyi devre dışı bıraktığını ve -X
etkinleştirdiğini unutmayın .
Debconf'un kendisi (tasarım yoluyla) etkileşim gereksinimlerine sahip değildir, ancak çeşitli ön uçlar bunu yapar ve her birinin farklı gereksinimleri vardır.
En iyi görünen önyüzün cüce olduğuna inanıyorum (çalışmadığım bir ked ön tarafı da var). Gnome frontend (ve kde one da) bazı varsayılan olmayan kütüphaneler ve bir X11 sunucusu gerektirir, bu nedenle gnome frontend'i zorlamak için komut satırı (uygun kütüphaneler kurulduktan sonra) olacaktır.
ssh -X <remote_srv> "DEBIAN_FRONTEND=gnome apt-get autoremove"
veya kde'yi tercih ederseniz
ssh -X <remote_srv> "DEBIAN_FRONTEND=kde apt-get autoremove"
Diyalog ön ucu (varsayılan) TERM değişkeninde belirtilen minimum işlevsellik seviyesine sahip bir pty ve bir terminal gerektirir (pratikte bu, aptal dışında tam bir terim tanımına sahip herhangi bir şeydir).
ssh -t <remote_srv> "TERM=$TERM DEBIAN_FRONTEND=dialog apt-get autoremove"
veya
ssh -t <remote_srv> "apt-get autoremove"
readline frontend'in daha az katı gereksinimleri vardır ve dilsiz terminallerle çalışacaktır, ancak bir miktar lazım.
ssh -t <remote_srv> "DEBIAN_FRONTEND=readline apt-get autoremove"
Editör ön ucu, editöre bağlı olarak özel gereksinimleri olan bir editöre bağlıdır.
ssh -t <remote_srv> "DEBIAN_FRONTEND=editor EDITOR=vi apt-get autoremove"
ssh -X <remote_srv> "DEBIAN_FRONTEND=editor EDITOR=gvim\ -f apt-get autoremove"
Etkileyici olmayan ön uçta herhangi bir gereksinim yoktur, ancak herhangi bir soru sormaz (istediğinizi olabilir veya olmayabilir).
ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"