我正在使用 Ubuntu 12.04 x64,最近从http://ridiculousfish.com/shell/,我非常喜欢它。但使用它的缺点是,当我尝试使用 tab 补全功能时,它会给我以下 sigsegv 错误:
fish: Process 17820, “fish_pager” from job 1, “fish_pager -c 3 -r 4 -p ''” terminated by signal SIGSEGV (Address boundary error)
我怎样才能防止这种情况发生?
任何想法都将受到赞赏。
答案1
这是一个已知问题fish
,但现在已经有一个修复在其 Github 网站上。开发人员在讨论该问题时评论道
实际上我认为是别的原因——我们只是没有在 posix_spawn 中设置父组 ID。
他现在已经提交了修复,但我认为你必须从源代码构建它,直到该修复被纳入测试版本中官方网站。从源代码构建的说明很简单,位于测试版页面上:(如果您还没有安装git
,请安装)。无需安装任何额外的依赖项。build-essential
第一次运行
git clone git://github.com/fish-shell/fish-shell.git
然后cd
到fish-shell
文件夹并运行:
autoconf
./configure
make
sudo make install
如果愿意的话,您可以使用checkinstall
来代替。make install
我刚刚尝试过这个方法,效果很好——总共花了不到 3 分钟。
fish
注意:有关is 的一些很好的详尽文档可在此处获得。