Конфигурация Tmux не сохраняет PWD в новом окне или разделенном окне

Поэтому я пытаюсь обновить .tmux.conf file чтобы отразить изменение для -c в new-window . Я добавил это в свой конфиг, и к сожалению, он не работает. Мои новые окна и панели всегда начинаются с ~/ :

 # Saner splitting. bind v split-window -c $PWD -h bind s split-window -c $PWD -v # Autorename sanely. setw -g automatic-rename on # Better name management bind c new-window -c $PWD 

Мое ожидаемое поведение заключается в том, что моя новая панель или окно будет в каталоге, в котором когда-либо была панель, в которой я раньше находился. Итак, если я в Window 1, который находится в ~/Sites/project , мое новое окно также будет там.

  • Каковы другие способы совместного использования сеанса tmux между двумя пользователями?
  • Почему мой второй сеанс tmux не показан в ps aux или htop, но в tmux list-session это?
  • Различные конфигурации tmux для разных сеансов?
  • tmux zoom (z) не работает для меня
  • SSH на сервер, выполните команду обновления, которая продолжается даже после выхода из сеанса ssh
  • Как выполнить код в новом сеансе tmux - из текущего сеанса?
  • Почему tmux запускается медленнее и медленнее с течением времени?
  • tmux с iterm2 присоединяет удаленный сеанс
  • One Solution collect form web for “Конфигурация Tmux не сохраняет PWD в новом окне или разделенном окне”

    Вы используете неправильный пример. 😉 Наличие $PWD качестве аргумента для -c означает, чтобы вновь созданные панели запускались в каталоге, в котором находится tmux сервер , другими словами, в каталоге, в котором вы впервые запустили tmux . Каталог текущей области – это та, которая хранится в внутренней переменной tmux #{pane_current_path} :

     * 'default-path' has been removed. The new-window command accepts '-c' to cater for this. The previous value of "." can be replaced with: 'neww -c $PWD', the previous value of '' which meant current path of the pane can be specified as: 'neww -c "#{pane_current_path}"' 

    Таким образом, правильный способ сделать то, что вы хотите, будет

     # Saner splitting. bind v split-window -c "#{pane_current_path}" -h bind s split-window -c "#{pane_current_path}" -v # Autorename sanely. setw -g automatic-rename on # Better name management bind c new-window -c "#{pane_current_path}" 

    Примечание. Это не сработает, если в вашей текущей панели запущена чужая оболочка (я упал на нее, поэтому я прямо говорю вам): Если у вас запущен сеанс sudo или su , у вас новая панель, вы получите рабочий каталог / . Это просто объясняет: ваш tmux не может получить текущий рабочий каталог запущенного процесса, поскольку он не имеет соответствующих прав для этого по соображениям безопасности (вы не можете прочитать жизненно важное состояние процесса иностранного пользователя).

    Interesting Posts

    Как я должен rsync-файлы в / var / www, если я хочу, чтобы они принадлежали www-data?

    смонтировать диск во FreeBSD для редактирования файла, используя live CD

    Настройка минимальной среды apt-get

    Почему PIPESTATUS не работает на конвейерах в рамках подстановки команды

    Как установить Debian на тот же физический жесткий диск, на котором установлены файлы установщика?

    setfacl удалить все права на запись

    Мой iptables работает против того, что я хотел

    Какая команда очистить ошибку «ИДЕНТИФИКАЦИЯ ДИСТАНЦИОННОГО ХОЗЯИНА ИЗМЕНЕНА!»

    Ошибка «mount: wrong fs type ..» при установке USB

    Как установить драйверы rtlwifi на установочный USB-диск Debian?

    Как настроить CGI в Ubuntu?

    Что такое эквивалент Linux для запуска Windows?

    Изменить рабочий каталог

    Где я могу найти документацию пользователя для моего старого Freenas 0.7?

    Добавление источников в sources.list по-прежнему дает мне E: невозможно найти баннер пакетов

    Linux и Unix - лучшая ОС в мире.