WSL разделяет Bash и приложения Ubuntu и не может открыть "Ubuntu" в каталоге, где я сейчас нахожусь в проводнике - PullRequest
0 голосов
/ 18 января 2020

Итак, я пытаюсь заставить WSL работать как положено, но у меня есть некоторые проблемы. Во-первых, я не понимаю, почему существуют отдельные приложения для Bash (приходит, как только вы включите WSL) и для Ubuntu (дистрибутив можно загрузить из Microsoft Store).

Я установил Ubuntu one иметь цвета и внешний вид, как я хочу, и у него также есть значок, который действительно хорош. У «Bash .exe» нет значка, но у него есть одна особенность, которую я не могу понять, как установить «Ubuntu» - я могу щелкнуть правой кнопкой мыши и открыть ее, где захочу, и она автоматически запустится. в месте, которое я имел в проводнике. Я могу сделать то же самое для "Ubuntu" (просто изменив файл, чтобы открыть в regedit), но он не откроется в каталоге, в котором я сейчас нахожусь.

Мне интересно, есть ли способ сделать который. Если его нет, я альтернативно задаюсь вопросом, есть ли способ добавить значок и изменить цвета "bash", поскольку кажется, что обычные методы добавления иконок не работают для WSL.

Ответы [ 3 ]

1 голос
/ 21 января 2020

Попробуйте вариант ubuntu1804.exe run.

Объяснение:

Мой ubuntu1804.exe находится в C:\Users\walter\AppData\Local\Microsoft\WindowsApps. Когда я открываю оболочку windows CMD (не bash!), Я могу спуститься в папку с помощью ubuntu1804.exe и проверить параметры с помощью /?:

C:\Users\walter\AppData\Local\Microsoft\WindowsApps>ubuntu1804.exe /?
Launches or configures a Linux distribution.

Usage:
    <no args>
        Launches the user's default shell in the user's home directory.

    install [--root]
        Install the distribuiton and do not launch the shell when complete.
          --root
              Do not create a user account and leave the default user set to root.

    run <command line>
        Run the provided command line in the current working directory. If no
        command line is provided, the default shell is launched.

    config [setting [value]]
        Configure settings for this distribution.
        Settings:
          --default-user <username>
              Sets the default user to <username>. This must be an existing user.

    help
        Print usage information.

Параметр run кажется, что вы хотите.
Я проверил это из каталога C:\Users (мой wsl .bashrc изменяет приглашение)

C:\Users>C:\Users\walter\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run
walter@wsl:/mnt/c/Users
$   
1 голос
/ 20 января 2020

Я подозреваю, что вы используете одну и ту же «версию» Ubuntu с разными пользователями / средами / оболочками. Вы можете доказать (или опровергнуть это), сохранив файл в домашнем каталоге и просмотрев его в обеих «разных» установках.

пример: сначала открыть:

C:\Windows\System32\bash.exe

и выполнить:

damo@laptop:~$ cd ~
damo@laptop:~$ pwd
/home/damo
damo@laptop:~$ touch foobar.txt
damo@laptop:~$ ls
foobar.txt
damo@laptop:~$ 

затем для сравнения открыть: (это в моем случае, ваш будет отличаться, я изменил каталог установки по умолчанию)

C:\_distros\Ubuntu\ubuntu1804.exe

и запустите команды:

➜  ~ cd ~
➜  ~ pwd
/home/damo
➜  ~ ls
foobar.txt
➜  ~

Для меня это отличие в том, что я установил zsh в качестве оболочки по умолчанию, поэтому есть много различий в двух оболочках, попробуйте запустить echo $0, которая покажет вашу оболочку.

Я интересно узнать результат этого, насколько я знаю, просто «включение» wsl ничего не «установит».

0 голосов
/ 07 мая 2020

Bash .exe устарело. используйте Wsl.exe вместо

...