美文网首页
ZSH问题记录两则

ZSH问题记录两则

作者: Nkiy | 来源:发表于2017-04-27 22:33 被阅读0次

今儿回家突然发现休眠后zsh无法启动了,便研究了一下,顺便解决了我另外的一个问题,特此记录。

事情的起因呢,是我在公司使用sshfs挂载了另一台主机的一个目录,下班的时候,zsh还在那个目录中,我就给休眠带回家了。

这回家一开机,当然目录肯定就不能访问了,但是我的zsh也起不来了,各种起不来:tmux里面开新标签;konsole直接带参数启动;bash里面启动zsh等等,均以失败告终。

这就神奇了,用这么就才发现zsh还有这种bug?休眠后会起不来?不应该啊

话说前两天刚用过strace,这玩意儿还挺好用,跑一下咯

命令如下:

strace /usr/bin/zsh

输出如下:(这个是正常输出,现场已经没有了:D)

stat("/home/xxxx/.zdirs", {st_mode=S_IFREG|0644, st_size=452, ...}) = 0

rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD WINCH], 8) = 0

open("/home/xxxx/.zdirs", O_RDONLY|O_NOCTTY) = 3

fcntl(3, F_GETFL)                      = 0x8000 (flags O_RDONLY|O_LARGEFILE)

fstat(3, {st_mode=S_IFREG|0644, st_size=452, ...}) = 0

read(3, "/home/xxxx/Some/Path"..., 4096) = 452

read(3, "", 4096)                      = 0

close(3)                                = 0

access("/home/xxxx/Some/Path/inside", F_OK) = 0

rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD WINCH], 8) = 0

rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD WINCH], 8) = 0

stat("/home/xxxx/Some/Path", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

rt_sigprocmask(SIG_BLOCK, [CHLD], [WINCH], 8) = 0

mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f979e7b4000

stat(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0

chdir("/home/xxxx/Some/Path") = 0

stat("/home/xxxx/Some/Path", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD WINCH], 8) = 0

rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD WINCH], 8) = 0

rt_sigprocmask(SIG_BLOCK, [CHLD], [WINCH], 8) = 0

stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

chdir("/home/xxxx")

注意看上面stat那几行,我在家目录执行的,但是他会stat 我上一次用过的目录 @_@   这个不太好吧……

显然这个行为和 .zdirs 文件脱不了干系,打开一看,果然这个打不开的目录就在里面第一条,果断删除。

再次启动zsh,问题解决~ 轻松愉快XD


既然搞定了一个问题,那顺便搞搞我一直疑惑的一个问题:为毛我的Ctrl-E反应就没有Ctrl-A灵敏呢?


每次移动到行首,C-a,直接过去了;移动到行尾,C-e,等一秒,光标才过去,唉……神经病的zsh


今天既然想到了,那就查一查咯~

具体过程略过不提,说说原因和解决方案:


我的arch系统装了一个grml-zsh-config 的包,里面带了一个 /etc/zsh/zshrc 的配置文件,设定了一个键绑定:

^ed => insert-datestamp 也就是说 Ctrl-E,d 这个组合可以插入日期,这就是为什么我移动到行尾会有延迟了,他在等我是不是按 d 键!

心累……

懒得修改 /etc下面的了,直接改我的配置文件 .zshrc:

bindkey -r "^Ed"

搞定!



相关文章

  • ZSH问题记录两则

    今儿回家突然发现休眠后zsh无法启动了,便研究了一下,顺便解决了我另外的一个问题,特此记录。 事情的起因呢,是我在...

  • [react-native]- npm安装与配置

    zsh: command not found:zsh: command not found: npm 等问题直接卸...

  • Mac zsh: command not found zsh 所

    出现的问题: ?? ~ ls zsh: command not found: ls ?? ~ dir zsh: c...

  • zsh的安装与配置

    zsh简介 待补充... zsh拥有极强的命令补全、智能提示功能,并且能够记录工作目录 参考为什么说 zsh 是 ...

  • Mac 下使用 MTR 路由工具

    zsh: command not found: mtr 修复安装后使用 mtr 的问题: zsh: com...

  • zsh 折腾记

    听说zsh比bash 更加强大;现在记录一下zsh 安装以及学习的过程。 安装记 首先安装zsh;安装完后在git...

  • zsh : command not found pip3 的解决

    问题描述 在 zsh 中执行 pip xxx ,出现错误 zsh: command not found: pip3...

  • Zsh的发现与理解

    ^字符引发的问题 问题: 当你在 Zsh 中执行 带有 ^ 符号参数的命令时,Zsh 有可能会报下面这个错误: ...

  • zsh: command not found:XXX

    原因:zsh主题插件oh_my_zsh,环境变量问题 解决:open .zshrc --》找到# User con...

  • zsh: command not found:XXX

    原因:zsh主题插件oh_my_zsh,环境变量问题 解决:open .zshrc --》找到# User con...

网友评论

      本文标题:ZSH问题记录两则

      本文链接:https://www.haomeiwen.com/subject/tskouttx.html