Ubuntu14.04上的升华文本-一直试图删除它

Ubuntu14.04上的升华文本-一直试图删除它,ubuntu,sublimetext2,sublimetext,ubuntu-14.04,glib,Ubuntu,Sublimetext2,Sublimetext,Ubuntu 14.04,Glib,升华&从终端打开一个升华文本窗口,但继续收到以下消息: (sublime: 6476): GLib-CRITICAL **; Source ID 1982 was not found when attempting to remove it. 源ID不断更改。使用Ubuntu 14.04 你知道会发生什么吗?谢谢 Ubuntu的bug跟踪器中描述了这种特殊情况。显然,这是14.04中的一个已知错误,可能是由于GLib的回归,或者GLib和GTK之间的不匹配(一位评论者如是说) 没有任何东西试

升华&从终端打开一个升华文本窗口,但继续收到以下消息:

(sublime: 6476): GLib-CRITICAL **; Source ID 1982 was not found when attempting to remove it. 
源ID不断更改。使用Ubuntu 14.04

你知道会发生什么吗?谢谢

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

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

编辑
此问题已在14.10及以后版本中修复。您可以升级您的发行版,或者只需升级glib,错误就会消失。升级到(无论如何都是高度推荐的)也会解决问题。

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

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

将所有这些内容粘贴到您的
.bash\u别名文件中

#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"

看起来ConsoleKit中有一个双重免费bug

最近很多Gnome程序中都出现了这种情况,但ConsoleKit用户尤其受到影响,因为(根据我的经验)每次按键都会出现警告。消息的来源是Glib的
g\u source\u remove()
,但它的意思是调用方试图不正确地使用
g\u source\u remove()
g_source\u remove()
是一个释放资源的函数,非常类似于libc的
free()
,因此最有可能的原因是在同一对象上调用它两次

发件人:

GLib最近开始在g_source_remove()被传递为垃圾时抛出警告(根据警告)。您的应用程序可能已经中断了一段时间,现在还不知道在过去,当g_source_remove()乐意关闭任何随机源时会发生什么,因为程序员对g_source_remove()的参数错误


我升级到升华3,不再收到这些信息。希望它对你也有用


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

使用错误代码进行搜索。。未找到Ubuntu错误跟踪页面。感谢您抽出时间。谢谢。很抱歉对这条评论的回复太晚,但是你知道这是否会填满任何日志文件吗?我只是想确保忽略它不会导致一些日志文件随着时间的推移增长到荒谬的大小。@Mo2抱歉,刚刚看到您的评论。这条消息将发送到您的标准错误输出,因此,除非您的系统设置为记录任何程序发出的每一条错误消息(我不相信Ubuntu的普通安装会做到这一点),否则我不会担心任何事情。无论如何,大多数日志文件都会在一段时间后压缩和旋转,根据设置,旧文件可能会被删除,因此您应该可以。如果你和我一样,随机下载会比错误消息更快地填满你的磁盘:)我的终端也会抛出这个错误。没有任何东西会撞坏或断裂(据我所知),因此它比任何东西都更令人讨厌。如果你找到了修复方法,请在这里发布。你知道是什么导致了错误吗?不确定,但就像Jander提到的,这很可能是由于不当使用了
g_source_remove()
函数。按照Yeysides的方法解决了问题。我正在编辑他的答案,以添加一个链接,指向如何升级到Sublime 3的教程。您还可以编写
alias sblm='Sublime_text.&>/dev/null'
。这很有用!:但是当您需要使用命令行打开多个文件时,问题就出现了。如果您编写
sublime*.cpp&
,它只会打开第一个.cpp文件。如何编辑函数以便在以后接受参数(文件路径)?