大错误:gedit没有打开,sh使sh无限循环

时间:2015-04-13 01:12:45

标签: process console gtk sh gedit

所以,我的gedit不再打开了:在命令行中它显示了经典的典型警告数量,然后停在某一点并且没有做任何其他事情;在它之前(似乎)冻结在终端之前的整个输出下面:

(gedit:25142): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:544:12: Expected '('

(gedit:25142): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:1039:0: Junk at end of value

(gedit:25142): Gtk-WARNING **: Theme parsing error: button.css:41:13: Expected '('

(gedit:25142): Gtk-WARNING **: Theme parsing error: button.css:46:29: Expected ',' in color definition

(gedit:25142): Gtk-WARNING **: Theme parsing error: button.css:98:16: Not using units is deprecated. Assuming 'px'.

(gedit:25142): Gtk-WARNING **: Theme parsing error: button.css:98:24: Not using units is deprecated. Assuming 'px'.

(gedit:25142): Gtk-WARNING **: Theme parsing error: toolbar.css:34:23: Not a valid image

(gedit:25142): Gtk-WARNING **: Theme parsing error: toolbar.css:93:22: Not a valid image

(gedit:25142): Gtk-WARNING **: Theme parsing error: popover.css:27:4: Junk at end of value

(gedit:25142): Gtk-WARNING **: Theme parsing error: popover.css:37:17: Expected '('

(gedit:25142): Gtk-WARNING **: Theme parsing error: albumlistview.css:26:20: Not using units is deprecated. Assuming 'px'.

我注意到在我的系统监视器中,一个sh进程正在创建我认为是子进程的东西,但它本身就是无限循环,也就是说,创建了一个小孩sh'等等,并且不可能阻止它,虽然当然现在它并没有让我烦恼。

无论如何,我喜欢我的gedit! ^^我试图重命名插件文件夹,看看它是否会加载它们。 (没有工作)

确实发生了我在开始疯狂的时候正在制作一个插件,但是在我最后一次打开它时它完全奏效了,而且我还没有在最后一次开放之间改变插件。 gedit窃听的那一刻。

另外一个重要的数据:因为我正在调试我的插件,我尝试(我认为如何工作)this method删除上面提到的gedit的愚蠢警告。 然后我做了什么:

创建了一个foo.sh文件,里面有:

_supress() {
  eval "$1() { \$(which $1) \"\$@\" 2>&1 | tr -d '\r' | grep -v \"$2\"; }"
}

_supress gedit "WARNING"

在运行此文件后,gedit根本无法正常工作;因为我当时已经有一个打开的gedit,它一直向我显示打开的gedit窗口,然后在准确显示上述警告后再返回bash。

但当时(当我在gedit之后尝试foo.sh时),它返回bash(在向我显示打开的gedit之后),而现在它没有,它只是保持运行而不做任何可见的事情,"等待"对于ctrl + C.

我显然错过了上述方法的线索;我尝试了其他版本,其中包括:

eval "gedit() { \$(which gedit) \"\$@\" 2>&1 | tr -d '\r' | grep -v \"WARNING\"; }"

再次,没有工作;

当我意识到,一旦我关闭了最后一个打开的gedit窗口,gedit根本就没有打开了(除了上面的警告和留在现场);

我的系统监视器然后告诉我上面所说的内容(sh self在无限循环中创建,我猜不是巧合)。我试图重新启动整个计算机:重启时它是同一个故事

我有点绝望,并且配置gedit足够完全重新安装是一个完整的个人悲剧:(

等待帮助!提前谢谢:)

编辑:这是一个很大的问题,但是我已经在不到半个小时的时间内完成了+12,000个进程,而我的内核似乎只允许+32000:

>cat /proc/sys/kernel/pid_max
32768

我不知道,如果我重新启动时根本不打开gedit就会出现这些内容......我会尝试。

编辑:好消息,sh在重新启动时没有再循环,所以我很确定它与gedit的错误有关,并且如果我重试到的话会开始重新打开gedit。

编辑:另一件事:如果在root上运行它就没有问题;当然,我没有完成我的所有个人配置,但这意味着它只是"我的"虽然我不知道在哪里定义两个实例之间的差异......(从上面可以看出,我在bash& co上相当新手)

1 个答案:

答案 0 :(得分:0)

我将从一个空的配置目录开始:

mv $HOME/.config/gedit $HOME/.config/gedit.crap

并将旧目录内容逐位重新添加到$HOME/.config/gedit以寻找真正的罪魁祸首。

如果你还搞乱了系统配置,你应该从头开始重新安装gedit。