Я успешно добавил приглашение Bash on Ubuntu в контекстное меню, добавив следующие ключи реестра
[HKEY_CLASSES_ROOT\Directory\shell\bash]
@="Bash Here"
[HKEY_CLASSES_ROOT\Directory\shell\bash\command]
@="C:\\Windows\\System32\\bash.exe"
Теперь вышеприведенное решение имеет две основные проблемы один вопрос, который я не знаю, как решить.
Проблема в том, что путь, по которому он запускается, - это путь родительского каталога, а не тот, по которому щелкают правой кнопкой мыши.
Однако я попытался включить дополнительные аргументы в команду запуска, в результате чего приглашение было закрыто непосредственно перед тем, как даже появилась возможность прочитать любую информацию об ошибке.
Команда по умолчанию из ярлыка C:\Windows\System32\bash.exe ~
действительно работает и помещает меня в /home/user/
ОБНОВЛЕНИЕ: похоже, что при выполнении C:\Windows\System32\bash.exe
используется набор настроек, хранящихся в [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_bash.exe]
а также некоторые (например, цвета) из расположения по умолчанию [HKEY_CURRENT_USER\Console]
, поэтому после сохранения этих настроек они успешно перезагрузятся. Принимая во внимание, что ярлык, созданный при установке, похоже, использует параметры, назначенные cmd.exe
(необходимо подтвердить)
ОБНОВЛЕНИЕ 2: Пожалуйста, не предлагайте решения, включающие запуск bash.exe
изнутри cmd.exe