41

Sublime & 从终端打开一个 Sublime Text 窗口,但不断收到此消息:

(sublime: 6476): GLib-CRITICAL **; Source ID 1982 was not found when attempting to remove it. 

源 ID 不断变化。使用 Ubuntu 14.04。

任何想法可能会发生什么?谢谢!

4

4 回答 4

18

Ubuntu 的错误跟踪器中的这个页面描述了这种特殊情况。显然这是 14.04 的一个已知错误,可能是因为 GLib 的回归,或者 GLib 和 GTK 之间的不匹配(其中一位评论者说)。

没有任何东西试图删除 Sublime,这只是编程库中的一个错误。如果没有什么东西在你身上崩溃,或者变得无法使用,那就忽略它......

编辑 此问题已在 14.10 及更高版本中修复。您可以升级您的发行版,或者只是升级glib并且错误应该消失。升级到Sublime Text 3(无论如何都强烈推荐)也可以解决这个问题。

于 2014-04-19T05:10:53.513 回答
11

这最终太烦人了,无法忽略,所以我有一个非常草率的解决方案。这是一个在 nohup 中运行 sublime 的函数。起初,我尝试创建一个别名来使用 nohup 运行 sublime,但它会生成一个日志文件.output并将其保留在我正在工作的任何目录中。为了解决这个问题,该函数sblm在 nohup 中运行 sublime,它隐藏了来自终端的错误,然后将输出日志发送到 /dev/null

现在我有了一个函数,sblm我只需使用别名sublime来覆盖正常的 sublime 函数。

将所有这些粘贴到您的.bash_aliases文件中。

#Function to deal with the annoying sublime errors
#Send annoying .output logs to /dev/null
function sblm
{
    nohup sublime $1 >/dev/null 2>&1 &
} 

#Call my sublime function
alias sublime="sblm"
于 2014-06-03T17:54:01.333 回答
10

我升级到 sublime 3,我停止接收这些消息。希望它也适合你。

[编辑]您可以按照此快速教程升级到 sublime text 3:WebUpd8 教程

于 2014-08-04T19:43:14.283 回答
4

看起来 ConsoleKit 中存在双重释放错误。

最近在很多 Gnome 程序中都出现了这种情况,但 ConsoleKit 用户受到的影响尤其严重,因为(根据我的经验)每次按键都会发出警告。消息的来源是 Glib 的g_source_remove(),但它的意思是调用者试图使用g_source_remove()不当。 g_source_remove()是一个资源释放函数,很像 libc 的free(),所以最可能的原因是在同一个对象上调用它两次。

来自https://bugzilla.gnome.org/show_bug.cgi?id=721369#c7

GLib 最近开始在 g_source_remove() 传递垃圾时发出警告(根据警告)。您的应用程序可能已经被破坏了一段时间,并且不知道过去当 g_source_remove() 会愉快地关闭任何随机源时实际发生了什么,因为程序员得到了 g_source_remove() 的错误参数。

于 2014-07-08T18:18:11.553 回答