让我先描述一下这个问题。我用的是 Macbook Air,并且有一个永久连接的 U 盘,用于存储较大的工作数据。大约每周一次,我都会遇到电量不足的情况 - 接通电源后,我收到 USB 错误断开的消息。通常的情况是在火车上工作两个小时,关上 Macbook 去办公室,在办公室登录 - 或反之 - 因此保持电源连接的解决方案并不那么有用。
不,我不是无意中移除它的——它是这些驱动器之一,几乎不会从外壳中伸出,你几乎需要一个工具来移除它。登录后,驱动器再次安装在同一个文件夹中。更烦人的是,在终端中,无论我在这个驱动器上的文件夹中,我都会收到以下错误:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
<E> fish: getcwd() failed with errno 2/No such file or directory
正如您所看到的,我目前使用 fish - 但是使用 bash 我遇到了类似的问题(尽管错误不在眼前)。
在 shell 中,我可以摆脱它,转到另一台设备上的文件夹并改回来。文件夹的名称与以前完全相同。令人讨厌的是,我喜欢在 tmux 中拥有相当多的会话,并且大多数会话运行一些进程(R 和 vim)——R 无法通过这样做来恢复,而在 vim 中,有一堆“文件消失”或“已更改”的混乱信息。我无法完全恢复这两个文件,并且必须退出它们,因为错误似乎永远不会停止。显然,这样做会丢失未保存的数据,并且需要一些时间才能重新设置所有内容。有趣的是,gui 应用程序可以很好地处理这个问题并恢复。
那么有没有办法维持或者恢复这种状况呢?
作为外行,我觉得唤醒可能存在问题 - 在驱动器从睡眠状态唤醒之前,进程会快速启动并尝试访问驱动器。也许我可以让他们再睡一会儿......