Red Hat 7-Terminal lässt sich nicht in cwd öffnen

898
whrrgarbl

Ich bin gerade auf Red Hat 7 umgestiegen und gewöhne mich an die Änderungen. Mir fiel sofort auf, dass beim Drücken von Strg-Umschalt-T zum Öffnen einer neuen Registerkarte "Terminal" standardmäßig /das aktuelle Verzeichnis verwendet wird, was sehr frustrierend ist.

Ich verwende gnome terminal 3.8.4. Ich habe festgestellt, dass in Ubuntu das gleiche Problem mit einem vorgeschlagenen .bashrc-Fix aussieht, aber meine Organisation verwendet tcsh und das Hinzufügen dieser Zeile funktioniert nicht.

Ist dies ein bekanntes Problem in RH7? Wie kann ich es reparieren?

0

1 Antwort auf die Frage

1
egmont

Grundsätzlich müssen Sie vte.sh nach tcsh portieren. Was es tut, ist: Vor jeder Aufforderung gibt es eine bestimmte Escape-Sequenz aus, die das Verzeichnis enthält, in URI-kodierter Form. Die Escape-Sequenz ist der sogenannte OSC 7, z \e]7;file:///home/username\a.

Es scheint, dass tcsh über eine precmd-Funktion (und sogar über eine cwdcmd-Funktion) verfügt, so dass dies möglich ist, aber leider bin ich mit tcsh überhaupt nicht vertraut, um es schnell für Sie zu erledigen. Ich hoffe, dass Sie es mit dieser kleinen Hilfe selbst schaffen können.

Bearbeiten: Der komplizierte Teil ist die URL-Kodierung. Zum Start können Sie dies weglassen und einfach wiederholen \e]7;file://$PWD\a. Bei einigen Sonderzeichen, die Sie wahrscheinlich niemals treffen, funktioniert es nicht richtig.

Edit: Dies funktioniert für mich als einfache (nicht richtig URI-Escaping) Version:

alias precmd 'echo -n "\e]7;file://$PWD\a"' 
Danke für die Erklärung! Dies funktioniert für mich, ich bin noch nicht mit Sonderzeichen konfrontiert, werde es aber aktualisieren. whrrgarbl vor 9 Jahren 0
'%' ist definitiv ein Sonderzeichen; '\ a' (was sehr unwahrscheinlich in einem Dateinamen vorkommt) und '\ n' und Freunde (die ebenfalls unwahrscheinlich sind). Ich bin mir bei akzentuierten Buchstaben wirklich nicht sicher. In der Praxis sind Sie mit der aktuellen Lösung wahrscheinlich nur zufrieden, und selbst wenn Sie auf einen dieser Charaktere stoßen, ist es einfacher, den Code nicht zu ändern und diesen kleinen Bruch zu akzeptieren :) (Für eine Mainstream-Lösung, die in vte enthalten ist müsste es richtig herausfinden.) egmont vor 9 Jahren 0
Ich habe uns eine (wirklich niedrige Priorität) Erinnerung hinzugefügt: https://bugzilla.gnome.org/show_bug.cgi?id=756830. Ich kann nicht garantieren, dass wir uns in absehbarer Zeit damit befassen werden. egmont vor 9 Jahren 1