Как избежать выбора клавиатуры во время конфигурации клавиатуры? [dубликат]

У этого вопроса уже есть ответ здесь: Как автоматизировать настройку & ldquo; конфигурация клавиатуры & rdquo; пакет? 4 ответа

Я настраиваю скрипт CIT GitLab с использованием Ubuntu 17.04 внутри докеры, почти ничего не установлен (Docker tag ubuntu:zesty). В ходе сценария подпрограмма apt-get install приходит к настройке keyboard-configuration, которая случайно (!) Запрашивает выбор раскладки клавиатуры, даже если указан --yes --assume-yes --force-yes:

Setting up keyboard-configuration (1.142ubuntu5) ... debconf: unable to initialize frontend: Dialog debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) 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. Iraqi 2. Albanian 49. Irish 3. Amharic 50. Italian 4. Arabic 51. Japanese 5. Arabic (Morocco) 52. Japanese (PC-98xx Series) 6. Arabic (Syria) 53. Kazakh 7. Armenian 54. Khmer (Cambodia) 8. Azerbaijani 55. Korean 9. Bambara 56. Kyrgyz 10. Bangla 57. Lao 11. Belarusian 58. Latvian 12. Belgian 59. Lithuanian 13. Bosnian 60. Macedonian 14. Braille 61. Maltese 15. Bulgarian 62. Maori 16. Burmese 63. Moldavian 17. Chinese 64. Mongolian 18. Croatian 65. Montenegrin 19. Czech 66. Nepali 20. Danish 67. Norwegian 21. Dhivehi 68. Persian 22. Dutch 69. Polish 23. Dzongkha 70. Portuguese 24. English (Cameroon) 71. Portuguese (Brazil) 25. English (Ghana) 72. Romanian 26. English (Nigeria) 73. Russian 27. English (South Africa) 74. Serbian 28. English (UK) 75. Sinhala (phonetic) 29. English (US) 76. Slovak 30. Esperanto 77. Slovenian 31. Estonian 78. Spanish 32. Faroese 79. Spanish (Latin American) 33. Filipino 80. Swahili (Kenya) 34. Finnish 81. Swahili (Tanzania) 35. French 82. Swedish 36. French (Canada) 83. Switzerland 37. French (Democratic Republic of the Congo) 84. Taiwanese 38. French (Guinea) 85. Tajik 39. French (Togo) 86. Thai 40. Georgian 87. Tswana 41. German 88. Turkish 42. German (Austria) 89. Turkmen 43. Greek 90. Ukrainian 44. Hebrew 91. Urdu (Pakistan) 45. Hungarian 92. Uzbek 46. Icelandic 93. Vietnamese 47. Indian 94. Wolof Country of origin for the keyboard:

t забота о том, какая клавиатура выбрана, но я думаю, English (US) может идти как псевдостандарт. Использование

yes 29 | apt-get ... не работает, потому что есть вопрос о раскладке клавиатуры, поэтому мне нужно будет использовать expect, что сложно, и я хотел бы исключить все более простые возможности. env DEBIAN_FRONTEND=noninteractive и убедитесь, что он передан подпроцессу, который все еще случайным образом (!) требует ввода.

Почему этот запрос запрашивается в любом случае, если указан --force-yes и почему он происходит случайным образом? См. Https://gitlab.gnome.org/krichter/jhbuild/-/jobs/158 и https://gitlab.com/krichter/jhbuild/-/jobs/34123725 для неудачного и последующего запуска того же фрагмента скрипта код (разные серверы, но одна и та же соответствующая строка).

3
задан 27 September 2017 в 18:25

3 ответа

Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:

y
29
<next thing I need to type>
<whatever>
<whatever else>
3
ответ дан 22 May 2018 в 18:04
  • 1
    Это простое решение, спасибо. Пользователи @GitLab: некоторые бегуны CI, похоже, замирают в течение нескольких минут после начала строки, начинающейся с процесса dpkg для keyboard-configuration, что очень затрудняет выяснение, работает ли команда / продолжается или нет. – Karl Richter 28 September 2017 в 00:35
  • 2
    Как насчет использования строки вместо файла? – rraallvv 20 February 2018 в 01:12

Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:

y 29 <next thing I need to type> <whatever> <whatever else>
3
ответ дан 18 July 2018 в 06:08

Перенаправить stdin. Запустите команду с вводом из файла: command < file. В файле вы можете поместить столько новых строк, сколько вам нужно, со всеми номерами на них. Например, запустите apt-get install keyboard-configuration <file, где файл содержит:

y 29 <next thing I need to type> <whatever> <whatever else>
3
ответ дан 24 July 2018 в 18:31

Другие вопросы по тегам:

Похожие вопросы: