私はgnome-terminalで新しいタブを開くときに作業ディレクトリを維持しようとしましたが、この機能を再度インポートしたいと思います。私の研究/etc/profile.d/vte.sh
では、私のソーシング(Zシェルを使用)を指摘しましたが、~/.zshrc
問題は変わらず、新しいタブがまだそこにありました~
。
この機能をどのように復元できますか?必要に応じて、これは汚れたハッキングになる可能性があります。
私のバージョン
~$ uname -a
Linux konradslaptop2 3.17.2-1-ARCH #1 SMP PREEMPT Thu Oct 30 20:49:39 CET 2014 x86_64 GNU/Linux
~$ gnome-terminal --version
GNOME-Terminal 3.14.2
~$ zsh --version
zsh 5.0.7 (x86_64-unknown-linux-gnu)
私の~/.zshrc(最小の例)
. /etc/profile.d/vte.sh
# auto generated by .zsh installation
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
function zle-line-init () {
printf '%s' "${terminfo[smkx]}"
}
function zle-line-finish () {
printf '%s' "${terminfo[rmkx]}"
}
zle -N zle-line-init
zle -N zle-line-finish
fi
ベストアンサー1
~/.zshrc
非常に簡単な回避策は、作業ディレクトリを覚えてzshが開かれたときにそれを変更する関数をファイルに含めることです。
cd $(<>/dev/shm/$USER-pwd)
__cd(){
\cd "$@"
pwd >/dev/shm/$USER-pwd
}
alias cd=__cd
私たちは使用/dev/shm変える/tmpディスクの書き込みを防ぐために/tmpもう一つかもしれない一時ファイルシステムあなたのシステムから。\cd
避けるために使用されるフォーク爆弾。
gnome-terminalでのみこの機能を使用するには、ifステートメントを含む現在の端末またはアクティブウィンドウを確認できます。また、他のユーザーが最後のディレクトリが何であるかを知っている可能性がある場合は、権限を変更できます$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