I want all commands run from FAR to be executed under, say, Bash. Is there a way to tell FAR to bypass all commands to something other than cmd.exe
?
How to change FAR Manager’s shell
far-manager
far-manager
I want all commands run from FAR to be executed under, say, Bash. Is there a way to tell FAR to bypass all commands to something other than cmd.exe
?
Best Answer
You'll need to change the Comspec to bash. In addition you'll want to change the arguments passed to the Comspec and for which commands the Comspec should be used.
You could change the environment variable
COMSPEC
before (or manually after) starting Far Manager to bash (%windir%\system32\bash.exe
) or change the internal settings (stored in%AppData%\Roaming\Far Manager\Profile\generalconfig.db
).You can change the settings by executing
far:config
in the Far Manager prompt. Press Ctrl+Alt+F to start filtering by name and then typecomspec
.Default comspec options:
You can change them to:
If you don't change the
ComspecCondition
only some commands will be passed as arguments tobash
. For example if you executenotepad
with an emptyComspecCondition
(default value) notepad will be started normally.To reset a value to its initial condition, edit the value and click on the
Reset
button.More details about how this settings are used can be found in the source code.