Zepsute tło pulpitu na Ubuntu 18.04 pod gnome po przebudzeniu się z zawieszenia na nvidia-390


20

Mam kartę graficzną Nvidia 1080ti, która ma zaledwie kilka dni. Ponadto mam czystą instalację Ubuntu 18.04 i najnowsze sterowniki nvidia-390, używając apt:

~$ sudo dpkg -l  | grep nvidia
ii  libnvidia-cfg1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-390                       390.59-0ubuntu0~gpu18.04.1              all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-390:amd64                390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA libcompute package
ii  libnvidia-compute-390:i386                 390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA libcompute package
ii  libnvidia-decode-390:amd64                 390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-390:i386                  390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-390:amd64                 390.59-0ubuntu0~gpu18.04.1              amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-390:i386                  390.59-0ubuntu0~gpu18.04.1              i386         NVENC Video Encoding runtime library
ii  libnvidia-fbc1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-390:i386                    390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-390:amd64                     390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-390:i386                      390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-390:amd64                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-390:i386                    390.59-0ubuntu0~gpu18.04.1              i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-390                                 390.59-0ubuntu0~gpu18.04.1              amd64        Transitional package for nvidia-driver-390
ii  nvidia-compute-utils-390                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA compute utilities
ii  nvidia-dkms-390                            390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA DKMS package
ii  nvidia-driver-390                          390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-390                   390.59-0ubuntu0~gpu18.04.1              amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-390                   390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.8                                   all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            396.24-0ubuntu0~gpu18.04.1              amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-390                           390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-390              390.59-0ubuntu0~gpu18.04.1              amd64        NVIDIA binary Xorg driver

Mój problem polega na tym, że za każdym razem, gdy wybudzam komputer z trybu wstrzymania, moje tło zmienia się w ten wzór szumu (mam ustawiony jednolity kolor):

wprowadź opis zdjęcia tutaj

Myślę, że warto wspomnieć, że NIE mam żadnych błędów graficznych na ekranie logowania (czasami był to problem w Ubuntu 16.04). Ekran logowania działa tutaj idealnie.

Wszelkie pomysły, jak rozwiązać ten problem i skąd on pochodzi?

Odpowiedzi:


17

Mam też podobny problem. Mam pudełko Dell / Alienware z GeForce GTX 860M, z systemem Ubuntu 18.04.

Gdy komputer budzi się z trybu wstrzymania, mam również problem z uszkodzonym tłem pulpitu, czasem białym lub kolorem „śniegu”. Mogę rozwiązać problem za pomocą:

dbus-send --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval "string:global.reexec_self()"

Mam skonfigurowane konto, aby nie wznawiać ekranu blokady i myślę, że może to mieć znaczenie. Lock-on-suspend nie wydaje się mieć znaczenia.

EDYCJA: Zmieniłem sterownik nvidii z 390 na 396 i to nie naprawiło tego. Ale co ciekawsze, jeśli korzystam z pulpitu Unity, problem NIE występuje. Wskazuje to na oprogramowanie komputerowe Gnome, może ...

Chciałbym to naprawić naprawdę!


Jak mogę to przywrócić? Ponieważ spowodowało to nieoczekiwane rzeczy.
— Esen Mehmet,

12

Innym sposobem obejścia tego problemu jest: Alt + F2 , następnie naciśnij r i naciśnij Enter.
Spowoduje to ponowne uruchomienie Gnome.


8

Mam ten sam problem z uruchomieniem Ubuntu 18.04.1. Mam NVIDIA GT220, wersja sterownika 340.106. Błąd został zgłoszony tutaj: bugzilla.gnome.org dawno temu. Dotyczył Gnome 3.14, a Ubuntu 18 ma teraz Gnone 3.28. Należy to naprawić. Ze sterownikiem Nouveau nie masz tego problemu.

Oto, co mówi o tym Nvidia:

Nasza obecna architektura oprogramowania nie zachowuje zawartości FBO między przełącznikami trybów lub zdarzeniami zasilania. W rezultacie nasza implementacja polega na ponownym renderowaniu aplikacji na swoich serwerach FBO w każdej ramce. Jest to podstawowe ograniczenie naszego projektu, które zostanie naprawione w przyszłości.

Gnome używa FBO, aby nie musieć renderować tła na każdej klatce. Ale zawartość FBO nie jest zapisywana, gdy komputer wchodzi w tryb uśpienia.


5

Mam też ten problem. obejście wydaje mi się używać obrazu jako tła zamiast koloru.


1

Miałem również ten sam problem w Ubuntu 18.04.3 przy użyciu NVIDIA 390.129. W tle widać było głośny obraz po wybudzeniu komputera z trybu zawieszenia. Nie znalazłem właściwego rozwiązania, ale zhackowałem sposób ustawienia właściwego tła dla uruchomienia usługi, gdy komputer budzi się z zawieszenia.

Najpierw utwórzmy plik change_background.shw /usr/bin:

#!/bin/bash
source /usr/bin/discover_session_bus_address.sh
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
export DISPLAY=:0.0
gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/your_pick.jpeg'

Ustaw ścieżkę do żądanego obrazu.

Musimy również utworzyć /usr/bin/discover_session_bus_address.shi wkleić poniższy kod dzięki uprzejmości Adama Ryczkowskiego . change_background.shźródło pliku, aby ustawić DBUS_SESSION_BUS_ADDRESSzmienną środowiskową.

#!/bin/bash

# Remember to run this script using the command "source ./filename.sh"

# Search these processes for the session variable 
# (they are run as the current user and have the DBUS session variable set)
compatiblePrograms=( nautilus kdeinit kded4 pulseaudio trackerd )

# Attempt to get a program pid
for index in ${compatiblePrograms[@]}; do
    PID=$(pidof -s ${index})
    if [[ "${PID}" != "" ]]; then
        break
    fi
done
if [[ "${PID}" == "" ]]; then
    echo "Could not detect active login session"
    return 1
fi

QUERY_ENVIRON="$(tr '\0' '\n' < /proc/${PID}/environ | grep "DBUS_SESSION_BUS_ADDRESS" | cut -d "=" -f 2-)"
if [[ "${QUERY_ENVIRON}" != "" ]]; then
    export DBUS_SESSION_BUS_ADDRESS="${QUERY_ENVIRON}"
    echo "Connected to session:"
    echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}"
else
    echo "Could not find dbus session ID in user environment."
    return 1
fi

return 0

Na koniec stwórzmy plik usługi znajdujący się w /etc/systemd/systemnazwie na przykładchange_background.service

[Unit]
Description=Change background when waking up from suspend, by Edmundo. 
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
User=your_username
RemainAfterExit=yes
ExecStop=-/usr/bin/change_background.sh

[Install]
WantedBy=sleep.target

Upewnij się, że masz odpowiednie uprawnienia do wszystkich plików.

Uruchom usługę za pomocą:

sudo systemctl enable change_background.service

Możesz sprawdzić status za pomocą:

systemctl status change_background.service

Mam nadzieję, że to rozwiązało twój problem, teraz tło powinno zostać ustawione na wybrane przez ciebie zdjęcie, gdy komputer budzi się z zawieszenia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.