ARGH SuSE, wenn Hass entsteht

Post Reply
Message
Author
Alex.MH

ARGH SuSE, wenn Hass entsteht

#1 Post by Alex.MH »

Hi,

ich habe jetzt hier zwei Stunden rumgebastelt und einen maechtigen Hals auf SuSE - also schonmal sorry an alle SuSE Fans.

Zu meinem Problem: Ein benachbarter Lehrstuhl hat uns freundlicherweise Rechenzeit in Form einer SuSE Kiste zur Verfuegung gestellt, auf die ich mich per SSH einloggen kann. Leider gehen auf diesem Rechner die Backspace und die Delete Taste nur innerhalb der Shell (sowohl tcsh als auch bash). Sobald man einen vi oder less oder sonstirgendein Tool startet ist es vorbei mit Backspace und es wird nur noch '^?' gesendet.

Ich bin leider erst sehr spaet darauf gekommen das ganze mit "stty erase" zu beheben. Da die Tasten in der Shell funktioniert haben, habe ich stundenlang versucht ueber readline (~/.inputrc) und terminfo die keys umzudefinieren.

Nun aber zu meiner eigentlichen Frage: Was hat SuSE da schon wieder verbrochen und wie kann man es systemweit beheben?

Vielleicht war es ja immer Pech, aber wannimmer ich mit in SuSE in Kontakt komme finde ich solch gravierende Fehler. Ich arbeite hier mit mehr als 5 verschiedenen Unixen und mehreren verschiedenen Linux-Distributionen und NIRGENDS tritt dieses Problem auf. Das letzte Mal, als ich mich mit sowas rumaergern musste war vor Jahren auf einem uralt Data General UNIX.

Wie kann man also diesen Mist wieder so konfigurieren, dass es unixuebergreifend und dann vor allem fuer alle User funktioniert? Ein "stty erase <bs>" kann hier nicht die Loesung sein.

Gruss,
Alex

Zorg

#2 Post by Zorg »

man vi

Der vi hat nun mal so eine Tastenbelegung - bzw. kann so eine haben.

Alex.MH

#3 Post by Alex.MH »

Das hat mit dem vi leider garnix zu tun. Backspace und Delete funktionieren in keinem Programm ausser der Shell. Ausserdem spricht die Moeglichkeit es mit "stty erase <bs>" zu beheben nicht gerade fuer ein vi Problem.

Gruss,
Alex

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

Re: ARGH SuSE, wenn Hass entsteht

#4 Post by Janka »

Alex.MH wrote:Hi,
Zu meinem Problem: Ein benachbarter Lehrstuhl hat uns freundlicherweise Rechenzeit in Form einer SuSE Kiste zur Verfuegung gestellt, auf die ich mich per SSH einloggen kann. Leider gehen auf diesem Rechner die Backspace und die Delete Taste nur innerhalb der Shell (sowohl tcsh als auch bash). Sobald man einen vi oder less oder sonstirgendein Tool startet ist es vorbei mit Backspace und es wird nur noch '^?' gesendet.
Das hängt damit zusammen, dass dein Terminal eben über ssh das "falsche" Zeichen sendet. Du hast vermutlich Strg-H (aka BS) auf Backspace, und DEL auf Delete.
Ich bin leider erst sehr spaet darauf gekommen das ganze mit "stty erase" zu beheben.
Ja, so ist es richtig.
Nun aber zu meiner eigentlichen Frage: Was hat SuSE da schon wieder verbrochen und wie kann man es systemweit beheben?
Gar nicht! Wenn du es für dein Remote-Terminal passend systemweit einstellst, wird es lokal nicht mehr richtig funktionieren.
Vielleicht war es ja immer Pech, aber wannimmer ich mit in SuSE in Kontakt komme finde ich solch gravierende Fehler.
Das ist kein Fehler. Wozu kann man es denn sonst einstellen.
SuSE hat nunmal an den lokalen Terminals 7f (DEL) auf Backspace und 1b 5b 33 7e auf Delete.
Ich arbeite hier mit mehr als 5 verschiedenen Unixen und mehreren verschiedenen Linux-Distributionen und NIRGENDS tritt dieses Problem auf. Das letzte Mal, als ich mich mit sowas rumaergern musste war vor Jahren auf einem uralt Data General UNIX.
Da war es vermutlich genauso eingestellt. Die Terminals, die ich kenne (Wyse60 und 160) kann man auch auf beides einstellen. Es gibt halt keine Norm dafür.
Wie kann man also diesen Mist wieder so konfigurieren, dass es unixuebergreifend und dann vor allem fuer alle User funktioniert? Ein "stty erase <bs>" kann hier nicht die Loesung sein.
Doch.

Janka

Alex.MH

#5 Post by Alex.MH »

Hi Janka,

erstmal danke fuer deine Antwort.
Das hängt damit zusammen, dass dein Terminal eben über ssh das "falsche" Zeichen sendet. Du hast vermutlich Strg-H (aka BS) auf Backspace, und DEL auf Delete.
Ja, genau, mit Ctrl-H hab ich dann immer die Zeichen geloescht, als es noch nicht ging.
Gar nicht! Wenn du es für dein Remote-Terminal passend systemweit einstellst, wird es lokal nicht mehr richtig funktionieren.
Gibt es denn keine Loesung, die sowohl remote als auch lokal funktioniert?
Das ist kein Fehler. Wozu kann man es denn sonst einstellen.
SuSE hat nunmal an den lokalen Terminals 7f (DEL) auf Backspace und 1b 5b 33 7e auf Delete.
Klingt irgendwie sinnlos fuer mich DEL auf Backspace zu legen :-)

Wie machen es denn die anderen Distributionen? Bei Debian und Gentoo - um nur zwei zu nennen - klappt's doch auch.
Mir draengt sich irgendwie der Verdacht auf, dass es einen allgemeinen Konsens gibt an den sich die meisten halten - nur SuSE wieder nicht.

Gruss,
Alex

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#6 Post by Janka »

Alex.MH wrote:
Gar nicht! Wenn du es für dein Remote-Terminal passend systemweit einstellst, wird es lokal nicht mehr richtig funktionieren.
Gibt es denn keine Loesung, die sowohl remote als auch lokal funktioniert?
Du kannst lokal die Tastaturbelegung ändern, und zwar sowohl für das Terminal wie auch für X, danach kann man dann die Standardeinstellungen für das Terminal ändern.
Das ist kein Fehler. Wozu kann man es denn sonst einstellen.
SuSE hat nunmal an den lokalen Terminals 7f (DEL) auf Backspace und 1b 5b 33 7e auf Delete.
Klingt irgendwie sinnlos fuer mich DEL auf Backspace zu legen :-)
Der Sinn ist, die Delete-Taste für die Escape-Sequenz freizubekommen.
Es kann Situationen geben, in denen man alle drei Möglichkeiten braucht, weil manche Programme DEL fest eincodiert haben, andere Strg-H, und wieder andere termcap oder ncurses benutzen.

Und es ist nunmal nicht möglich, auf einer Tastatur DEL zu tippen, wenn das Zeichen nicht fest auf einer der Tasten liegt. Die Escape-Sequenz kann man auch nicht tippen, denn dabei muss man ein gewisses Timing einhalten, sonst schaltet z.B. der vi nur in den Kommandomodus.

Die kompatibelste (nicht die komfortabelste) Lösung ist es also, DEL auf Backspace, und die Escapesequenz auf Delete zu legen. Strg-H kann man zur Not auch von Hand tippen.

Wirklich sinnlos war nur die Standardeinstellung von HP-UX, @ zum kill-char zu machen. Viel Spaß beim Mailen. :)
Wie machen es denn die anderen Distributionen? Bei Debian und Gentoo - um nur zwei zu nennen - klappt's doch auch.
Ja, dort hat man sich den obigen Gedanken nicht gemacht, und einfach den gedanklichen Kurzschluss "BS auf Backspace" gemacht
Mir draengt sich irgendwie der Verdacht auf, dass es einen allgemeinen Konsens gibt an den sich die meisten halten - nur SuSE wieder nicht.
Mir drängt sich der Verdacht auf, dass es einen einheitlichen Konsens gibt, rpm als Paketformat zu benutzen an den sich die meisten halten - nur Debian wieder nicht. :wink:

Janka

Alex.MH

#7 Post by Alex.MH »

Hi,

danke fuer deine Ausfuehrungen - so lernt man doch jeden Tag was neues.
Mir drängt sich der Verdacht auf, dass es einen einheitlichen Konsens gibt, rpm als Paketformat zu benutzen an den sich die meisten halten - nur Debian wieder nicht.
Hehe, guter Konter.

Gruss,
Alex

Post Reply