상태
첨부된 이미지 참조: Firefox 아이콘창문업그레이드가 중단(가상머신 충돌)되면 사라지지만 바탕화면과 시작메뉴의 아이콘은 정상입니다. (중요한 경우에는 Lubuntu 20.04 및 LXQt DE를 사용하고 있습니다.)
내가 지금까지 무엇을 했는지
작업이 잘 수행되는 것처럼 보이는 손상된 업그레이드를 수정하기 위해 다양한 방법을 시도했습니다(예: 오류 메시지 없이 성공적으로 완료됨).Firefox 제거/재설치 포함, 그러나 이것은 분명히 도움이 되지 않습니다.
Bash 기록에서:
pkg --configure -a
apt-get install -f
apt autoremove
apt-get update --fix-missing
dpkg-reconfigure -a
dpkg --configure -a
apt-get clean
apt-get -f install
apt-get update
apt-get upgrade
apt install --reinstall firefox
dpkg -P firefox
apt install firefox
질문
내가 어떻게 할 수있는디버그이 문제? 즉, 아이콘을 복원하라는 명령도 괜찮지만, 무엇이 잘못되었는지, 어떻게 해결해야 하는지 좀 더 깊이 이해하고 싶습니다.
즉:
- 파이어폭스는 어디에 있나요창문아이콘은 어디에서 가져와야 합니까?
- 존재하는지 어떻게 확인할 수 있나요? (즉, 반드시 별도의 파일이 아니라 실행 파일에 내장된 리소스일 수도 있습니다. 이 경우 리소스가 존재하는지 어떻게 확인합니까?)
- 어떤 패키지가 손상되었는지 어떻게 알 수 있나요?
- 업그레이드 중단으로 인해 다른 패키지가 손상되지 않았는지 어떻게 알 수 있나요? (위에서 실행한 명령은 시스템을 수정한 것으로 추정되지만 적어도 Firefox의 경우에는 그렇지 않습니다. 다른 패키지는 여전히 미묘한 방식으로 손상되었을 수 있습니다.)
논평
최근에 (성공적으로) 업그레이드되어 창 아이콘이 괜찮은 동일한 OS/DE를 사용하는 또 다른 VM이 있습니다. 즉, 이것이 패키지의 버그라고 생각하지 않습니다.
답변1
드디어 해결책을 찾았습니다!
간단히 말해서:
실행 후 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
아이콘이 다시 나타납니다 .
더 긴 버전:
Firefox를 제거하고 다시 설치하려고 여러 번 시도한 끝에 다음 메시지와 함께 탭을 드래그하려고 하면 충돌이 발생하는 것을 발견했습니다.
(crashreporter:11662): Gtk-WARNING **: 21:57:15.194: Could not load a pixbuf from /org/gtk/libgtk/theme/Adwaita/assets/check-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/gnome/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/gnome/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
따라서 손상된 것은 Firefox가 아니라 일부 Gtk 아이콘 팩입니다.
약간의 조사 끝에 위의 명령을 찾았습니다. (참고: 명령이 /usr/bin/gdk-pixbuf-query-loaders --update-cache
작동하지 않는 것을 발견하여 먼저 apt-get install --reinstall libgdk-pixbuf2.0-0
--를 사용하여 패키지를 다시 설치했습니다. 이는 수정에 도움이 될 수도 있고 도움이 되지 않을 수도 있지만 패키지가 아니지만 손상된 것 같은 느낌이 듭니다.)