На этот вопрос, кажется уже, отвечают, но я думаю, что существует лучшее решение.
Вместо tail | whatever
, Я думаю, что Вы действительно хотите, swatch
. Образец является программой, разработанной явно для того, чтобы сделать то, что Вы спрашиваете, наблюдая файл журнала и выполняя действия на основе строк журнала. Используя tail|foo
потребует, чтобы у Вас был терминал, активно работающий, чтобы сделать это. Образец, с другой стороны, работает как демон и будет всегда наблюдать Ваши журналы. Образец доступен во всех дистрибутивах Linux,
Я поощряю Вас испытывать его. В то время как можно загнать гвоздь в с задней стороной отвертки, не означает, что Вы должны.
Лучшие 30 вторых учебных руководств на образце, который я мог найти, здесь.
Дельфин похож на то, что Вы ищете:
Но терминал является ведомым устройством своей навигации каталога (при изменении каталога в GUI это изменяется в терминале, но не наоборот).
Для изменения каталога приложения при изменении текущего каталога в терминале можно заставить оболочку отправить сообщение дельфину для обновления его представления. Добавьте это к своим файлам дистанционного управления оболочки (Предупреждение: не полностью протестированный, но работы здесь для наиболее распространенных ситуаций, использование на Ваш собственный риск):
Bash:
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
cd() {
builtin cd "$@"
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
}
fi
fi
Zsh:
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
chpwd() {
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
}
fi
fi
Существует проблема с этим. Когда окно дельфина изменяет текущий каталог, терминал теряет фокус. Можно хотеть попросить bugfix (или даже полная собственная поддержка этой функции) разработчикам, если Вам нравится он.
Командующий Gnome является файловым менеджером со строкой командной строки оболочки внизу. Полуночный Командующий (мГц) подобен, но в текстовом режиме. (Оба получают их вдохновение от Norton Commander.)
Терминал наутилуса является плагином для Наутилуса (файловый менеджер Gnome).
Каталоги не следуют за командной строкой, но это довольно быстро, чтобы сделать pwd | xclip
, <Ctrl> +<l>
, <Ctrl>+<v>
Konqueror http://www.konqueror.org/ имеет простые способы идти назад и вперед между окнами терминала и файловым менеджером. Посмотрите обсуждение форума в: http://www.knoppix.net/forum/threads/3838-How-to-Open-Konqueror-in-the-Directory-as-Your-Current-Shell В завоевателе, вводящем ctrl-t, получает Вас терминал в текущем каталоге, и в оболочке kfmclient должностное лицо. открывает завоевателя в текущем каталоге.
Ниже изменение ответа @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
Основной вопрос (помимо небольшого мерцания как терминал closes/re-opens) - то, что дельфин (по некоторым причинам) вставляет "control+c" плюс "CD {dir}" (где "dir" является путем файлового менеджера) в терминал каждый раз, когда терминал вновь открылся, вмешиваясь в другие команды, которые вводятся. (Редактирование: добавить взлом после взлома, как другое обходное решение для этого: просто alias ccd=cd
так как "c" символ этого control+c всегда, кажется, вставляется перед a cd {path}...
)
Конечно, было бы лучше иметь надлежащую фиксацию у дельфина, чтобы иметь терминал сохраняют фокус и/или встроили эту целую функцию в дельфина.
Вставьте псевдоним в ваш .bashrc(другой подходящий файл конфигурации):
alias revealAndJumpIntoYourFileManager ='pwd| xargs -0 io.elementary.files'
alias justReveal='pwd| xargs -0 io.elementary.files && jumpapp io.elementary.terminal'
Замените io.elementary.files
и io.elementary.termianal
вашим файловым менеджером и консольным приложением.
Очевидно, что вы можете сократить название своего псевдонима, как считаете нужным, например reveal
или даже короче и более разумно,(хотя убедитесь, что оно не затеняет ваши существующие/будущие программы!)Поэтому всякий раз, когда вы хотите посмотреть, что происходит в вашем текущем каталоге, вместо необработанного вывода ls
на ваш терминал, вы можете просто вызвать reveal
и наблюдать за ним непосредственно из файлового менеджера.
Ctrl-L
у дельфина, чтобы заставить курсор перейти к строке поиска, где можно ввести адрес нового каталога и нажатияEnter
перейти к нему. Если Вы действительно хотите ввестиcd
в командной строке необходимо смочь сделать взлом, который выполняетсяqdbus
отправить сообщениеorg.kde.dolphin.MainWindow.changeUrl($PWD)
назад дельфину. Но я думаю, что необходимо дать ему попытку, это главным образом привыкает к новой парадигме Терминальной GUI интеграции. – Juliano 12.11.2010, 23:04