Sida 1 av 1
Inget backspace i "screen" // Olika "terminaltyper"? (OS X)
Postat: 28 sep 2007, 16:53
av Emil.s
Om jag sitter på det lokala datorn, eller via en X terminal i Linux (och putty) så funkar backspace bra. Men i OS X så funkar det inte... Har kikat lite bland inställningarna, och kan det vara "terminaltyp" som strular?
http://sandnabba.se/~emil/Screenshots/P ... naltyp.png
Vad gör det där egentligen?
SV: Inget backspace i "screen" // Olika "terminaltyper"? (OS X)
Postat: 28 sep 2007, 19:05
av Lars
Olika terminaltyper använder olika kontrolltecken, bl.a. för att flytta markören på skärmen, styra teckenfärg o.s.v. Vissa terminaltyper är mer begränsade än andra, alla stödjer inte färg t.ex. Möjligtvis påverkar det backstegstangenten också, det är i alla fall ganska typsikt att just den tangenten strular. Prova att använda Delete eller Ctrl+H istället.
Om du kör kommandot "echo $TERM" så får du veta vad servern tror att du använder, förhoppningsvis stämmer det överens med vad klienten använder.
SV: Inget backspace i "screen" // Olika "terminaltyper"? (OS X)
Postat: 28 sep 2007, 19:10
av mcNisse
Terminaltyp talar om vilka operationer som terminalen klarar av att göra. Det går att ändra terminartyp genom att sätta TERM variabeln.
Dock tror jag inte att det är det som strular. Jag tror det beror på vilket tecken som backspace tangenten ger till terminalen. Normalt sett är det (i en linux maskin) brukar backspace vara ^? (DEL) men den kan vara ^H också.
Kolla i terminalen i osx om du kan se vad som skickas. Kommandot heter stty. Det går att sätta om erase till det som du skickar, tex stty erase ^H.
SV: Inget backspace i "screen" // Olika "terminaltyper"? (OS X)
Postat: 28 sep 2007, 21:02
av Emil.s
I OS X, inloggad på en linuxburk över SSH:
Kod: Markera allt
emil@Megaleif:~$ stty
speed 9600 baud; line = 0;
eol = M-^?; eol2 = M-^?;
-brkint ixany
-echok
emil@Megaleif:~$ env | grep TERM
TERM=xterm-color
OS X native:
Kod: Markera allt
emil@Emils-Macbook.local: ~ $ env | grep TERM
TERM_PROGRAM=Apple_Terminal
TERM=xterm-color
TERM_PROGRAM_VERSION=235
emil@Emils-Macbook.local: ~ $ stty
speed 9600 baud;
lflags: echoe echoke echoctl pendin
iflags: iutf8
oflags: -oxtabs
cflags: cs8 -parenb
Ubuntu 7.9:
Kod: Markera allt
emil@Megaleif:~$ env | grep TERM
TERM=xterm
COLORTERM=gnome-terminal
emil@Megaleif:~$ stty
speed 38400 baud; line = 0;
eol = M-^?; eol2 = M-^?; swtch = M-^?;
ixany iutf8
Över SSH:
Kod: Markera allt
emil@servern: ~ $ env | grep TERM
TERM=xterm
emil@servern: ~ $ stty
speed 38400 baud; line = 0;
-brkint ixany
Megaleif till servern, inne i screen:
Kod: Markera allt
emil@servern: ~/tmp $ env | grep TERM
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
emil@servern: ~/tmp $ stty
speed 38400 baud; line = 0;
-brkint ixany
OS X till servern, i screen:
Kod: Markera allt
emil@servern: ~/tmp $ env | grep TERM
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
emil@servern: ~/tmp $ stty
speed 9600 baud; line = 0;
-brkint ixany
-echok
Ctrl + H Funkar i screen. Men om jag ändrar så att backspace ger Ctrl + H så går det inte att använda backspace i "vim" om man inte är i screen...
SV: Inget backspace i "screen" // Olika "terminaltyper"? (OS X)
Postat: 29 sep 2007, 16:52
av mcNisse
Jag tycker att detta är struligt. Speciellt när man loggar in mellan olika operativsystem.
Om du vill att det ska fungera behöver du nog pillra lite i .bashrc filer (eller i de setup filer för det skal du kör).
typ
if [ x$TERM = xscreen ];then
stty erase ^H
elif ....
stty -a listar alla inställningar.