“Klavye yapılandırması” paketinin kurulumu nasıl otomatikleştirilir?


15

Ubuntu 16.04 sunucusunu debootstrap (bir Ubuntu 16.04 sunucu makinesinde) kullanarak bir chroot hapishanesine yüklemek için bir komut dosyası yazıyorum.

keyboard-configurationPaketin kurulumu sırasında klavye türünü sorar:

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: 

Bunu otomatikleştirmek istiyorum, böylece sormuyor ve sadece yüklemeye devam ediyor.

Bunu nasıl yapabilirim?


Yanıtlar:


15

Gönderen benzer bir StackOverflow soru:

ENV değişkeni DEBIAN_FRONTEND=noninteractivesiz çalıştırırken ayarlanırsa apt-get install keyboard-configuration, herhangi bir etkileşim istemez. Böylece şunları yapabilirsiniz:

DEBIAN_FRONTEND=noninteractive apt-get install keyboard-configuration

2

Kullanabilirsin xdotool. Senaryoyu başlatırken koy & sleep <however long it takes to get to that point> && xdotool type <number you want to put> && xdotool key Return.

Bunu test etmedim, ama işe yarayacak.

Cevap 2:

Komutu çalıştırın, ancak çıktı bir dosyaya ( > testfile) yönlendirildi .

Başka bir terminal açın ve çalıştırın

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  

Ardından, ilk terminali tıklayın.

Cevap 3:

Tek yapmanız gereken, istediğiniz numarayı bir dosyaya koymak testfileve komutu < testfileekli olarak çalıştırmaktır .


Teşekkürler, ilginç bir fikir, ancak kullanılan uykunun uzunluğuna bağlı olarak, çok fazla zaman harcayacak veya yükleme beklenenden daha uzun sürdüğünde zaman zaman donacaktır.
fadedbee

Xdotool'un adam sayfasını okumak - X pencereleri gibi görünüyor. Bunu bir Ubuntu sunucu ortamında deniyorum. Sorumu güncelleyeceğim.
fadedbee

2

Bu otomatikleştirmek kolaydır, bu paket için uygun debconf yapılandırmasını ayarlamanız yeterlidir.

İlk kurulum debconf-utils:

sudo apt install debconf-utils

Paketi önceden yapılandırdıysanız, şu şekilde debconf yapılandırmasını okuyabilirsiniz:

debconf-get-selections | grep keyboard-configuration

Paketi yapılandırmadıysanız veya seçimlerinizi değiştirmek istiyorsanız, bunu aşağıdakilerle yapabilirsiniz:

dpkg-reconfigure keyboard-configuration

Seçimlerinizi bir dosyaya aktarın

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

selections.confHedef makineye kopyalayın ve seçimleri ayarlayın:

debconf-set-selections < selections.conf

Paketi yüklediğinizde veya yeniden yapılandırdığınızda, seçenekleriniz artık otomatik olarak seçilecektir.

dpkg-reconfigure keyboard-configuration -f noninteractive

1

"debootstrap gerçekten sadece bir kabuk betiğidir" - https://wiki.debian.org/Debootstrap

Bu, bilgiyi bir ortam değişkeni üzerinden iletmenin, deboostrap çağırırken bir argüman sağlamanın veya belirli uygulamanız için kendi değiştirilmiş sürümünüzü oluşturmanın yolları olup olmadığını görmek için komut dosyasını okuyabileceğiniz anlamına gelir.


Bu paket, apt-get install ....ilk açılma işleminden sonra bir çalışmanın parçası olarak kuruluyor.
fadedbee

Yani, apt-get install deboostrapkurulum paradigmanızın ardından çevresel değişkenlerin değiştirilmesine veya özelleştirilmiş bir komut dosyasının çalıştırılmasına izin vermediğini mi söylüyorsunuz ? Tamam.
BenjaminBrink

Belki bu yardımcı olur. Bu bağlantı, bir Ubuntu yüklemesinde ön yanıt istemlerine "önceden hazırlanmış" bir dosyanın nasıl kurulacağına ilişkin bir örneği gösterir: askubuntu.com/questions/122505/…
BenjaminBrink
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.