web-dev-qa-db-fra.com

Démarrez WSL Ubuntu dans un dossier spécifique ou actuel sous Windows

Lors de l'installation de Subsystem pour Linux et Ubuntu à partir du magasin sur sa machine de développement, je peux basculer (ou démarrer) vers Ubuntu Shell simplement en

enter image description here

Mais le shell Ubuntu démarre dans /home/techsupp dossier par défaut. Est-il possible de le forcer à démarrer dans le même dossier que celui que j'utilise ma commande Ubuntu?

Donc, dans mon exemple, je devrais être

/mnt/h

Je vous remercie.

Ce que j'ai déjà essayé:

H:\>ubuntu help
Launches or configures a linux distribution.

Usage:
    <no args>
      - Launches the distro's default behavior. By default, this launches your default Shell.

    run <command line>
      - Run the given command line in that distro, using the default configuration.
      - Everything after `run ` is passed to the linux LaunchProcess call.

    config [setting [value]]
      - Configure certain settings for this distro.
      - Settings are any of the following (by default)
        - `--default-user <username>`: Set the default user for this distro to <username>

    clean
      - Uninstalls the distro. The appx remains on your machine. This can be
        useful for "factory resetting" your instance. This removes the linux
        filesystem from the disk, but not the app from your PC, so you don't
        need to redownload the entire tar.gz again.

    help
      - Print this usage message.

Je découvre également cette demande sur uservoice: https://wpdev.uservoice.com/forums/266908-command-Prompt-console-windows-subsystem-for-l/suggestions/13421103-let-us-right- click-open-bash-here-from-explorer? tracking_code = 8a8bc624c72a8336565fcd6d5737d712

Veuillez voter pour cela.

12
Bastien Vandamme

Je suis sur Windows 10 Home avec May Update et j'ai installé Ubunto 18.04 pour WSL, je peux ouvrir la console dans n'importe quel dossier avec Maj + clic droit et sélection de l'option Ouvrez Linux Shell ici

enter image description here

1
Emmanuel Guerra
ubuntu run

exécuter <ligne de commande>
Exécutez la ligne de commande fournie dans le répertoire de travail actuel. Sinon
La ligne de commande Est fournie, le shell par défaut est lancé.

Autant que je sache, l'effet est le même que l'exécution de ubuntu, sauf qu'il démarre dans le répertoire courant.

Cette commande fonctionne même comme une commande clic droit ouvrir ici dans l'Explorateur. Adaptation de cet article :

  • RegEdit à HKEY_CLASSES_ROOT\Directory\Background\Shell et créer une nouvelle clé
  • éditer (Default) à "Ouvrir Ubuntu ici" ou similaire.
  • ajoutez une clé nommée command
  • éditer (Default) à ubuntu run

Vous avez maintenant un menu fonctionnel "Ouvrir Ubuntu ici" dans l'Explorateur.


Le problème que j'ai avec wsl est que la fenêtre bash wsl n'a pas l'icône Ubuntu, même si elle démarre la distribution Ubuntu.

6
bolov

Si tu utilises wsl.exe, il démarrera WSL dans le répertoire courant. Mais la différence entre wsl et ubuntu est que si vous avez installé deux ou plusieurs distributions (e, g, Ubuntu et Fedora), celle par défaut démarrera. Vous pouvez définir la valeur par défaut sur Ubuntu en exécutant wslconfig /setdefault Ubuntu.

Référence: [1] https://docs.Microsoft.com/en-us/windows/wsl/wsl-config

4
X. Liu

avec ce petit script, vous pouvez exécuter chaque commande à partir du répertoire dans lequel se trouve votre PowerShell. Cela ne fonctionne que si le lecteur est déjà monté sur/mnt/dans le sous-système. Cela ne fonctionne pas avec les ressources réseau.

function Tux {$dl = (pwd).Path | wsl eval "cut -c 1 | tr 'A-Z' 'a-z'"; $wd = (pwd).Path | wsl eval "cut -d : -f 2 | tr '\\' '/' 2> /dev/null" ; wsl eval "cd '/mnt/$dl$wd' && eval '$args'"}

après l'avoir exécuté, vous pouvez l'utiliser comme ceci:

Tux vim test.txt
1
pt1997