Le problème que j’ai est que chaque fois que j’ouvre bash, il me faut dans un répertoire indésirable, donc je dois taper les commandes cd / mnt / c pour accéder à mes fichiers PC comme les téléchargements, les documents, etc. répertoire par défaut quand j’ouvre bash?
L’exécutable Windows bash.exe
qui démarre Bash sous Windows fait implicitement du répertoire courant son répertoire de démarrage.
Cela signifie que vous pouvez simplement modifier le fichier de raccourci qui ouvre Bash et modifier son champ Start in:
pour ouvrir Bash dans le répertoire de votre choix (spécifiez un chemin Windows standard; il est automatiquement traduit en un chemin /mnt/c
-prefixed lorsque Bash départs).
Bash on Ubuntu on Windows
(dans le menu Démarrer) transmet ~
tant que répertoire de démarrage dans le champ Target:
:; Supprimez simplement ~
de la valeur C:\Windows\System32\bash.exe ~
dans Target:
C:\Windows\System32\bash.exe ~
puis remplissez le champ Start in:
C:\Windows\System32\bash.exe ~
Bien sûr, vous pouvez créer de nouveaux fichiers de raccourci, chacun avec son propre répertoire de démarrage, si vous le souhaitez.
Bash Console Here
au menu contextuel des dossiers dans l’Explorateur de fichiers Mise à jour : La version préliminaire de la version 17666 est désormais fournie avec un menu contextuel intégré . Cependant, vous devez maintenir la touche Maj enfoncée avant de cliquer avec le bouton droit de la souris pour y accéder. La solution ci-dessous peut donc toujours vous intéresser si vous souhaitez que la commande s’affiche inconditionnellement .
Si vous enregistrez le texte suivant dans un *.reg
et que vous l’ouvrez (double-cliquez) , vous serez invité à importer les définitions dans votre hive de Registre spécifique à l’utilisateur.
Après l’importation, vous trouverez une commande Bash Console Here
dans le menu contextuel des dossiers de l’Explorateur de fichiers, ainsi que lorsque vous cliquez dans l’espace vide d’un dossier.
En sélectionnant cette commande, une fenêtre de la console Bash s’ouvrira dans ce dossier.
Avertissement : Parce qu’un aux. cmd.exe
appel de cmd.exe
doit être utilisé pour modifier le répertoire avant d’appeler bash.exe
, la fenêtre de la console aura l’icône de cmd.exe
et sera regroupée avec cmd.exe
standard dans la barre des tâches.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\BashConsoleHere] @="Bash Console Here" "Icon"=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,\ 00,54,00,41,00,25,00,5c,00,6c,00,78,00,73,00,73,00,5c,00,62,00,61,00,73,00,\ 68,00,2e,00,69,00,63,00,6f,00,00,00 [HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\BashConsoleHere\command] @="cmd /c cd \"%V\" && bash.exe" [HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\shell\BashConsoleHere] @="Bash Console Here" "Icon"=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,\ 00,54,00,41,00,25,00,5c,00,6c,00,78,00,73,00,73,00,5c,00,62,00,61,00,73,00,\ 68,00,2e,00,69,00,63,00,6f,00,00,00 [HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\shell\BashConsoleHere\command] @="cmd /c cd \"%1\" && bash.exe"
Vous pouvez également utiliser l’ extrait de code PowerShell suivant pour créer les entrées de registre:
$null = 0..1 | % { $key = New-Item -Force ('HKCU:\Software\Classes\Directory{0}\shell\BashConsoleHere' -f ('', '\Background')[$_]) $key | New-ItemProperty -Name '(Default)' -Value 'Bash Console Here' -Type Ssortingng $key | New-ItemProperty -Name 'Icon' -Value '%LOCALAPPDATA%\lxss\bash.ico' -Type ExpandSsortingng $key = New-Item -Force "$($key.PsPath)\command" $key | New-ItemProperty -Name '(Default)' -Value "cmd /c cd `"$(('%1', '%V')[$_])`" && bash.exe" -Type Ssortingng }
Pour supprimer les entrées ultérieurement:
0..1 | % { Remove-Item -Recurse -LiteralPath ('HKCU:\Software\Classes\Directory{0}\shell\BashConsoleHere' -f ('', '\Background')[$_]) }
Vous devrez peut-être le créer, mais ajoutez cette ligne à votre .bashrc
dans votre répertoire $HOME
(généralement /home/user/
):
cd /mnt/c
Gardez à l’esprit que, tout comme Jim avait dit, “Cela pourrait casser n’importe quel type de raccourci Open bash here
.”
Vous pouvez en savoir un peu plus à ce sujet ici: https://unix.stackexchange.com/questions/140602/how-do-i-start-all-shell-sessions-in-a-directory-other- que chez soi
Une autre possibilité – et je dois souligner que vous devez vraiment comprendre ce que vous faites, est de définir votre répertoire $HOME
sur /mnt/c
.
Vous ne pouvez le faire que si
/mnt/c
est toujours monté. /mnt/c
/mnt/c
n’est pas accessible à toute personne à qui vous ne voulez pas avoir access – votre répertoire $HOME
contiendra .ssh/
qui doit être privé. $HOME
vers /mnt/c
. Vous pouvez le faire en utilisant
usermod --home /mnt/c
ou en changeant votre répertoire personnel dans /etc/passwd
Mise en garde: si vous vous trompez, vous ne pourrez pas vous connecter ou laisser votre compte vulnérable.