Monodevelop -只使用sudo运行



我已经在我的Debian amd64 jessie版本上安装了Mono和Monodevelop,并且我只能使用提升权限运行Monodevelop。

从UI启动菜单中启动monodevelop会导致没有任何事情发生。从shell中启动monodevelop会导致以下错误:

未处理的例外:系统。TypeInitializationException:由MonoDevelop.Core.LoggingService——> system. configuration . configurationerrorsexception:初始化配置系统时出错。--> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section (/usr/lib/monodevelop/bin/monodevelop .exe)配置行3)at System. configuration . configinfo . throwexception (字符串文本,System.Xml.XmlReader reader) [0x00000] in:0readcontent (System.Xml. readcontent)XmlReader reader, System.Configuration.Configuration config, Boolean overrideAllowed, Boolean root) [0x00000] in:0readrootdata (System.Xml. readrootdata)XmlReader reader, System.Configuration.Configuration config, Boolean overrideAllowed) [0x00000] in:0readconfigfile (System.Xml. conf)XmlReader阅读器,System。String fileName) [0x00000] in:0at System.Configuration.Configuration.Load () [0x00000] in:0system . conf . conf . conf . conf . conf . confString configPath, System.Configuration.Configuration parent) [0x00000] in:0在System.Configuration. configuration…内部配置系统,系统。String locationSubPath) [0x00000] in:0创建(System. configuration . internalconfigurationfactory . create)类型typeconfight, System。Object[] hostInitConfigurationParams) [0x00000] in:0在System. configuration . configurationmanager . openexecconfigurationinternal (ConfigurationUserLevel userLevel, System. reflection . assembly)String exePath) [0x00000] in:0在System.Configuration.ClientConfigurationSystem。get_Configuration () [0x00000] in:0——内部异常堆栈跟踪结束——在System.Configuration.ClientConfigurationSystem。get_Configuration () [0x00000] in:0getsection (System. configuration . clientconfigurationsystem .System. configuration . internalconfigsystem . getsection)String configKey) [0x00000] in:0getsection (System. configuration . configurationmanager . getsection)String sectionName) [0x00000] in:0getconfig (System. configuration . configurationsettings . getconfig)String sectionName) [0x00000] in:0在System.Diagnostics.DiagnosticsConfiguration。get_Settings () [0x00000] in:0at System.Diagnostics.TraceImpl.InitOnce () [0x00000] in:0在System.Diagnostics.TraceImpl。get_Listeners () [0x00000] in:0在System.Diagnostics.Debug。get_Listeners () [0x00000] in:0at MonoDevelop.Core.LoggingService..cctor () [0x00000] in:0——内部异常堆栈跟踪结束——在MonoDevelop.Ide.IdeStartup.Main (System)String[] args, MonoDevelop.Ide.Extensions.IdeCustomizer customizer) [0x00000] in:0在MonoDevelop.Startup.MonoDevelopMain.Main系统。String[] args) [0x00000] in:0致命的未处理异常:系统。TypeInitializationException:由MonoDevelop.Core.LoggingService——> system. configuration . configurationerrorsexception:初始化配置系统时出错。--> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section (/usr/lib/monodevelop/bin/monodevelop .exe)配置行3)at System. configuration . configinfo . throwexception (字符串文本,System.Xml.XmlReader reader) [0x00000] in:0readcontent (System.Xml. readcontent)XmlReader reader, System.Configuration.Configuration config, Boolean overrideAllowed, Boolean root) [0x00000] in:0readrootdata (System.Xml. readrootdata)XmlReader reader, System.Configuration.Configuration config, Boolean overrideAllowed) [0x00000] in:0readconfigfile (System.Xml. conf)XmlReader阅读器,System。String fileName) [0x00000] in:0at System.Configuration.Configuration.Load () [0x00000] in:0system . conf . conf . conf . conf . conf . confString configPath, System.Configuration.Configuration parent) [0x00000] in:0在System.Configuration. configuration…内部配置系统,系统。String locationSubPath) [0x00000] in:0创建(System. configuration . internalconfigurationfactory . create)类型typeconfight, System。Object[] hostInitConfigurationParams) [0x00000] in:0在System. configuration . configurationmanager . openexecconfigurationinternal (ConfigurationUserLevel userLevel, System. reflection . assembly)String exePath) [0x00000] in:0在System.Configuration.ClientConfigurationSystem。get_Configuration () [0x00000] in:0——内部异常堆栈跟踪结束——在System.Configuration.ClientConfigurationSystem。get_Configuration () [0x00000] in:0getsection (System. configuration . clientconfigurationsystem .System. configuration . internalconfigsystem . getsection)String configKey) [0x00000] in:0getsection (System. configuration . configurationmanager . getsection)String sectionName) [0x00000] in:0getconfig (System. configuration . configurationsettings . getconfig)String sectionName) [0x00000] in:0在System.Diagnostics.DiagnosticsConfiguration。get_Settings () [0x00000] in:0at System.Diagnostics.TraceImpl.InitOnce () [0x00000] in:0在System.Diagnostics.TraceImpl。get_Listeners () [0x00000] in:0在System.Diagnostics.Debug。get_Listeners () [0x00000] in:0at MonoDevelop.Core.LoggingService..cctor () [0x00000] in:0——内部异常堆栈跟踪结束——在MonoDevelop.Ide.IdeStartup.Main (System)String[] args, MonoDevelop.Ide.Extensions.IdeCustomizer . customizer) [0x00000] in:0

在shell中使用sudo monodevelop运行绝对没问题。我已经清除了所有(我的意思是所有)mono软件包并重新安装,但错误仍然存在。我正在安装的包来自这里列出的mono包存储库。

这似乎是一个权限问题,但我不能为我的生活工作出什么文件夹或文件可能导致这个。我花了两天的时间试图弄清楚这个问题,但完全没有任何进展,所以如果有人有任何想法或以前遇到过这个问题,我很乐意听到它。

谢谢,迈克

使用strace查找权限错误。通常,当一个程序只能以root身份运行时,这意味着某些文件是不可访问的,除非root。

strace monodevelop

我自己也有同样的问题。我做了

strace monodevelop > user.txt
sudo strace monodevelop > root.txt
diff user.txt root.txt > diff.txt

然后我搜索有问题的文件。

最后,这实际上没有帮助我。我最终卸载并重新安装了mono,以及与之相关的一切。希望任何一个解决方案都能有所帮助。

最新更新