Вопрос или проблема
У меня возникла странная проблема в Ubuntu 22.04. Мой ноутбук зависает на экране завершения работы каждый раз, когда я использую команду завершения работы, и мне приходится вручную удерживать кнопку питания в течение 5 секунд, чтобы выключить устройство.
Я попробовал это решение, но оно не сработало. Пожалуйста, помогите мне решить эту проблему.
Я недавно обновился до Ubuntu 22.04.3, и обе машины, которые я обновил, столкнулись с этой проблемой.
Для меня проблема была решена на обеих машинах путем установки драйвера Nvidia, соответствующего видеокарте Nvidia на этих машинах. Это то же самое решение, которое ссылается на вопрос и упоминается здесь.
Видеокарты на моих машинах были GeForce RTX 3050 и GeForce RTX 3050 Ti, поэтому я выбрал правильную версию драйвера с этого сайта. Фактически, поиск на сайте просто используется для определения правильной версии драйвера.
Замена драйвера Nouveau драйвером Nvidia была выполнена просто установкой драйвера Nvidia (в моем случае версия 535). В частности, мне не нужно было явно удалять драйвер nouveau. Просто выполнение команды ниже сработало для меня.
Примечание: Стоит упомянуть, что не стоит просто копировать и вставлять команду ниже, замените 535 в версии драйвера на версию, соответствующую вашему оборудованию, которую вы определили во время ранее упомянутого поиска.
$ sudo apt install nvidia-driver-535
После перезагрузки машины вернулись к нормальному поведению при завершении работы.
Обновление
Еще один момент, упомянутый Capitoneo в его ответе, также актуален. Раздел Дополнительные драйверы был пустым после обновления до 22.04. После выполнения вышеуказанных шагов даже список дополнительных драйверов был восстановлен.
просто скажу о своем опыте (на ubuntu22 сегодня)
// не применимо во всех ситуациях
проверьте последний лог завершения питания
после загрузки проверьте предыдущий лог завершения питания.
journalctl -b -1 -r
- -b -1 //предыдущая загрузка
- -r //показать лог в обратном порядке
11 нояб. 20:10:45 u22 systemd[1]: et.service: не удалось завершить работу с результатом 'timeout'.
...
11 нояб. 20:10:45 u22 systemd[1]: cups-browsed.service: не удалось завершить работу с результатом 'timeout'.
...
11 нояб. 20:09:16 u22 systemd[1731]: Достигнута цель Завершение работы.
Он действительно ждет 90 секунд времени ожидания..
отключить зависшую службу
у меня было 2 службы с тайм-аутом остановки,
// 90 секунд принудительная остановка по умолчанию.
- et.service
- cups-browsed
Я их не использую, останавливаю и отключаю.
sudo systemctl stop et.service
sudo systemctl disable et.service
sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed
тогда завершение работы прошло успешно за 5 секунд.
Я просто выполнил sudo apt update
и sudo apt upgrade
, и это исправило проблему для меня.
Для меня проблема была решена установкой драйвера GPU, NVIDIA, в моем случае GEFORCE RTX 3050, который я скачал с сайта https://www.nvidia.in/Download/index.aspx?lang=en-in
-
Убедитесь, что
cc
уже установлен в вашей системе для компиляции драйвераsudo apt install build-essential
-
Перед установкой драйвера убедитесь, что служба
xserver
должна быть остановлена, используйте следующую команду:
sudo service lightdm stop
-
перейдите в терминал tty
sudo init 3
-
Введите логин и пароль, затем перейдите в папку, куда был загружен драйвер, и выполните следующую команду
sudo ./NVIDIA-Linux-x86_64-535.104.05.run
Когда я сталкиваюсь с проблемой выключения, я устраняю неисправности, тестируя разные параметры ядра. Я делаю это, редактируя файл /etc/default/grub
и добавляя параметр в переменную GRUB_CMDLINE_LINUX_DEFAULT
. Затем я тестирую каждый параметр по отдельности следующим образом:
acpi=force
acpi=noirq
acpi=off
pci=noacpi
pci=nomsi
apm=power_off
reboot=force
reboot=pci
reboot=force
reboot=efi
noapic
noacpi
acpi_osi=!
acpi_osi=Linux
В прошлом году у меня возникла проблема, когда мой ноутбук не выключался должным образом, требуя нажать кнопку питания вручную. Я решил это, установив правильный драйвер видеокарты Nvidia, как упоминали другие выше и на других форумах.
Однако после обновления до Ubuntu 22.04.5 LTS проблема возобновилась: ноутбук зависал на черном экране на неопределенное время во время завершения работы. Вот как я это исправил:
- Удалите все пакеты, связанные с Nvidia:
$ sudo apt-get remove –purge ‘^nvidia-.*’
$ sudo apt-get remove –purge ‘^libnvidia-.*’
$ sudo apt-get remove –purge ‘^cuda-.*’
- Перезагрузите ноутбук:
$ sudo reboot
- Обновите систему:
$ sudo apt update
$ sudo apt upgrade
- Перезагрузитесь, чтобы протестировать это
$ sudo reboot
И вуаля, моя система выключается должным образом. После этих шагов, когда я проверил приложение Программное обеспечение и обновления –> Дополнительные драйверы, я заметил, что драйвер видеокарты вернулся к X.org X server – драйверу отображения Nouveau.
Надеюсь, эти шаги помогли кому-то. Удачи.
Ответ или решение
Проблема с зависанием на экране завершения работы в Ubuntu 22.04 является распространенной и может быть вызвана различными факторами. Вот несколько шагов, которые помогут вам решить эту проблему:
1. Установка драйвера NVIDIA
Если вы используете графическую карту NVIDIA, проблема может быть связана с драйвером. Он может быть неподходящим или отсутствовать. Вместо открытого драйвера Nouveau необходимо установить специальный драйвер от NVIDIA. Чтобы это сделать:
-
Проверьте, какой драйвер вам нужен:
Зайдите на официальный сайт NVIDIA и выберите вашу модель видеокарты, чтобы скачать подходящую версию драйвера. -
Установка драйвера:
Используйте следующую команду для установки нужного драйвера. Обязательно замените номер535
на актуальную версию для вашей карты:sudo apt install nvidia-driver-535
После установки перезагрузите систему:
sudo reboot
2. Отключение зависающих служб
Иногда отключенные службы могут вызывать зависание при завершении работы. Проверьте предыдущие логи завершения работы, чтобы выявить виновников:
journalctl -b -1 -r
Если в логах вы видите такие записи, как Failed with result 'timeout'
, это может указывать на проблемы со службами et.service
и cups-browsed
. Отключите их следующим образом:
sudo systemctl stop et.service
sudo systemctl disable et.service
sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed
После этого попробуйте завершить работу системы снова.
3. Обновление системы
Иногда проблемы могут быть исправлены с помощью обновлений. Выполните следующие команды, чтобы обновить вашу систему:
sudo apt update
sudo apt upgrade
После обновления перезагрузите компьютер.
4. Проверка параметров ядра
Если проблема не исчезает, вы можете попробовать изменить параметры ядра. Для этого отредактируйте файл /etc/default/grub
и добавьте один из следующих параметров в строку GRUB_CMDLINE_LINUX_DEFAULT
:
acpi=force
acpi=noirq
pci=noacpi
После изменения параметров, обновите конфигурацию GRUB:
sudo update-grub
И перезагрузите систему.
5. Устранение проблем с драйверами
Если вы устанавливали драйверы NVIDIA и они не работают должным образом, вы можете удалить их и попробовать вернуться к драйверам Nouveau. Для этого выполните следующие команды:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get remove --purge '^libnvidia-.*'
sudo apt-get remove --purge '^cuda-.*'
После этого перезагрузите компьютер и выполните обновление:
sudo apt update
sudo apt upgrade
Затем снова перезагрузите систему.
Заключение
Выполнив данные шаги, вы должны устранить проблему с зависанием на экране завершения работы в Ubuntu 22.04. Если проблема все еще сохраняется, возможно, стоит обратиться на форумы поддержки Ubuntu или проверить другие возможные аппаратные конфликты.