Иногда после установки некоторых программ, обновлений или изменения настроек системы, мы можем начать получать уведомление об ошибке содержащее сообщение “Обнаружена ошибка в системной программе”. Конечно, это сообщение можно игнорировать, но очень частое его появление со временем просто начинает раздражать.

Проблему, которая вызывает ошибку можно решить, но решение есть не всегда. Например, вы будете не очень рады когда увидите вот такое сообщение при каждом входе в систему после неправильного монтирования диска:

Обнаружена ошибка в системной программе

Сообщить о проблеме разработчикам?

System_Program_Problem_Detected

Хотя если вы не используете Ubuntu, вы точно никогда не столкнетесь с такой проблемой. В этой статье мы рассмотрим что же делать с уведомлением обнаружена ошибка в системной программе в Ubnutu 16.04 или других версий.

Что делать если возникла “обнаружена ошибка в системной программе”

Что это вообще значит?

В основном это означает что в вашей системе произошел сбой. Но не беспокойтесь, это не очень критическая проблема и систему по-прежнему можно использовать. Просто одна программа неожиданно завершилась и Ubuntu спрашивает вас не хотите ли вы отправить отчет об ошибке разработчикам чтобы те смогли исправить проблему.

Canonical использует специальную утилиту Apport, которая собирает данные об ошибках в системе и отправляет их разработчикам. Как только какая-нибудь программа в системе завершается с сигналом SIGSEGV, SIGBUS, SIGFPE или другим, вызывающим ошибку, запускается демон Apport, собирает данные об ошибке и компьютере, затем создает crash файл в каталоге /var/crash. Информация из этого файла поможет разработчикам решить проблему. С другой стороны, когда в этом каталоге появляется новый файл, запускается графическая утилита, которая показывает информацию об ошибке и предложение отправить отчет разработчикам.

Если в других дистрибутивах такая ошибка не наблюдается, это еще не значит что дистрибутив стабильнее и программы не падают. Просто там некому палить такое их поведение.

Как только я нажму сообщить о проблеме, она исчезнет?

Нет, не совсем. После того как вы нажмете на кнопку отправки отчета, вы получите следующее окно:

Ubuntu_Internal_error

Утилита Apport соберет всю возможную информацию об ошибке, затем откроется браузер где вы сможете оформить отчет, используя свою или создав новую учетную запись Launchpad. Как вы видите это сложная процедура, которая займет около четырех шагов.

Кроме того, возможно, вы сможете решить проблему сами, если это не баг в программе, а ошибка, вызванная тем, что вы что-то неправильно установили. Посмотрите подробности (Show details) об ошибке в этом окне и попытайтесь сами или с помощью поисковых систем решить что с ней делать.

А если я хочу сообщить разработчикам о проблеме?

Это очень мило с вашей стороны. Вы поступаете правильно, но есть два но. Во-первых есть вероятность что кто-то уже сообщил об этой проблеме. Во-вторых, даже если вы сообщите разработчикам, это не гарантирует что вы не увидите ошибку снова. Точнее, наоборот, если программа падает регулярно, вы будете видеть это сообщение постоянно, пока с этим что-то не сделаете. Конечно, можно установить галочку не показывать больше для этой программы, но если программы разные, этот путь не поможет.

Вы предлагаете не сообщать о проблеме?

И да, и нет. Сообщите об ошибке когда увидите ее впервые если хотите. Информацию об ошибке вы можете увидеть, нажав кнопку Show details, как на картинке выше. Но если вы сталкиваетесь с ошибкой повторно и не можете ее решить или не хотите сообщать разработчикам советую вам избавиться от нее навсегда.

Исправляем проблему обнаружена ошибка в системной программе

Отчеты об ошибках хранятся в каталоге /var/crash. Если вы посмотрите содержимое этого каталога, можете увидеть там несколько файлов с данными о предыдущих ошибках.

Crash_reports_Ubuntu

Отчеты о сбоях лучше удалить, так как со временем они будут накапливаться и занимать дисковое пространство. Для этого выполните команду:

sudo rm /var/crash/*

Теперь у вас не останется данных о прежних сбоях, но если сбой произойдет снова, вы опять увидите то сообщение. Можно каждый раз удалять отчеты, но лучше отключить Apport (отладочный инструмент) и навсегда забыть о всплывающих окнах.

Отключение Apport в Ubuntu

Если вы это сделаете, вы больше не получите ни одного сообщения о неожиданном завершении программы в вашей системе. По-моему это не так уж плохо, если вы не отправляете отчеты об ошибках. Если вы не готовы отправлять отчеты об ошибках, то отсутствие уведомлений о сбоях не будет иметь никакого значения.

Вы можете отключить только утилиту, которая показывает вам уведомления, но оставить службу, собирающую данные в /var/crash работающей. Для этого выполните:

gsettings set com.ubuntu.update-notifier show-apport-crashes false

Для полного отключения Apport откройте терминал и введите команду:

gksu gedit /etc/default/apport

Вот содержимое этого файла:

set this to 0 to disable apport, or to 1 to enable it
# you can temporarily override this with
# sudo service apport start force_start=1
enabled=1

Замените enable=1 на enable=0 и сохраните изменения. Теперь вы не увидите никаких отчетов о сбоях в программах. Программа не будет собирать отчеты об ошибках и вы о них никогда не узнаете. Если вы снова захотите видеть уведомления достаточно просто вернуть флаг enabled в положение 1.

Выводы

Надеюсь, эта статья помогла вам решить проблему обнаружена ошибка в системной программе Ubuntu 16.04. Конечно, это только косметическое решение, и от этого программа не перестанет аварийно завершаться, но большинство из нас обычные пользователи и мы не можем понять почему не работает та или иная программа. Нам остается только сообщить разработчикам, и отключить уведомления дабы они не мешали нормально работать.

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях