双击文件管理器和应用程序启动之间会发生什么?

双击文件管理器和应用程序启动之间会发生什么?

从文件管理器打开文件的过程涉及哪些应用程序链?

考虑这两个时刻,假设它是 Xfce 4 和一个设置为在 Mousepad 中打开的简单纯文本文件:

  1. 我在 Thunar 或 Nautilus 等中双击该文件,

  2. 鼠标垫与文件一起启动

背景是我有一个错误,即使我使用不同的文件管理器和应用程序,似乎也会发生该错误。例如,Nautilus/Mousepad 或 Thunar/Libreoffice Calc 场景也会遇到此错误。

它是 Debian 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
....

参考

相关内容