Зная, что процессы Windows, редактирующие домашнюю папку для файлов, представленных в WSL, сейчас не поддерживаются (проблемы синхронизации метаданных VolFS, погуглите)
Если вы имеете в виду Эта проблема или его производным, то обратите внимание, что проблема была решена давно (как указано в этом сообщении в блоге Microsoft) с созданием метода доступа DrvFs для WSL. Из Git Bash вы должны использовать:
компакт-диск //wsl\$/Ubuntu-18.04
# Замените правильное имя дистрибутива, если необходимо
Я определенно не рекомендую «перемещать» какую-либо домашнюю папку (т.е. пытаться использовать любую системную папку в качестве домашней) лично. Скорее всего, вы столкнетесь с проблемами прав доступа/владения, разными UID/GID и т. д. «Синхронизация» двух вместо этого была бы гораздо лучшей стратегией, ИМХО.
Однако этот вопрос возникал в прошлом, и общая рекомендация состоит в том, чтобы использовать репозиторий git для хранения/синхронизации ваших общих файлов конфигурации между «хостами» (в данном случае WSL/Ubuntu и Git Bash). Есть ряд утилит, призванных упростить эту задачу, с хорошим списком здесь. Я лично не использовал ни один из них, но я читал хорошие отзывы о GNU Stow.
Примечание. Судя по вашему профилю, у вас гораздо больше опыта в git, чем у меня, но мне кажется, что (при желании) вы можете создать хук, чтобы всякий раз, когда вы нажимали изменение в репозиторий конфигурации на Git Bash стороны, он автоматически запустит что-то вроде:
wsl -e sh -c "git --git-dir=$HOME/.dotfiles вытащить
Это использует
wsl в Windows, чтобы вызвать команду в вашем экземпляре Ubuntu. Однако вам понадобится какой-то способ запускать хук только тогда, когда вы совершаете коммит из Git Bash. Или вы можете написать сценарий так, чтобы он вызывал
мерзавец в Git Bash, если коммит был сделан в WSL/Ubuntu, и наоборот.
Или это может быть излишним/чрезмерной архитектурой ;-)
Перейти скачать