Tmux и encryptfs, вызывающие "(недоступные)" каталоги при переподключении
Я использую сервер Ubuntu 13.04 с зашифрованным домашним каталогом (encryptfs). Я оставляю сеанс tmux открытым, который содержит мою среду разработки (vim и т. Д.). Когда я отключаюсь, я отключаю сеанс tmux, а затем отключаю соединение ssh. Позже, когда я снова подключусь и подключу сеанс tmux, я получу такие ошибки, как:
fatal: Could not change back to '(unreachable)/*****': No such file or directory
Это часто будет означать, что vim (который был все еще открыт, когда был отсоединен) сохраняет в неправильное место и фактически не будет записывать файл на диск, только в "недоступный" каталог, который кажется временным.
Если я запускаю "pwd" из bash (больше ничего не делаю с момента подключения), я получаю правильный каталог / home / *** / ***. Если я запускаю 'git status', я получаю сообщение выше (такого файла нет), а если я ': pwd' изнутри vim, я получаю "(недоступно) / ***".
Временное исправление для этого заключается в запуске 'CD. перед выполнением любых других команд, которые позволяют git/vim/etc видеть каталог. Это довольно неудобно, так как у меня часто есть много панелей / экранов, открытых в tmux, и я должен был запустить 'cd. на каждом из них каждый раз, когда я воссоединяюсь. И, кроме того, я должен убедиться, что vim или что-то еще закрыто, прежде чем я отключусь, иначе я потеряю данные, если не буду осторожен.
Я где-то видел другой поток, который связывал это с encryptfs, размонтировавшим $HOME при выходе из системы, но ответов не было. Это кажется возможной причиной, но я понятия не имею, с чего начать. Любая помощь?
1 ответ
Если достаточно, чтобы ваш защищенный домашний каталог ecryptfs не был размонтирован при выходе из системы, вы можете удалить ~/.ecryptfs/auto-umount и он прекратит размонтирование при выходе из системы (что я и делаю, debian wheezy). Я нашел эту ветку на Askubuntu об этом, но представленный скрипт не работает. Вот модифицированная версия, которая делает.
#!/bin/bash
if tmux ls 2>&1 >/dev/null; then
# tmux is still running, do not auto-unmount
rm $HOME/.ecryptfs/auto-umount
else
# no tmux server, auto-unmount is OK.
touch $HOME/.ecryptfs/auto-umount
fi
Как уже упоминалось в этом потоке, вы можете запустить его как часть вашего сценария выхода из системы.
К сожалению, не существует хорошего способа разрешить его размонтирование, чтобы все ваши приложения автоматически подключались к cd на tmux. Если это требуется, вы можете рассмотреть макрос ключа tmux для выдачи команды каждому окну и панели, если вы храните свои приложения в постоянных местах или у вас есть разумный способ точно определить, какое приложение работает в этом окне или панели; Я лично никогда не понимал этого.