WSL не открывается в текущем каталоге рабочий каталог

#bash #ubuntu #windows-subsystem-for-linux

Вопрос:

Ввод bash в адресную строку проводника или открытие WSL через терминал Windows не открывает его в текущем каталоге. WSL всегда открывается в корневом каталоге / .

Я проверил эту команду в powershell (Get-ItemProperty -name "(default)" -LiteralPath Registry::HKEY_CLASSES_ROOTDirectoryshellWSLcommand).'(default)' , как указано в другом вопросе, результат соответствует ожиданиям: wsl.exe --cd "%V"

Я даже попытался запустить команду wsl.exe --cd "C:/random/path/to/some/directory" , и независимо от пути, по которому всегда открывается WSL / .

Интересно, что если я открою wsl, введя ubuntu cmd или powershell, он откроет bash в моем /home/username/ каталоге.

У кого-нибудь была эта проблема? Как я могу это исправить?

РЕДАКТИРОВАНИЕ добавление следующих строк в мой файл wsl.conf, похоже, устранило проблему, но я понятия не имею, почему, кто-нибудь может объяснить?

 # Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false
 

EDIT2 Я прошел процесс исключения, удаляя по одной строке за раз, пытаясь выяснить, какая из этих строк сделала свое дело. выключение и перезапуск wsl каждый раз, когда я удалял строку, WSL продолжал открываться в нужном каталоге, и в конце концов я удалил все строки, и он все еще просыпался. WSL продолжает открываться в правильном каталоге даже после того, как я удалил файл wsl.conf. Я так запутался
EDIT3

 cat ~/.profile ~/.bash_profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi
cat: /home/rwagh/.bash_profile: No such file or directory
 

Комментарии:

1. whoami cat ~/.profile ~/.bash_profile

2. что мне делать с выводом? вы можете увидеть результаты в EDIT3