如何调试 Nautilus 扩展?

如何调试 Nautilus 扩展?

我最近安装了mpd-gnomenautilus 扩展nautilus-mpd.py。这个扩展似乎不起作用,所以我决定从命令行运行 nautilus,看看它是否会抛出与扩展有关的某种错误。不幸的是,当我尝试这个扩展时,nautilus 就分叉到后台或其他地方。

我如何才能确切了解我的扩展程序无法工作的原因?

答案1

我记得我自己调试扩展时能够从终端运行 nautilus;如果您终止然后立即重新启动 nautilus,您应该可以从命令行运行它:

nautilus -q && nautilus ~/

我已经确认这在 Lucid 上有效。请注意,启动 nautilus 时传入某个目录很重要,否则它会在后台分叉。

答案2

如果您希望 nautilus 永久停止,请打开并将gconf-editor/desktop/gnome/session/required_components_list 设置为windowmanager,panel(删除“filemanager”)。然后注销并重新登录。

要恢复以前的行为,请将 gconf 键改回windowmanager,panel,filemanager

答案3

根据我的经验,调试 Nautilus 扩展的最佳方法是使用 Python 的日志模块将内容记录到文件中。因此,您可以这样做

from gi.repository import Nautilus, GObject
import logging

class MyExtension(GObject.GObject, Nautilus.MenuProvider):
    
        def __init__(self):
            logging.basicConfig(filename="/your/path/pyext.log",
                        filemode='a',
                        format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
                        datefmt='%H:%M:%S',
                        level=logging.DEBUG)

然后将logging.info()s 抛到您的代码中。

相关内容