Bagaimana cara mengotomatiskan pengaturan paket "konfigurasi keyboard"?


14

Saya sedang menulis skrip untuk menginstal server Ubuntu 16.04 ke chroot jail, menggunakan debootstrap (pada mesin server Ubuntu 16.04).

Selama pengaturan keyboard-configurationpaket itu meminta jenis keyboard:

Setting up keyboard-configuration (1.108ubuntu15) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring keyboard-configuration
----------------------------------

The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.

  1. Afghani                                     48. Irish
  2. Albanian                                    49. Italian
...    
  28. English (UK)                               75. Slovak
  29. English (US)                               76. Slovenian
...
  45. Icelandic                                  92. Vietnamese
  46. Indian                                     93. Wolof
  47. Iraqi
Country of origin for the keyboard: 

Saya ingin mengotomatisasi ini, sehingga tidak meminta, dan hanya melanjutkan dengan instalasi.

Bagaimana saya bisa melakukan ini?


Jawaban:


14

Dari pertanyaan StackOverflow yang serupa :

Jika variabel ENV DEBIAN_FRONTEND=noninteractivediatur saat Anda menjalankan apt-get install keyboard-configuration, itu tidak akan meminta interaksi apa pun. Jadi, Anda cukup menjalankan:

DEBIAN_FRONTEND=noninteractive apt-get install keyboard-configuration

2

Anda bisa menggunakannya xdotool. Saat meluncurkan skrip & sleep <however long it takes to get to that point> && xdotool type <number you want to put> && xdotool key Return.

Saya belum menguji ini, tetapi harus berhasil.

Jawaban 2:

Jalankan perintah, tetapi dengan output diarahkan ke file ( > testfile).

Buka terminal lain dan jalankan

while true
do 
    if [ "$(tac testfile | grep -m 1 .)" = "Country of origin for the keyboard" ]
    then 
    xdotool type <number you want to put> && xdotool key Return && break
    fi
done  

Kemudian, klik kembali terminal pertama.

Jawaban 3:

Saya pikir semua yang perlu Anda lakukan adalah memasukkan nomor yang Anda inginkan dalam file testfile,, dan menjalankan perintah dengan < testfilemenambahkan.


Terima kasih, ide yang menarik, tetapi itu akan menghabiskan banyak waktu, atau kadang-kadang membeku ketika instalasi memakan waktu lebih lama dari yang diharapkan, tergantung pada lama tidur yang digunakan.
fadedbee

Membaca halaman manual xdotool - sepertinya itu adalah hal X windows. Saya mencoba ini di lingkungan server Ubuntu. Saya akan memperbarui pertanyaan saya.
fadedbee

2

Ini sederhana untuk diotomatisasi, Anda hanya perlu mengatur konfigurasi debconf yang tepat untuk paket ini.

Instal pertama debconf-utils:

sudo apt install debconf-utils

Jika Anda sudah mengonfigurasi paket, Anda dapat membaca konfigurasi debconf dengan:

debconf-get-selections | grep keyboard-configuration

Jika Anda belum mengonfigurasi paket atau ingin mengubah pilihan Anda, Anda dapat melakukan ini dengan:

dpkg-reconfigure keyboard-configuration

Ekspor pilihan Anda ke file

debconf-get-selections | grep keyboard-configuration > selections.conf

Salin selections.confke mesin target dan atur pilihan:

debconf-set-selections < selections.conf

Ketika Anda menginstal atau mengkonfigurasi ulang paket, pilihan Anda sekarang akan dipilih secara otomatis.

dpkg-reconfigure keyboard-configuration -f noninteractive

1

"debootstrap benar-benar hanya skrip shell" --dari https://wiki.debian.org/Debootstrap

Ini berarti Anda bisa membaca skrip untuk melihat apakah ada cara untuk meneruskan info melalui variabel lingkungan, memberikan argumen saat menjalankan deboostrap, atau membuat versi modifikasi Anda sendiri untuk aplikasi spesifik Anda.


Paket ini sedang diinstal sebagai bagian dari proses apt-get install ....setelah debootstrap awal.
fadedbee

Jadi, Anda mengatakan bahwa setelah apt-get install deboostrapparadigma instalasi Anda tidak memungkinkan untuk mengubah variabel lingkungan atau menjalankan skrip khusus? Baik.
BenjaminBrink

Mungkin ini bisa membantu. Tautan ini menunjukkan contoh cara mensetup file "preeseed" ke pre-answer prompt dalam instalasi Ubuntu: askubuntu.com/questions/122505/...
BenjaminBrink
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.