Ich verwende Gnome 3.10.1 auf Arch mit Zsh. Ich habe das Problem, dass beim Erstellen eines neuen Tabs oder Fensters aus einem Terminalfenster das aktuelle Verzeichnis auf mein Ausgangsverzeichnis zurückgesetzt wird.
Ich habe dies bereits versucht: gnome-terminal: Verfolge das Verzeichnis in einem neuen Tab , aber es hat nicht funktioniert.
Ich dachte, dass es vielleicht eine Konfiguration in meiner .zshrc
Datei sein könnte, also habe ich sie bereinigt und nur die folgende Zeile eingefügt :
. /etc/profile.d/vte.sh
Es funktionierte jedoch nicht wie erwartet.
Ja, diese Datei existiert und hier ist ihr Inhalt:
# Copyright © 2006 Shaun McCance <[email protected]>
# Copyright © 2013 Peter De Wachter <[email protected]>
#
# 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
Das nervt mich wirklich ...
Gibt es eine Lösung?
gnome
zsh
gnome-terminal
cd-command
Henrique Barcelos
quelle
quelle
terminator
?nautilus-open-terminal
Erweiterung immer offen Gnome-Terminal, ich konnte es nicht ändern ...Antworten:
Ich weiß nicht, ob dieses Problem immer noch auftritt, aber ich habe festgestellt, dass ich / bin / zsh als benutzerdefinierten Befehl in meinem Terminalprofil ausgeführt habe. Durch Deaktivieren wurde das Problem für mich behoben - und zsh wurde weiterhin als primäre Shell verwendet.
quelle
bash
) nicht seine Standard-Shell . Dies bedeutet, dass der Befehl zum Festlegen der Eingabeaufforderung (eingerichtet beim Anmelden/etc/profile.d/vte.sh
) nicht der richtige ist und das Terminal das aktuelle Verzeichnis der Shell nicht kennt.chsh
ich an.Anscheinend müssen Sie die Option "Befehl als Anmeldeshell ausführen " aktivieren , damit sie ordnungsgemäß funktioniert.
Der Druck unten ist auf Portugiesisch, aber dies ist die Konfiguration, mit der ich arbeiten muss.
quelle