Вот как работает grub-mkconfig
: он автоматически создает пункты меню GRUB для каждого обнаруженного ядра. Однако, если вы знаете, чего хотите и что делаете, вам вообще не нужно использовать Простую конфигурацию, так как вы можете написать свой grub.cfg
напрямую.
grub-mkconfig
имеет некоторые ограничения. При добавлении дополнительных пользовательских пункты меню в конец списка можно сделать, отредактировав/etc/grub.d/40_custom
или создание/boot/grub/custom.cfg
, изменив порядок пунктов меню или изменение их заголовков может потребовать сложные изменения в сценариях оболочки, хранящихся в/etc/grub.d/
. Это может быть улучшены в будущем. Между тем, те, кто считает, что это проще написатьgrub.cfg
напрямую, рекомендуется это делать (см. Загрузкаи Шеллоподобные сценарии), а также для отключения любой предоставленной системы по их распределению для автоматического запуска grub-mkconfig.
Там у вас может быть только один пункт меню (отключение меню) с любыми простыми настройками. Вы можете сказать, что хотите загрузить это ядро отсюда, и все.
Один меню { }
может состоять из 5 строк, а не из 200.
Имейте в виду:
grub-mkconfig
в своей системе, вам потребуется вручную обновлять grub.cfg
всякий раз, когда вы захотите обновить ядро.Вы можете повторно -напечатать первый столбец, выровняв -по левому краю в достаточно широком поле:
$ awk '{$1 = sprintf("%-30s", $1)} 1' file
super+t sticky toggle
super+Shift+space floating toggle
super+Shift+r restart
super+Shift+d mode $mode_launcher
super+Shift+c reload
super+r mode resize
super+Return i3-sensible-terminal
super+q kill
super+n Nautilus scratchpad show
super+m neomutt scratchpad show
super+minus scratchpad show
super+f fullscreen toggle
super+c bar mode toggle
super+button2 kill
super+alt+x systemctl -i suspend
super+alt+v cmus
super+alt+m neomutt
super+alt+c ~/bin/editinvim
super+alt+b ranger
Если вы хотите автоматически выбрать подходящую ширину на основе длины столбца 1, то:
awk '
NR==FNR {w = length($1) > w ? length($1) : w; next}
{$1 = sprintf("%-*s", w+4, $1)}
1
' file file
Кроме того, команду column -t
можно использовать для форматирования текста в столбцах.
column -t file
Разделитель столбцов по умолчанию — " "
. В примере строки имеют несколько пробелов, но только первый разделяет столбцы :, мы можем заменить первый на «:» и использовать его в качестве разделителя.
$ sed 's/ /:/1' file | column -s ':' -t
super+t sticky toggle
super+Shift+space floating toggle
super+Shift+r restart
super+Shift+d mode $mode_launcher
...