Мне очень нравится ответ, данный @Mat выше. Основываясь на этом, я написал небольшой помощник, который дает немного больше контекста для ошибки:
Мы можем проверить скрипт на наличие строки, вызвавшей сбой:
err() {
echo "Error occurred:"
awk 'NR>L-4 && NR<L+4 { printf "%-5d%3s%s\n",NR,(NR==L?">>>":""),$0 }' L=$1 $0
}
trap 'err $LINENO' ERR
Вот небольшой тестовый скрипт:
#!/bin/bash
set -e
err() {
echo "Error occurred:"
awk 'NR>L-4 && NR<L+4 { printf "%-5d%3s%s\n",NR,(NR==L?">>>":""),$0 }' L=$1 $0
}
trap 'err $LINENO' ERR
echo one
echo two
echo three
echo four
false
echo five
echo six
echo seven
echo eight
При запуске получаем:
$ /tmp/test.sh
one
two
three
four
Error occurred:
12 echo two
13 echo three
14 echo four
15 >>>false
16 echo five
17 echo six
18 echo seven
Мне удалось исправить это, используя следующие параметры ядра:
acpi_osi=! acpi_osi="Windows 2019"
Обратите внимание на кавычки, :их нужно экранировать, если вы используете Grub, , но не если вы используете systemd -boot
Если вы используете только графическую карту Intel, вам также потребуется добавитьnouveau.modeset=0
UPD:acpi_osi="Windows 2019"
вносит небольшую задержку клавиатуры и трекпада и ломает сенсорный экран