Как пытается намекнуть JdeBP, когда вы запускаете свою программу из оболочки и она завершается сигналом SIGFPE, ваша оболочка выводит специальное сообщение «Исключение с плавающей запятой». Технически ваша программа могла бы поймать сигнал и напечатать ошибку, если бы вы написали ее таким образом -, но это не сработало бы для SIGKILL.
Вам нужен какой-нибудь родительский процесс, который использует wait()
или аналогичный, чтобы читать статус выхода вашей программы и регистрировать его. Менеджер службы systemd
является таким родителем. Его сообщение не будет выглядеть идентично, но оно должно иметь что-то эквивалентное, когда вы смотрите журналы службы в журнале. Он может упомянуть SIGFPE
.
Кроме того, если у вас включен systemd-coredump
, мы надеемся, что он должен зарегистрировать сообщение о сбое для SIGFPE
, поскольку действие по умолчанию этого сигнала заключается в создании дампа ядра. Эти сообщения о сбоях должны быть помечены так, чтобы они отображались при запросе сообщений вашей службы. Мне нравится systemd-coredump
, и я обязательно включу его в своих системах Debian, хотя в настоящее время его установка удалит Apport, средство сообщения о сбоях в Ubuntu. При разработке некоторые люди могут предпочесть иметь дело с файлами ядра напрямую, а не использовать systemd-coredump
, хотя приятно, что дампы ядра не будут загромождать ваш каталог, к тому же они будут очищены через некоторое время (, освобождая место на диске ).
Драйверы NVIDIA должны быть подписаны, прежде чем их можно будет использовать в системах с поддержкой EFI Secure Boot -.
В процессе установки вам будет предложено подписать драйверы с помощью пользовательского -ключа MOK, который необходимо зарегистрировать позже в BIOS. По этому поводу есть отличная ветка Ask Ubuntu (, я предполагаю, что она также будет полезна для Fedora ):https://askubuntu.com/questions/1048135/how-can-i-install-nvidia-drivers-on-ubuntu-18-04-with-secure-boot
.Если пакет Fedora nvidia-installer
не имеет встроенного -модуля подписи, вам может потребоваться подписать их вручную, используяmokutil
:https://gist.github.com/Garoe/74a0040f50ae7987885a0bebe5eda1aa
Rpmfusion не поддерживает безопасную загрузку.
Установленный NVIDIA.run поддерживает подписывание модуля ядра , но вы должны сгенерировать ключ подписи и зарегистрируйте свой ключ в прошивке .
Принимая во внимание последний набор уязвимостей загрузки, связанных с безопасной загрузкой, я действительно не думаю, что ее отключение причинит вам слишком много вреда.