신비한 프로그램 충돌: 단서를 찾을 수 있는 곳은 어디입니까?

신비한 프로그램 충돌: 단서를 찾을 수 있는 곳은 어디입니까?

Ubuntu 14.04에서는 다음과 같은 상황이 자주 발생합니다. 애플리케이션을 열었는데 약 15초 내에 애플리케이션 창이 화면에서 사라집니다. 표시되지 않으면 ps aux | grep nameOfApplication무언가가 종료/종료된 것입니다. 이는 세션 시작당 한 번만 발생하며 매번 발생하는 것은 아닙니다. 지금까지는 Firefox, Thunderbird 및 gnome-terminal에서 이런 일이 발생했습니다. 내 기억으로는 노틸러스에서는 이런 일이 일어난 적이 없으며, gnome-terminal에서만 경험했습니다.뒤쪽에노틸러스를 열고 폴더를 탐색하여 시작하십시오. 따라서 실행된 첫 번째 응용 프로그램이 반드시 종료되는 것은 아닙니다. 내 데스크톱 환경은 Unity가 아닌 cairo-dock입니다.선험적으로카이로독이 범인이라고 의심할 만한 이유가 있다.

내 질문: 무슨 일이 일어나고 있으며 그 이유에 대한 단서는 어디에서 찾을 수 있습니까? 이러한 충돌은 apport또는 을 유발하지 않습니다 whoopsie. 이유를 알아낸 경우 다음 중지점은 Launchpad가 되어야 할까요?


고쳐 쓰다

이런 문제는 며칠동안 발생하지 않았는데 오늘 아침에 또 발생했습니다. 부팅하고 Firefox를 시작한 다음 gnome-terminal을 시작하고 실행한 다음 tail -f .xsession-errors다시 Firefox로 초점을 전환하고 몇 초 후에 Firefox가 사라졌습니다. 이것은 초기 꼬리입니다 .xsession-errors. 불행히도 Firefox가 사라졌을 때 아무것도 추가되지 않았습니다.

[~] $ tail -f .xsession-errors
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated. please move it to /home/dan/.config/fontconfig/fonts.conf manually

** (gnome-terminal:2600): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

(gnome-terminal:2600): GLib-GIO-CRITICAL **: g_settings_get: the format string may not contain '&' (key 'monospace-font-name' from schema 'org.gnome.desktop.interface'). This call will probably stop working with a future version of glib.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated. please move it to /home/dan/.config/fontconfig/fonts.conf manually

** (gnome-user-share:2696): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

** (telepathy-indicator:2698): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x4UUa9owca: Connection refused

나에게는 이것들이 모두 무관해 보이지만 경험이 많은 사용자들은 내가 보지 못하는 것을 보게 되기를 바랍니다.

답변1

먼저 터미널에서 실행했습니다. 그래픽 터미널에 문제가 있는 애플리케이션이 있다고 말했으므로 TTY를 사용하십시오.

  1. Control+ Alt+ F1TTY1에 도착함
  2. 로그인.
  3. DISPLAY=:0 gnome-terminal모니터에서 문제가 되는 응용 프로그램을 시작하려면 실행하세요 (여러 모니터를 실행하는 경우 모니터 번호를 변경하십시오).
  4. ++를 사용하여 ControlX 서버로 다시 전환하고 충돌이 발생할 때까지 Gnome 터미널을 사용하십시오.AltF7
  5. TTY1로 다시 전환하고 오류 메시지를 확인합니다.

내 경험에 따르면 설명할 수 없는 정지 현상은 대개 RAM 문제나 그래픽 카드 드라이버 문제로 인해 발생합니다. 이 둘 중 하나는 상당한 두통을 유발할 만큼 충분한 파이를 만들 수 있는 충분한 손가락을 가지고 있습니다.

좋은 Google 오류 메시지를 찾지 못했다고 가정하면 grub 또는 LiveCD/USB에서 memtest를 실행하고 더 안정적인 그래픽 드라이버가 있는지 확인합니다. 그런 다음 커널 버전을 변경하십시오. 이 시점에서는 오류를 재현하고 변경 사항을 기록하는 것만큼 중요합니다.

답변2

GUI를 통해 호출된 프로그램의 출력은 .xsession-errors홈 디렉터리의 파일로 전송되므로 여기서 단서를 찾아야 합니다.

모든 프로그램의 출력이 동일한 위치로 전송되므로 충돌한 프로그램의 출력이 무엇인지 파악하기 어려울 수 있습니다. 특정 프로그램의 출력을 얻으려면 터미널에서 해당 프로그램을 실행하십시오. 명령줄(예: 쉘 프롬프트)에 실행 파일 이름을 입력하거나 firefox출력을 파일로 리디렉션합니다.

{ firefox; echo $?; } </dev/null >~/firefox-$(date).log 2>&1 & disown

이 명령을 실행한 후 터미널을 닫을 수 있습니다.

Firefox의 모든 출력은 . Firefox가 종료되면 로그 파일의 마지막 줄은 상태 코드가 됩니다. 0은 정상 종료를 의미하고, 1–127은 오류를 의미하고, 128–255는 신호로 인해 Firefox가 종료되었음을 의미합니다(예: 139는 분할 위반을 의미). , 이는 유효하지 않은 포인터 액세스입니다).firefox-DATE.log

충돌이 자주 발생하는 주요 이유는 두 가지입니다.

  • 비디오 드라이버 오류입니다. Unity(기본값)와 같은 3D 환경을 사용하고 있다면 Compiz 없이 LXDE와 같은 2D 환경으로 전환해 보세요.
  • 메모리에 결함이 있습니다. RAM은 시간이 지남에 따라 성능이 저하될 수 있습니다. 당신의 기억력을 테스트해보세요. 컴퓨터를 다시 시작하고 Shift키보드가 초기화 중이라는 메시지가 표시되자마자 누르고 있으면 몇 초 후에 Grub 부팅 메뉴가 표시됩니다. (부팅 메뉴가 보이지 않으면 다음을 참조하세요.Shift 키를 누르면 그럽 메뉴로 들어가지 않습니다..) 테스트 실행이 적어도 한 번은 완전히 통과되도록 하십시오. 오류가 보고되면 즉시 RAM을 교체하고 모든 데이터를 확인하십시오. RAM 불량으로 인해 데이터가 손상될 수 있습니다.

관련 정보