vte.sh не сохраняет мой терминальный гномом каталог на новой вкладке

uniq читают файл линию за линией и только рассматривают дубликат, когда текущая строка является точно тем же как последней строкой,

т.е. для входного файла как это,

1
1
2
1

Вы получите вывод как это,

1
2
1

Для использования его можно или выполнить его хотя канал, т.е.

command | uniq

Или получите вход из файла как это,

uniq < input > output

6
14.11.2014, 14:38
2 ответа

Очень простое обходное решение для вас включало бы функцию в ваш ~/.zshrc, который помнит рабочий каталог и изменения в него при открытии zsh:

cd $(<>/dev/shm/$USER-pwd)

__cd(){
    \cd "$@"
    pwd >/dev/shm/$USER-pwd
}
alias cd=__cd

Мы используем /dev/shm вместо /tmp для предотвращения записей на диск, хотя /tmp мог уже быть tmpfs в системе. \cd используется для предотвращения fork-бомба .

, Если вы хотели бы эту функцию терминала гнома только, вы могли бы включать если оператор для проверки текущего окна терминала или активного окна. Кроме того, если вы обеспокоены, что другие пользователи могли бы узнать то, что было вашим последним каталогом, вы могли изменить полномочия для $USER-pwd с chmod:

if xprop -id $(xprop -root 32x ' $0' _NET_ACTIVE_WINDOW | awk '{print $NF}') WM_CLASS | grep -q gnome-terminal; then
    cd    $(<>/dev/shm/$USER-pwd)
    chmod 600 /dev/shm/$USER-pwd

    __cd(){
        \cd "$@"
        pwd >/dev/shm/$USER-pwd
    }
    alias cd=__cd
fi
4
27.01.2020, 20:28

Я не уверен, что именно вы хотите восстановить (см. Ниже);

Если вы хотите открыть GNOME-Terminal , начиная с другой каталога, есть возможность указать каталог :

gnome-terminal --working-directory=/tmp

Вы, безусловно, можете использовать скрипт в качестве команды Startup, которая выполняет CD , а затем запускает оболочку - но это не звучит как хороший подход.


Если оно относится к каталогу по умолчанию оболочки на новой вкладке, установленную в текущий каталог вкладки, которая была текущей, когда было срабатывает действие новых вкладки: что только работает для меня, поэтому я могу только дать только подсказки - Я запускаю старую версию, Terminal 3.6.2 .

Я уверен, что это не сценарий /etc/profile.d/vte.sh , который устанавливает каталог; В моей версии - где работает нормально - скрипт не содержит кода, связанный с этим, и я никогда не использовал его.

Сама программа терминала может просто установить каталог, прежде чем вытекать процесс оболочки.
Но на самом деле это даже не нужно делать это - вы хотите иметь тот же каталог, как раньше. Все, что нужно, чтобы вообще не прикоснуться к каталогу.

, которые сказали, что есть ошибка, описывающая эту проблему:
Gnome-Terminal: BUG 697475 - новая вкладка не открыта в том же каталоге, что и предыдущая вкладка
. Обсуждение очень длинное, у меня нет резюме ; VTE.SH обсуждается там, и от пропуска, похоже, он может быть исправлен, но не полностью выпущен.

1
27.01.2020, 20:28

Теги

Похожие вопросы