![파일 관리자를 두 번 클릭하면 응용 프로그램이 실행되는 사이에 어떤 일이 발생합니까?](https://linux55.com/image/4034/%ED%8C%8C%EC%9D%BC%20%EA%B4%80%EB%A6%AC%EC%9E%90%EB%A5%BC%20%EB%91%90%20%EB%B2%88%20%ED%81%B4%EB%A6%AD%ED%95%98%EB%A9%B4%20%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%B4%20%EC%8B%A4%ED%96%89%EB%90%98%EB%8A%94%20%EC%82%AC%EC%9D%B4%EC%97%90%20%EC%96%B4%EB%96%A4%20%EC%9D%BC%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
파일 관리자에서 파일을 여는 과정에 어떤 애플리케이션 체인이 관련되어 있습니까?
Xfce 4이고 마우스 패드에서 열도록 설정된 간단한 일반 텍스트 파일이라고 가정하고 다음 두 가지 순간을 고려하십시오.
Thunar 또는 Nautilus 등에서 파일을 두 번 클릭합니다.
마우스패드는 파일로 시작됩니다.
그 배경에는 서로 다른 파일 관리자와 애플리케이션을 사용해도 발생하는 듯한 버그가 있다는 것입니다. 예를 들어 Nautilus/Mousepad 또는 Thunar/Libreoffice Calc 시나리오에서도 이 오류가 발생합니다.
데비안 Jessie amd64, FTM입니다.
답변1
이 도구를 사용하면 애플리케이션 뒤에서 무슨 일이 일어나고 있는지 이해할 수 있습니다 strace
. 다음과 같이 문제의 도구를 호출하십시오.
$ strace <app>
있을 예정이니 참고해주세요많은도구가 생성하는 출력의 양이므로 파일에 덤프할 수 있습니다.
$ strace -o <logfile> <app>
예
먼저 로그를 수집하세요.
$ strace -o trace.log thunar
충돌이 발생하거나 닫히면 로그를 볼 수 있습니다. 이것은 로그 파일의 덤프입니다.
$ less trace.log
execve("/usr/bin/thunar", ["thunar"], [/* 93 vars */]) = 0
brk(0) = 0x13aa000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7913726000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=243371, ...}) = 0
mmap(NULL, 243371, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f79136ea000
close(3) = 0
open("/usr/lib64/libX11.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \337\241\3514\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1308808, ...}) = 0
mmap(0x34e9a00000, 3403160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x34e9a00000
....