Мой компьютер постоянно зависает даже при использовании другого дистрибутива

Мой компьютер постоянно зависает даже при использовании другого дистрибутива

Мой основной компьютер с Linux часто выходит из строя (в спящем режиме, для Ubuntu). Я не знаю почему!

Я не думаю, что это сбой ядра, потому что оно правильно реагирует на Magic SysRq( Alt+ SysRq+ R+ E+ I+ S+ U+ B) и перезагружается, как и ожидалось.

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

Я действительно устал от этого.

Вот мои характеристики:

Экран: 3440x1440 @ 165 Гц (не знаю, поможет ли это)

Процессор: Intel CORE i7 3770K @ 3.5GHz

Видеокарта: AMD Radeon RX 550 4 ГБ

Оперативная память: 8 ГБ DDR3

ОС: (Ubuntu 20.04 LTS) Сейчас я использую Arch Linux

WM : (awesomewm) Arch + dwm

Однако в моем Linux MacBook конца 2006 года, который менее мощный, яникогдавозникла такая проблема.

Надеюсь, я скоро это исправлю :).

EDIT: Я установил Artix/Arch (без SystemD, вместо этого есть runit) и все еще испытываю ту же проблему.

решение1

По крайней мере в Debian 10 (и, вероятно, также в Ubuntu) в каталоге есть скрипты /lib/systemd/system-sleep/, которые будут выполняться с параметрами preпри переходе в спящий режим и postпри пробуждении.

Это говорит о том, что вы можете создать /etc/systemd/system-sleep/каталог для собственных настроек и помещать туда свои скрипты.

Ваш сценарий может выглядеть, например, так:

Имя файла:/etc/systemd/system-sleep/workaround-script

Содержание:

#!/bin/bash

PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "$1" in
        pre)    systemctl stop ckb-next-daemon.service
                # add here any other commands if needed to fully unload the CKB-Next driver
                exit 0
                ;;
        post)   systemctl start ckb-next-daemon.service
                exit 0
                ;;
        *)      exit 1
                ;;
esac

Связанный контент