Saya menjalankan perintah berikut melalui ssh di lingkungan pengujian, sebagai root:
ssh <remote_srv> "apt-get autoremove"
Dalam sshd_config saya, saya memiliki "PermitRootLogin tanpa-kata sandi" dan saya telah menambahkan id_rsa.pub root ke file otor_keys di server jauh.
Meskipun demikian saya mendapatkan kesalahan berikut:
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
Saya telah melihat ini di halaman manual ssh, tetapi tidak bisa membungkus pikiran saya di sekitar penjelasan tentang istilah-istilah palsu dan ttys.
Adakah yang bisa menjelaskan kesalahan di atas? Saya kira itu pilihan yang hilang, tetapi yang mana?
Kedua platform adalah Ubuntu 14.04 LTS.
Solusi Alex benar-benar menekan kesalahan, dan ia hampir benar penyebabnya, tetapi itu tidak memungkinkan Anda untuk menjawab pertanyaan apa pun (yang baik-baik saja ketika Anda telah memperkirakan jawaban dan menjalankan dari skrip, tetapi sangat menjengkelkan ketika Anda mencoba paket baru ). Masalah inti adalah interaksi antara asumsi yang dibuat oleh berbagai front ssh dan debconf.
Mari kita mulai dengan ssh. ssh mengasumsikan bahwa ketika Anda tidak menentukan perintah jarak jauh Anda ingin pty pada ujung jarak jauh dan bahwa Anda menentukan jarak jauh Anda tidak (yang bekerja dengan sangat baik 90% dari waktu, hanya saja tidak satu ini). Ini dapat ditimpa oleh
-t
opsi yang memaksa pty atau-T
opsi yang tidak memaksa pty (atau opsi file konfigurasi yang sesuai). Lebih lanjut ketika menggunakan ptyTERM
variabel lingkungan disalin (pengecualian mungkin berlaku memeriksa dokumentasi untuk rincian lengkap dan formulir entri undian resmi). Juga perhatikan bahwa-x
opsi menonaktifkan penerusan X11 dan-X
mengaktifkannya.Debconf sendiri tidak memiliki persyaratan interaktivitas (sesuai desain), tetapi berbagai frontend melakukannya, dan masing-masing memiliki persyaratan yang berbeda.
Saya percaya bahwa tampilan terbaik adalah gnome (ada juga ujung depan ked yang saya tidak dapat bekerja). Frontend gnome (dan juga kde) memerlukan pustaka non-default dan server X11, oleh karena itu baris perintah untuk memaksa frontend gnome (setelah pustaka yang sesuai diinstal) akan menjadi
atau jika Anda lebih suka KDE
Frontend dialog (default) memerlukan pty dan terminal dengan tingkat fungsionalitas minimum yang ditentukan dalam variabel TERM (dalam praktiknya ini adalah apa saja dengan deskripsi terminfo lengkap kecuali bodoh).
atau
frontend readline memiliki persyaratan yang kurang ketat dan akan bekerja dengan terminal bodoh, tetapi akan membutuhkan pty.
Frontend editor tergantung pada editor yang akan memiliki persyaratan khusus tergantung pada editor.
Frontend noninteraktif tidak memiliki persyaratan tetapi tidak mengajukan pertanyaan (yang mungkin atau mungkin tidak seperti yang Anda inginkan).
sumber
ssh -t
untuk detail lebih lanjut dan opsi lain lihat halaman manual ssh. Baca kembali paragraf kedua dari jawaban ini.