Проблема с раскладкой клавиатуры при загрузке с LUKS

TXR Lisp с макросом awk :

(let ((h (hash :equal-based)))
  (awk (:inputs "word-dom-pairs")
    (t (inc [h [f 0] 0])))
  (awk (:inputs "word-vectors")
    (t (whenlet ((count [h [f 0]]))
         (fconv - : r)
         (let* ((n-fn-pairs (zip (rest f) (range 2)))
                (n-fn-sorted [sort n-fn-pairs > first]))
           (each ((p [n-fn-sorted 0..count]))
             (prn [f 0] (second p) (first p))))))))

Выполнить:

$ txr munge.tl 
bank 4 3.2
bank 3 1.5
bank 2 0.9
God 3 2.1

Данные:

$ cat word-dom-pairs 
car transport
car machine
bank economy
bank politics
bank parks
God religion

$ cat word-vectors 
bank 0.9 1.5 3.2 -0.2 0.1
God 1.0 2.1 -0.5 0.7
rose 0.2 -1.8

Вот версия программы, свернутой в одно выражение awk :

(awk (:inputs "word-dom-pairs" "word-vectors")
     (:let (h (hash :equal-based)))
     ((= arg 1) (inc [h [f 0] 0]))
     ((= arg 2) (whenlet ((count [h [f 0]]))
                  (fconv - : r)
                  (let* ((n-fn-pairs (zip (rest f) (range 2)))
                         (n-fn-sorted [sort n-fn-pairs > first]))
                    (each ((p [n-fn-sorted 0..count]))
                      (prn [f 0] (second p) (first p)))))))

Два : input из ранее отдельных awk -ов объединяются в один. {{1 }} Мы заменяем безусловно истинные шаблоны t селекторами, в зависимости от того, какой ввод обрабатывается, заданный переменной arg . let , который связывает переменную хеш-таблицы, сворачивается в предложение макроса awk : let .

Если мы удалим предложение (: inputs ...) , мы сможем передать файлы, используя пару аргументов командной строки:

$ txr munge.tl file1 file2

TXR Lisp - это типобезопасный динамический язык, в котором переменные должны быть определены перед назначением или использованием. Несуществующие переменные и ненужные строки не являются числовым нулем, а строки, которые выглядят как числа, не являются этими числами. Вот почему мы явно определяем существование хэш-таблицы и используем fconv для явного преобразования второго и последующих полей в действительные числа ( r ).

3
03.02.2017, 22:05
2 ответа

Ваш / etc / mkinitcpio.conf должен выглядеть так:

HOOKS = "... клавиатура keymap encrypt ..."

Вам необходимо загрузить раскладку клавиатуры во время загрузки, что выполняется с помощью ловушки mkinitcpio. Убедитесь, что перехватчик keymap или sd-vconsole (в зависимости от того, используете ли вы перехватчики стиля sd- *) сработал до encrypt / sd-encrypt и регенерации вашего initrd.

6
27.01.2020, 21:21

Я использую шифрование luks для домашних и корневых файлов. Если это может помочь некоторым парням

vim /etc/vconsole.conf

Добавить это

KEYMAP=fr-latin9

а также проверьте это

vim /etc/mkinitcpio.conf

Он ДОЛЖЕН быть в порядке.

HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck)

Регенерировать initrd

mkinitcpio -P
2
23.05.2020, 15:45

Теги

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