我最近安装了mpd-gnome
nautilus 扩展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 抛到您的代码中。