Durante vários anos, não houve nenhuma configuração para tornar konsole respect $PWD . No entanto, existe uma opção de linha de comando --workdir que pode ser explorada por um script para tornar a função konsole conforme desejado.
-
Verifique o caminho para localizar um local acessível pelo usuário que tenha precedência sobre
/usr/binexaminando a saída deecho $PATH. Opções típicas incluem~/bin/e~/.local/bin/. -
Crie um arquivo chamado
~/bin/konsole(ou~/.local/bin/konsole) com o seguinte conteúdo:#!/usr/bin/env bash # make konsole respect $PWD, as other terminals do # save as ~/bin/konsole or ~/.local/bin/konsole # catch unset or mis-set PWD [[ -z $PWD ]] && PWD="$HOME" [[ "$PWD" == '/' ]] && PWD="$HOME" term_cls='konsole' # window class needed for xdotool to activate window term_bin='type -a -p konsole | tail -n 1' # location of original 'konsole' term_cmd=( "$term_bin" ) [[ $PWD ]] && term_cmd+=( --workdir "$PWD" ) term_tab=( "${term_cmd[@]}" --new-tab ) case $1 in -h|--help|-v|--version|--author|--license|--list-profiles|--list-profile-properties) "$term_bin" "$1" ;; -p) echo 'cannot change profile properties at this time' ;; *) find_app=( xdotool search --onlyvisible --class "$term_cls" windowactivate exec "${term_tab[@]}" ) "${find_app[@]}" || xdotool exec "${term_cmd[@]}" ;; esac -
Dê ao novo script permissões de execução.
chmod +x ~/bin/konsole
Agora, sempre que esse script for executado, ele processará $PWD e executará /usr/bin/konsole --workdir "$PWD" . Se colocar na pasta certa, terá prioridade sobre o real konsole e o uso será transparente. Scripts semelhantes podem ser criados para outros programas que não se comportam como desejado.