В конце концов я нашел свое решение, к которому я в конце концов пришел, до того, как набрав im-config без каких-либо опций в gnome-terminal, возникли бы эти ошибки:
head: error reading ‘adt-bundle-linux-x86_64-20140702’: Is a directory
tail: error reading ‘adt-bundle-linux-x86_64-20140702’: Is a directory
E: Configuration in adt-bundle-linux-x86_64-20140702 is manually managed. Doing nothing.
в домашнем каталоге, если нет [ f5], тогда он пытается попытаться записать в каталог после того, как вы сделали свой выбор с помощью интерфейса zenity GUI вместо создания нового файла и записи на .xinputrc
В терминале вместо того, чтобы просто ввести im-config самостоятельно,
$ im-config -c
, и вместо этого вы будете настраивать через экран терминала, чтобы завершить настройку правильно, и правильно создадите и напишите файл .xinputrc в ваш домашний каталог, не делая ошибку при попытке записи в каталог.
Nvidia удалось воспроизвести проблему, и они работают над исправлением, которое будет включено в следующий выпуск драйверов. (Исправление теперь выпущено, см. Ниже раздел).
См. Эту тему на форумах разработчиков Nvidia для получения дополнительной информации.
Благодаря этой теме на форумах разработчиков Nvidia за его отличные навыки в раскрытии этой информации!
[ ! d10]Nvidia выпустила обновление для своего драйвера выпуска 05/04/2017, в котором, среди прочего, исправлена ошибка, которую вы ищете для. Обновленному драйверу выпуска была предоставлена версия 375.66
Поскольку этот 375.66 находится в официальном репозитории, загрузка исправленного драйвера довольно проста.
Исправить поставляется с бета-драйвером 381.09. Соответствующий скриншот из журнала изменений:Исправление происходит из бета-драйвера 381.09. Соответствующий снимок экрана из журнала изменений:
sudo apt-get update
После этого переключается на новую версию драйвера в дополнительном Драйверы: Этот драйвер в настоящее время не находится в каких-либо репозиториях Если вы находитесь в устаревшем драйвере, вы должны выполнить:
После перезагрузки вы должны обнаружить, что ваш Драйвер Nvidia обновлен до 375.66.
Если ваша видеокарта достаточно стар, что поддерживается драйвером v340, нет необходимости устанавливать более новую версию из неофициального PPA. Для людей с более новыми картами, такими как GTX 9-series или 10-series, вам понадобится новый драйвер.
GeForce 800M Series (Notebooks):
GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M, GeForce 825M, GeForce 820M, GeForce 810M
GeForce 700 Series:
GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705
GeForce 700M Series (Notebooks):
GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 755M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GT 735M, GeForce GT 730M, GeForce GT 720M, GeForce GT 710M, GeForce 720M, GeForce 710M, GeForce 705M
GeForce 600 Series:
GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605
GeForce 600M Series (Notebooks):
GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M
GeForce 500 Series:
GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510
GeForce 500M Series (Notebooks):
GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520M, GeForce GT 520MX
GeForce 400 Series:
GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420, GeForce 405
GeForce 400M Series (Notebooks):
GeForce GTX 485M, GeForce GTX 480M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 425M, GeForce GT 420M, GeForce GT 415M, GeForce 410M, GeForce 405M
GeForce 300 Series:
GeForce GT 340, GeForce GT 330, GeForce GT 320, GeForce 315, GeForce 310
GeForce 300M Series (Notebooks):
GeForce GTS 360M, GeForce GTS 350M, GeForce GT 335M, GeForce GT 330M, GeForce GT 325M, GeForce GT 320M, GeForce 320M, GeForce 315M, GeForce 310M, GeForce 305M
GeForce 200 Series:
GeForce GTX 295, GeForce GTX 285, GeForce GTX 280, GeForce GTX 275, GeForce GTX 260, GeForce GTS 250, GeForce GTS 240, GeForce GT 230, GeForce GT 240, GeForce GT 220, GeForce G210, GeForce 210, GeForce 205
GeForce 200M Series (Notebooks):
GeForce GTX 285M, GeForce GTX 280M, GeForce GTX 260M, GeForce GTS 260M, GeForce GTS 250M, GeForce GT 240M, GeForce GT 230M, GeForce GT 220M, GeForce G210M, GeForce G205M
GeForce 100 Series:
GeForce GT 140, GeForce GT 130, GeForce GT 120, GeForce G100
GeForce 100M Series (Notebooks):
GeForce GTS 160M, GeForce GTS 150M, GeForce GT 130M, GeForce GT 120M, GeForce G 110M, GeForce G 105M, GeForce G 103M, GeForce G 102M
GeForce 9 Series:
GeForce 9800 GX2, GeForce 9800 GTX/GTX+, GeForce 9800 GT, GeForce 9600 GT, GeForce 9600 GSO, GeForce 9600 GSO 512, GeForce 9600 GS, GeForce 9500 GT, GeForce 9500 GS, GeForce 9400 GT, GeForce 9400, GeForce 9300 GS, GeForce 9300 GE, GeForce 9300 SE, GeForce 9300, GeForce 9200, GeForce 9100
GeForce 9M Series (Notebooks):
GeForce 9800M GTX, GeForce 9800M GTS, GeForce 9800M GT, GeForce 9800M GS, GeForce 9700M GTS, GeForce 9700M GT, GeForce 9650M GT, GeForce 9650M GS, GeForce 9600M GT, GeForce 9600M GS, GeForce 9500M GS, GeForce 9500M G, GeForce 9400M G, GeForce 9400M, GeForce 9300M GS, GeForce 9300M G, GeForce 9200M GS, GeForce 9100M G
GeForce 8 Series:
GeForce 8800 Ultra, GeForce 8800 GTX, GeForce 8800 GTS 512, GeForce 8800 GTS, GeForce 8800 GT, GeForce 8800 GS, GeForce 8600 GTS, GeForce 8600 GT, GeForce 8600 GS, GeForce 8500 GT, GeForce 8400 GS, GeForce 8400 SE, GeForce 8400, GeForce 8300 GS, GeForce 8300, GeForce 8200, GeForce 8100 /nForce 720a
GeForce 8M Series (Notebooks):
GeForce 8800M GTX, GeForce 8800M GTS, GeForce 8700M GT, GeForce 8600M GT, GeForce 8600M GS, GeForce 8400M GT, GeForce 8400M GS, GeForce 8400M G, GeForce 8200M G, GeForce 8200M
Quadro Series:
Quadro K6000, Quadro K5200, Quadro K5000, Quadro K4000, Quadro K4200, Quadro K2200, Quadro K2000, Quadro K2000D, Quadro K620, Quadro K600, Quadro K420, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410, Quadro 400
Quadro Series (Notebooks):
Quadro K5100M, Quadro K5000M, Quadro K4100M, Quadro K4000M, Quadro K3100M, Quadro K2100M, Quadro K3000M, Quadro K2000M, Quadro K1100M, Quadro K1000M, Quadro K610M, Quadro K510M, Quadro K500M, Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M
Quadro FX Series:
Quadro CX, Quadro FX 370, Quadro FX 370 Low Profile, Quadro FX 380, Quadro FX 380 Low Profile, Quadro FX 570, Quadro FX 580, Quadro FX 1700, Quadro FX 1800, Quadro FX 3700, Quadro FX 3800, Quadro FX 4600, Quadro FX 4700 X2, Quadro FX 4800, Quadro FX 5600, Quadro FX 5800
Quadro FX Series (Notebooks):
Quadro FX 3800M, Quadro FX 3700M, Quadro FX 3600M, Quadro FX 2800M, Quadro FX 2700M, Quadro FX 1800M, Quadro FX 1700M, Quadro FX 1600M, Quadro FX 880M, Quadro FX 770M, Quadro FX 570M, Quadro FX 380M, Quadro FX 370M, Quadro FX 360M
Quadro NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450
Quadro NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M
Quadro Plex Series:
Quadro Plex Model II, Quadro Plex D Series, Quadro Plex Model IV, Quadro Plex 7000
Quadro Sync Series:
Quadro Sync, Quadro G-Sync II
Quadro SDI:
Quadro SDI
GRID Series:
GRID K2, GRID K520
NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450
NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M
ION (Desktops):
ION
ION (Notebooks):
ION
ION LE (Desktops):
ION LE
ION LE (Notebooks):
ION LE
Для удобства здесь приведен полный список карт, поддерживаемых версией 340 driver:
Итак, если ваш GPU поддерживается 340, вы можете просто переключиться на версию 340 в дополнительных драйверах. (Версия 340 не имеет этой ошибки.)
sudo -i
add-apt-repository ppa:graphics-drivers/ppa
apt-get update
apt-get install nvidia-381
Перезагрузите компьютер , и вам должно быть хорошо идти! После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера:
Установка драйверов Nvidia из файла *.run, как правило, не требуется.
Обязательно перезагрузитесь после переключения версии драйвера. не очень хорошая идея. Это имеет тенденцию нарушать вещи. Таким образом, лучше установить их из PPA, как описано выше. Тем не менее, если вы приключения и хотите установить их вручную, это процесс, который работал для меня с Ubuntu 16.04 и GTX650.
Перед установкой исправленного драйвера вы После перезагрузки вы должен найти, что ваш драйвер Nvidia обновлен до 375.66. удалите свой текущий проприетарный драйвер и переключитесь на драйвер Nouveau:
Запустите терминал с CTRL + ALT + T
Запустите терминал с помощью CTRL + ALT + T
Запустите следующие команды:sudo -i
add-apt-repository ppa:graphics-drivers/ppa
apt-get update
apt-get install nvidia-381
Запустите следующие команды: [ ! d71] Перезагрузите компьютер, и вам должно быть хорошо идти! После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера:
Перезагрузите компьютер, и вам должно быть хорошо идти! После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера:
sudo service lightdm stop
cd Downloads
chmod +x NVIDIA-Linux-x86_64-381.09.run
sudo ./NVIDIA-Linux-x86_64-381.09.run
Примите лицензионное соглашение: он пожалуется, что сценарий предварительной установки, предоставленный дистрибутивом, не удался. Продолжайте в любом случае: выберите «Да», когда вас спросят, хотите ли вы зарегистрировать модуль ядра с помощью dkms: выберите «Да», когда вас спросят, хотите ли вы установить 32-разрядные библиотеки совместимости: для создания модуля ядра потребуется некоторое время, поэтому потерпи! Выберите «Да», если вас спросят, хотите ли вы запустить nvidia-xconfig: выберите «ОК», чтобы выйти из программы установки. Почти там! Теперь просто запустите следующие команды: rm ~/.Xauthority
rm ~/.config/dconf/unity
sudo shutdown -r now
После перезагрузки компьютера откройте Nvidia X Server Settings. В любом случае вы увидите новую версию драйвера: Есть еще один способ решить эту проблему.
Просто убить Xorg после пробуждения компьютера.
Найти PID Xorg:
top
Когда вы найдете pid Xorg, нажмите Ctrl + C, чтобы остановить «верхний» процесс.
Перейти к корню и убить процесс:
sudo su
kill [pid]
После этого войдите в свою учетную запись.
Предупреждение: это закроет все ваши приложения , Firefox не создает никаких проблем, он просто восстановит все ваши вкладки, но я не могу гарантировать другие приложения, поэтому сохраните их перед выполнением этого процесса.
Теперь Nvidia также обновила свои драйверы nvidia-375 до версии 375.66, которая доступна из стандартных репозиториев Ubuntu всех поддерживаемых в данный момент релизов.
Это означает, что теперь nvidia-375 , за исключением обычного обновления системы, как всегда. Вы не нуждаетесь в пакете драйвера из graphics-drivers PPA, если вы этого не хотите.
Ниже приведен фрагмент изменений для пакета из основных репозиториев 16.04 относительно этой ошибки:
$ apt changelog nvidia-375=375.66-0ubuntu0.16.04.1
[...]
- Fixed a regression that caused corruption in certain
applications, such as window border shadows in Unity, after
resuming from suspend.
[...]
Наконец, Nvidia исправила эту проблему и выпустила новую версию рабочего драйвера: nvidia-381
Решение, описанное в этом ответе, также было обновлено и теперь предлагает перейти на эту фиксированную версию вместо перехода на последнюю версию до ошибки. Однако это остается той же процедурой, но вы просто выключаете имена пакетов.
Некоторые из собственных пакетов драйверов графики Nvidia для Ubuntu ( а именно nvidia-375 и nvidia-378) являются ошибками и создают белые артефакты вокруг границ окна, которые показаны на ваших скриншотах в вопросе. Это происходит воспроизводимо каждый раз, когда вы снова приостанавливаете и снова пробуждаетесь.
До тех пор, пока несколько дней назад пакет nvidia-367 в репозитории Xenial работал нормально и надежно, но теперь они обновили его и преобразовали к пакету перехода, который автоматически устанавливает версию buggy nvidia-375.
lspci -k | grep -iEA3 '3d|vga'
Мое решение на данный момент состоит в том, чтобы понизить с nvidia-375 или nvidia-378 до nvidia-370, что, похоже, работает до сих пор , Поскольку Nvidia выпустила новую версию обновленного драйвера nvidia-381 с исправленной ошибкой, мы можем (и должны) установить этот вариант вместо понижения.
Этот пакет недоступен из стандартные репозитории, но вы можете легко получить его из PPA и заменить его текущим драйвером, выполнив следующие команды:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*
sudo apt install nvidia-370
sudo apt install nvidia-381
После вас закончили эту процедуру, перезагрузите компьютер и проверьте, есть ли у вас проблемы. Для меня они исчезли. Удачи.
Решение, предложенное Виктором А., прекрасно работает. Однако вы должны заметить, что скрипты, помещенные в /lib/systemd/system-sleep/, выполняются как при переходе компьютера в режим сна, так и при просыпании. Учитывая, что мы хотим только позже, использование предлагаемого сценария замедляет процесс перехода в сон без необходимости. Я рекомендую следующее:
#!/bin/sh
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
case "$1" in
post) kill $(ps -C compiz -o pid=) ;;
esac
fi
Предупреждение. Этот скрипт (а также тот, который предлагается Виктором А.) отключит экран подсказки пароля при пробуждении, тем самым представляя угрозу безопасности.
NVIDIA выпустила обновленную версию драйвера, которая исправила эту регрессию. Любой драйвер, прошедший с 381.09, теперь больше не будет иметь эту проблему, пока NVIDIA не испортится снова.
До тех пор, пока драйвер не достигнет основных репозиториев, их можно загрузить с неофициального драйвера PPID NVIDIA. Это гарантирует, что вам не нужно будет возиться с установщиком (который считается плохой идеей) или нуво. Аналогичным образом, это позволит устанавливать / удалять драйверы через apt вместо опасной полуконфигурации, в которую установщик NVIDIA оставляет драйверы. Кроме того, это не вызовет никаких логических циклов или ошибок, если у вас нет странной системы. Чтобы установить, запустите:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381
Старые драйверы будут автоматически удалены, а новые будут загружены. Последуйте за перезагрузкой компьютера (так как драйверы NVIDIA необходимо запекать в ядре) и все должно работать нормально. Вы можете проверить правильность установки драйверов, выполнив следующую команду:
nvidia-settings --version
Обязательно верните любые исправления, описанные в этом сообщении , а не , которые вы обновляете до последних драйверов. Например, если вы установили исправленную версию Unity, как описано ниже, запустите эту команду, чтобы вернуться к нормальной версии:
sudo ppa-purge ppa:kaihengfeng/lp1292830
Обратите внимание, что вам понадобится ppa-purge, который может быть установлен сделано так:
sudo apt install ppa-purge
Если обновление не является вариантом (слишком старым для карты, политики компании и т. д.):
Kai-Heng Фэн из Launchpad был достаточно любезен, чтобы загрузить версию Unity в свой собственный PPA (ppa:kaihengfeng/lp1292830), который должен исправить эту проблему. Чтобы решить эту проблему, просто добавьте его PPA, выполнив следующие команды:
sudo add-apt-repository ppa:kaihengfeng/lp1292830
sudo apt update
sudo apt full-upgrade
После того, как вы закончите, перезагрузите свою систему или перезапустите X11, выйдя из системы, а затем снова запустите.
В качестве альтернативы вы также можете выполнить любое из следующих действий:
Перейти на карту Intel. Если вы используете NVIDIA Prime, вы можете перейти на карту Intel, которая решит эту проблему. Обратите внимание, однако, что это не позволит системе использовать полную графическую мощность. Понижающие драйверы Согласно некоторым комментариям к отчету об ошибках, переход на драйвер NVIDIA 367.57 должен полностью решить проблему. Поскольку это больше не присутствует в PPA, вам необходимо загрузить его непосредственно из NVIDIA (64-разрядной) (32-разрядной) (32-разрядной ARM).Это не полное решение, но оно может быть лучше, чем с помощью compiz --replace или иначе перезапустить компиляцию и испортить ваши рабочие области.
Когда я возвращаюсь из suspend, я делаю это:
Система -> Настройки -> Тема изменения внешнего вида для другой темы. Вернуться к исходной темеЭто перезагрузит то, что кажется поврежденными текстурами в графическом процессоре. Если есть способ автоматически принудительно перезагрузить текстуру темы в резюме, это может быть постоянным решением.
Эта проблема также исправлена в драйвере Nvidia 375.66, который находится в обычных репозиториях и должен быть установлен обычными обновлениями.
Я попытался сменить драйвер на обновленную версию исправления ошибок, но он закрутил мою способность делать глубокое обучение с помощью тензорного потока, поэтому я вернулся к исходному программному обеспечению.
Это происходит каждый Я просыпаюсь с Убунту от сна. Я просто открываю терминал CTRL + ALT + T и нажимаю
killall compiz
Сброс дисплея и сбой исчезли. Это займет всего несколько секунд. Вы даже можете использовать его в своем ~/.bashrc, таком как alias kc='killall compiz', поэтому вам нужно только набрать kc, когда вы хотите выполнить команду.
Я попытался сменить драйвер на обновленную версию исправления ошибок, но он закрутил мою способность делать глубокое обучение с помощью тензорного потока, поэтому я вернулся к исходному программному обеспечению.
Это происходит каждый Я просыпаюсь с Убунту от сна. Я просто открываю терминал CTRL + ALT + T и нажимаю
killall compiz
Сброс дисплея и сбой исчезли. Это займет всего несколько секунд. Вы даже можете использовать его в своем ~/.bashrc, таком как alias kc='killall compiz', поэтому вам нужно только набрать kc, когда вы хотите выполнить команду.
Есть еще один способ решить эту проблему.
Просто убить Xorg после пробуждения компьютера.
Найти PID Xorg:
top
Когда вы найдете pid Xorg, нажмите Ctrl + C, чтобы остановить «верхний» процесс.
Перейти к корню и убить процесс:
sudo su
kill [pid]
После этого войдите в свою учетную запись.
Предупреждение: это закроет все ваши приложения , Firefox не создает никаких проблем, он просто восстановит все ваши вкладки, но я не могу гарантировать другие приложения, поэтому сохраните их перед выполнением этого процесса.
Теперь Nvidia также обновила свои драйверы nvidia-375 до версии 375.66, которая доступна из стандартных репозиториев Ubuntu всех поддерживаемых в данный момент релизов.
Это означает, что теперь nvidia-375 , за исключением обычного обновления системы, как всегда. Вы не нуждаетесь в пакете драйвера из graphics-drivers PPA, если вы этого не хотите.
Ниже приведен фрагмент изменений для пакета из основных репозиториев 16.04 относительно этой ошибки:
$ apt changelog nvidia-375=375.66-0ubuntu0.16.04.1
[...]
- Fixed a regression that caused corruption in certain
applications, such as window border shadows in Unity, after
resuming from suspend.
[...]
Наконец, Nvidia исправила эту проблему и выпустила новую версию рабочего драйвера: nvidia-381
Решение, описанное в этом ответе, также было обновлено и теперь предлагает перейти на эту фиксированную версию вместо перехода на последнюю версию до ошибки. Однако это остается той же процедурой, но вы просто выключаете имена пакетов.
Некоторые из собственных пакетов драйверов графики Nvidia для Ubuntu ( а именно nvidia-375 и nvidia-378) являются ошибками и создают белые артефакты вокруг границ окна, которые показаны на ваших скриншотах в вопросе. Это происходит воспроизводимо каждый раз, когда вы снова приостанавливаете и снова пробуждаетесь.
До тех пор, пока несколько дней назад пакет nvidia-367 в репозитории Xenial работал нормально и надежно, но теперь они обновили его и преобразовали к пакету перехода, который автоматически устанавливает версию buggy nvidia-375.
lspci -k | grep -iEA3 '3d|vga'
Мое решение на данный момент состоит в том, чтобы понизить с nvidia-375 или nvidia-378 до nvidia-370, что, похоже, работает до сих пор , Поскольку Nvidia выпустила новую версию обновленного драйвера nvidia-381 с исправленной ошибкой, мы можем (и должны) установить этот вариант вместо понижения.
Этот пакет недоступен из стандартные репозитории, но вы можете легко получить его из PPA и заменить его текущим драйвером, выполнив следующие команды:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*
sudo apt install nvidia-370
sudo apt install nvidia-381
После вас закончили эту процедуру, перезагрузите компьютер и проверьте, есть ли у вас проблемы. Для меня они исчезли. Удачи.
Решение, предложенное Виктором А., прекрасно работает. Однако вы должны заметить, что скрипты, помещенные в /lib/systemd/system-sleep/, выполняются как при переходе компьютера в режим сна, так и при просыпании. Учитывая, что мы хотим только позже, использование предлагаемого сценария замедляет процесс перехода в сон без необходимости. Я рекомендую следующее:
#!/bin/sh
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
case "$1" in
post) kill $(ps -C compiz -o pid=) ;;
esac
fi
Предупреждение. Этот скрипт (а также тот, который предлагается Виктором А.) отключит экран подсказки пароля при пробуждении, тем самым представляя угрозу безопасности.
NVIDIA выпустила обновленную версию драйвера, которая исправила эту регрессию. Любой драйвер, прошедший с 381.09, теперь больше не будет иметь эту проблему, пока NVIDIA не испортится снова.
До тех пор, пока драйвер не достигнет основных репозиториев, их можно загрузить с неофициального драйвера PPID NVIDIA. Это гарантирует, что вам не нужно будет возиться с установщиком (который считается плохой идеей) или нуво. Аналогичным образом, это позволит устанавливать / удалять драйверы через apt вместо опасной полуконфигурации, в которую установщик NVIDIA оставляет драйверы. Кроме того, это не вызовет никаких логических циклов или ошибок, если у вас нет странной системы. Чтобы установить, запустите:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381
Старые драйверы будут автоматически удалены, а новые будут загружены. Последуйте за перезагрузкой компьютера (так как драйверы NVIDIA необходимо запекать в ядре) и все должно работать нормально. Вы можете проверить правильность установки драйверов, выполнив следующую команду:
nvidia-settings --version
Обязательно верните любые исправления, описанные в этом сообщении , а не , которые вы обновляете до последних драйверов. Например, если вы установили исправленную версию Unity, как описано ниже, запустите эту команду, чтобы вернуться к нормальной версии:
sudo ppa-purge ppa:kaihengfeng/lp1292830
Обратите внимание, что вам понадобится ppa-purge, который может быть установлен сделано так:
sudo apt install ppa-purge
Если обновление не является вариантом (слишком старым для карты, политики компании и т. д.):
Kai-Heng Фэн из Launchpad был достаточно любезен, чтобы загрузить версию Unity в свой собственный PPA (ppa:kaihengfeng/lp1292830), который должен исправить эту проблему. Чтобы решить эту проблему, просто добавьте его PPA, выполнив следующие команды:
sudo add-apt-repository ppa:kaihengfeng/lp1292830
sudo apt update
sudo apt full-upgrade
После того, как вы закончите, перезагрузите свою систему или перезапустите X11, выйдя из системы, а затем снова запустите.
В качестве альтернативы вы также можете выполнить любое из следующих действий:
Перейти на карту Intel. Если вы используете NVIDIA Prime, вы можете перейти на карту Intel, которая решит эту проблему. Обратите внимание, однако, что это не позволит системе использовать полную графическую мощность. Понижающие драйверы Согласно некоторым комментариям к отчету об ошибках, переход на драйвер NVIDIA 367.57 должен полностью решить проблему. Поскольку это больше не присутствует в PPA, вам необходимо загрузить его непосредственно из NVIDIA (64-разрядной) (32-разрядной) (32-разрядной ARM).Это не полное решение, но оно может быть лучше, чем с помощью compiz --replace или иначе перезапустить компиляцию и испортить ваши рабочие области.
Когда я возвращаюсь из suspend, я делаю это:
Система -> Настройки -> Тема изменения внешнего вида для другой темы. Вернуться к исходной темеЭто перезагрузит то, что кажется поврежденными текстурами в графическом процессоре. Если есть способ автоматически принудительно перезагрузить текстуру темы в резюме, это может быть постоянным решением.
Эта проблема также исправлена в драйвере Nvidia 375.66, который находится в обычных репозиториях и должен быть установлен обычными обновлениями.
Я попытался сменить драйвер на обновленную версию исправления ошибок, но он закрутил мою способность делать глубокое обучение с помощью тензорного потока, поэтому я вернулся к исходному программному обеспечению.
Это происходит каждый Я просыпаюсь с Убунту от сна. Я просто открываю терминал CTRL + ALT + T и нажимаю
killall compiz
Сброс дисплея и сбой исчезли. Это займет всего несколько секунд. Вы даже можете использовать его в своем ~/.bashrc, таком как alias kc='killall compiz', поэтому вам нужно только набрать kc, когда вы хотите выполнить команду.
Есть еще один способ решить эту проблему.
Просто убить Xorg после пробуждения компьютера.
Найти PID Xorg:
top
Когда вы найдете pid Xorg, нажмите Ctrl + C, чтобы остановить «верхний» процесс.
Перейти к корню и убить процесс:
sudo su
kill [pid]
После этого войдите в свою учетную запись.
Предупреждение: это закроет все ваши приложения , Firefox не создает никаких проблем, он просто восстановит все ваши вкладки, но я не могу гарантировать другие приложения, поэтому сохраните их перед выполнением этого процесса.
Теперь Nvidia также обновила свои драйверы nvidia-375 до версии 375.66, которая доступна из стандартных репозиториев Ubuntu всех поддерживаемых в данный момент релизов.
Это означает, что теперь nvidia-375 , за исключением обычного обновления системы, как всегда. Вы не нуждаетесь в пакете драйвера из graphics-drivers PPA, если вы этого не хотите.
Ниже приведен фрагмент изменений для пакета из основных репозиториев 16.04 относительно этой ошибки:
$ apt changelog nvidia-375=375.66-0ubuntu0.16.04.1
[...]
- Fixed a regression that caused corruption in certain
applications, such as window border shadows in Unity, after
resuming from suspend.
[...]
Наконец, Nvidia исправила эту проблему и выпустила новую версию рабочего драйвера: nvidia-381
Решение, описанное в этом ответе, также было обновлено и теперь предлагает перейти на эту фиксированную версию вместо перехода на последнюю версию до ошибки. Однако это остается той же процедурой, но вы просто выключаете имена пакетов.
Некоторые из собственных пакетов драйверов графики Nvidia для Ubuntu ( а именно nvidia-375 и nvidia-378) являются ошибками и создают белые артефакты вокруг границ окна, которые показаны на ваших скриншотах в вопросе. Это происходит воспроизводимо каждый раз, когда вы снова приостанавливаете и снова пробуждаетесь.
До тех пор, пока несколько дней назад пакет nvidia-367 в репозитории Xenial работал нормально и надежно, но теперь они обновили его и преобразовали к пакету перехода, который автоматически устанавливает версию buggy nvidia-375.
lspci -k | grep -iEA3 '3d|vga'
Мое решение на данный момент состоит в том, чтобы понизить с nvidia-375 или nvidia-378 до nvidia-370, что, похоже, работает до сих пор , Поскольку Nvidia выпустила новую версию обновленного драйвера nvidia-381 с исправленной ошибкой, мы можем (и должны) установить этот вариант вместо понижения.
Этот пакет недоступен из стандартные репозитории, но вы можете легко получить его из PPA и заменить его текущим драйвером, выполнив следующие команды:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*
sudo apt install nvidia-370
sudo apt install nvidia-381
После вас закончили эту процедуру, перезагрузите компьютер и проверьте, есть ли у вас проблемы. Для меня они исчезли. Удачи.
Решение, предложенное Виктором А., прекрасно работает. Однако вы должны заметить, что скрипты, помещенные в /lib/systemd/system-sleep/, выполняются как при переходе компьютера в режим сна, так и при просыпании. Учитывая, что мы хотим только позже, использование предлагаемого сценария замедляет процесс перехода в сон без необходимости. Я рекомендую следующее:
#!/bin/sh
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
case "$1" in
post) kill $(ps -C compiz -o pid=) ;;
esac
fi
Предупреждение. Этот скрипт (а также тот, который предлагается Виктором А.) отключит экран подсказки пароля при пробуждении, тем самым представляя угрозу безопасности.
NVIDIA выпустила обновленную версию драйвера, которая исправила эту регрессию. Любой драйвер, прошедший с 381.09, теперь больше не будет иметь эту проблему, пока NVIDIA не испортится снова.
До тех пор, пока драйвер не достигнет основных репозиториев, их можно загрузить с неофициального драйвера PPID NVIDIA. Это гарантирует, что вам не нужно будет возиться с установщиком (который считается плохой идеей) или нуво. Аналогичным образом, это позволит устанавливать / удалять драйверы через apt вместо опасной полуконфигурации, в которую установщик NVIDIA оставляет драйверы. Кроме того, это не вызовет никаких логических циклов или ошибок, если у вас нет странной системы. Чтобы установить, запустите:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381
Старые драйверы будут автоматически удалены, а новые будут загружены. Последуйте за перезагрузкой компьютера (так как драйверы NVIDIA необходимо запекать в ядре) и все должно работать нормально. Вы можете проверить правильность установки драйверов, выполнив следующую команду:
nvidia-settings --version
Обязательно верните любые исправления, описанные в этом сообщении , а не , которые вы обновляете до последних драйверов. Например, если вы установили исправленную версию Unity, как описано ниже, запустите эту команду, чтобы вернуться к нормальной версии:
sudo ppa-purge ppa:kaihengfeng/lp1292830
Обратите внимание, что вам понадобится ppa-purge, который может быть установлен сделано так:
sudo apt install ppa-purge
Если обновление не является вариантом (слишком старым для карты, политики компании и т. д.):
Kai-Heng Фэн из Launchpad был достаточно любезен, чтобы загрузить версию Unity в свой собственный PPA (ppa:kaihengfeng/lp1292830), который должен исправить эту проблему. Чтобы решить эту проблему, просто добавьте его PPA, выполнив следующие команды:
sudo add-apt-repository ppa:kaihengfeng/lp1292830
sudo apt update
sudo apt full-upgrade
После того, как вы закончите, перезагрузите свою систему или перезапустите X11, выйдя из системы, а затем снова запустите.
В качестве альтернативы вы также можете выполнить любое из следующих действий:
Перейти на карту Intel. Если вы используете NVIDIA Prime, вы можете перейти на карту Intel, которая решит эту проблему. Обратите внимание, однако, что это не позволит системе использовать полную графическую мощность. Понижающие драйверы Согласно некоторым комментариям к отчету об ошибках, переход на драйвер NVIDIA 367.57 должен полностью решить проблему. Поскольку это больше не присутствует в PPA, вам необходимо загрузить его непосредственно из NVIDIA (64-разрядной) (32-разрядной) (32-разрядной ARM).Это не полное решение, но оно может быть лучше, чем с помощью compiz --replace или иначе перезапустить компиляцию и испортить ваши рабочие области.
Когда я возвращаюсь из suspend, я делаю это:
Система -> Настройки -> Тема изменения внешнего вида для другой темы. Вернуться к исходной темеЭто перезагрузит то, что кажется поврежденными текстурами в графическом процессоре. Если есть способ автоматически принудительно перезагрузить текстуру темы в резюме, это может быть постоянным решением.
Эта проблема также исправлена в драйвере Nvidia 375.66, который находится в обычных репозиториях и должен быть установлен обычными обновлениями.