Нижче наведено варіант відповіді @Juliano, використовуючи дельфін + qdbus + термінал (додається тут як відповідь замість коментаря, щоб відформатувати фрагмент коду.) Цей варіант також має обмеження, і, безумовно, є хаком.
Це також передбачає, що "дельфін" працює приєднаним терміналом (перегляд> панелі> термінал; або натисніть "F4"). Як і в іншій пропозиції, він надсилає команду дельфіну оновити шлях у gui, щоб він відповідав PWD в консолі. Щоб змусити термінал утримувати фокус, він надсилає закрити / відкрити (f4 + f4) до вікна терміналу за допомогою xte (xautomation): тобто автоматично закриває і негайно повторно відкриває термінал, щоб він відновив фокус.
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
cd() {
[ "$1" != "$PWD" ] && do_send=true || do_send=false;
builtin cd "$@"
if $do_send ; then
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
xte 'key F4' >/dev/null > /dev/null 2>&1
xte 'key F4' >/dev/null > /dev/null 2>&1
fi
}
fi
fi
Основна проблема (окрім незначного мерехтіння, коли термінал закривається / повторно відкривається) полягає в тому, що дельфін (чомусь) вставляє "control + c" плюс "cd {dir}" (де "dir" - це шлях до файлу менеджер) в термінал кожного разу, коли термінал повторно відкривається, заважаючи іншим командам, які вводяться. (Редагувати: щоб додати хак на хак, як інше рішення для цього: якраз alias ccd=cd
тому, що символ "с" цього елемента керування + c завжди здається вставленим перед a cd {path}...
)
Звичайно, було б краще мати належну фіксацію дельфіна, термінал зберігати фокус та / або вбудовувати всю цю особливість у дельфіна.