Gnome-terminal ve Zsh: geçerli dizini yeni sekmede / pencerede tut


12

Zsh ile Arch'da gnome 3.10.1 kullanıyorum. Terminal penceresinden yeni bir sekme veya pencere oluşturduğumda, geçerli dizini ana dizime sıfırlar.

Bunu zaten denedim: gnome-terminal: yeni sekmede dizini takip et , ama işe yaramadı.

Belki de dosyamda bazı yapılandırmalar olabileceğini düşündüm .zshrc, bu yüzden temizledim ve sadece aşağıdaki satırı koydum:

. /etc/profile.d/vte.sh

Ancak, beklendiği gibi çalışmadı.

Evet, bu dosya var ve içeriği:

# Copyright © 2006 Shaun McCance <shaunm@gnome.org>
# Copyright © 2013 Peter De Wachter <pdewacht@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# Not bash or zsh?
[ -n "$BASH_VERSION" -o -n "$ZSH_VERSION" ] || return 0

# Not an interactive shell?
[[ $- == *i* ]] || return 0

# Not running under vte?
[ "${VTE_VERSION:-0}" -ge 3405 ] || return 0

__vte_urlencode() (
  # This is important to make sure string manipulation is handled
  # byte-by-byte.
  LC_ALL=C
  str="$1"
  while [ -n "$str" ]; do
    safe="${str%%[!a-zA-Z0-9/:_\.\-\!\'\(\)~]*}"
    printf "%s" "$safe"
    str="${str#"$safe"}"
    if [ -n "$str" ]; then
      printf "%%%02X" "'$str"
      str="${str#?}"
    fi
  done
)

# Print a warning so that anyone who's added this manually to his PS1 can adapt.
# The function will be removed in a later version.
__vte_ps1() {
  echo -n "(__vte_ps1 is obsolete)"
}

__vte_osc7 () {
  printf "\033]7;file://%s%s\a" "${HOSTNAME:-}" "$(__vte_urlencode "${PWD}")"
}

__vte_prompt_command() {
  printf "\033]0;%s@%s:%s\007%s" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}" "$(__vte_osc7)"
}

case "$TERM" in
  xterm*|vte*)
    [ -n "$BASH_VERSION" ] && PROMPT_COMMAND="__vte_prompt_command" 
    [ -n "$ZSH_VERSION"  ] && chpwd_functions+=(__vte_osc7)
    ;;
esac

true

Bu beni gerçekten rahatsız ediyor ...

Herhangi bir çözümü var mı?


2
Bu gnome terminali ile ilgilidir, zsh ile değil. Bağlantının arkasındaki hata ubuntu-gnome'un hatası olmasına rağmen, bildirilen bir hata gibi görünüyor .
Risto Salminen

1
denedin terminatormi
RSFalcon7

Evet, terminatör iyi çalışıyor, ancak, örneğin, nautilus-open-terminaluzatma her zaman gnome terminalini açıyor, değiştiremedim ...
Henrique Barcelos

1
Sadece rc dosyamda vte.sh kaynağından sonra gnome terminalini yeniden başlatmak zorunda olduğumuzu belirtmek istedim. Sadece kaydedip yeni bir sekme / pencere açarak işe yaramadı .. (bash / arch / gnome3.10 kullanarak)
The Silent Boatman

Yanıtlar:


16

Hâlâ bu sorunla karşılaşıp karşılaşmadığınızı bilmiyorum, ancak sorunumun terminal profilimde özel bir komut olarak / bin / zsh çalıştırıyor olduğumu fark ettim. Bunu devre dışı bırakmak, sorunu benim için düzeltti - ve hala zsh'ı birincil kabuğum olarak tuttu.

Terminal Profili


Fedora'yı kullanarak benim için problemi tam olarak çözdüm, çok teşekkürler!
Sven Hager

1
bu, zsh yerine varsayılan bash kullanmak anlamına gelir. peki bu sorunu nasıl düzeltir?
Alfie

@Alfie Kullanıcı varsayılan kabuğunu kullanmıyor (muhtemelen bash). Bu, istemi (oturum açma sırasında ayarlanan) ayarlamak için yürütülen komutun /etc/profile.d/vte.shdoğru olmadığı ve terminalin kabuğun geçerli dizininden haberdar olmadığı anlamına gelir.
xhienne

Ekran görüntüsü artık güncel değil. İkinci seçenek artık mevcut değil; ilki işaretlemek hile yaptı. Bu varsayılan, ama ZSH varsayılan kabuk olarak ayarlamak zorunda chsh, sanırım.
slhck

4

Görünüşe göre çalışması için "Giriş kabuğu olarak çalıştır komutu" seçeneğini etkinleştirmeniz gerekiyor gibi görünüyor.

Baskı feryat Portekizce, ama bu çalışmak için var yapılandırma.

Ekran görüntüsü


bu işe yarar, çünkü zsh kullanmıyorsunuz
Alfie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.