Kiedy ssh na innym komputerze Ubuntu z moim kontem (z uprawnieniami sudo), mój klawisz backspace generuje kilka dziwnych symboli po naciśnięciu. Również klawisze Tab, Del i Arrow nie działają.
Z drugiej strony mam także inne konto na tej samej maszynie, a kiedy ssh przez to konto, jego terminal działa doskonale. Nie mogłem zrozumieć, dlaczego tak się dzieje.
command-line
gnome-terminal
xterm
gopi1410
źródło
źródło
Odpowiedzi:
EDYCJA: Odniesienie: odpowiedź Matenga
Mateng jest blisko, ponieważ myślę, że prawdopodobnie prowadzisz Bourne Shell. Ale nie powinieneś
/etc/passwd
bezpośrednio edytować pliku.chsh
Zamiast tego spróbuj użyć polecenia:Flaga -s sprawi, że nowa powłoka (w tym przypadku Bash) stanie się powłoką logowania.
źródło
sudo chsh -s /bin/bash
Poniższe zmiany rozwiązały problem dla mnie. Najpierw sprawdziłem, która powłoka działa:
który zwrócił:
Jak czytam w tym poście w Ubuntuforums , zmiana powłoki na
/bin/bash
przynosi rozwiązanie. Zmieniłem więc ustawienia użytkownika w/etc/passwd
:Wylogowałem się, a następnie zalogowałem ponownie. O dziwo musiałem ręcznie zmienić powłokę (być może trochę pamięci podręcznej było aktywne), wpisując to:
Voila!
[Problem powstał z powodu aktualizacji dystrybucji.]
źródło
kiedy po raz pierwszy wpiszesz ssh, wypróbuj te dwa polecenia
Muszę to zrobić na niektórych komputerach, na które wchodzę, aby naprawić dokładnie ten problem
źródło
stty erase <backspace>
(<backspace> będąc tam, gdzie faktycznie nacisnąłeś klawisz)$ stty erase '^[[A' stty: invalid integer argument '\033[A'
. Z [Backspace]:$ stty erase '^?'
działa. Z [Tab]:$ stty erase ' '
bez błędu, ale wtedy [Backspace] powraca do dziwnego zachowania.export TERM=VT100
, ale bezskutecznie.stty tab0
nie pomaga. Chyba potrzebna jest jakaś ogólna rekonfiguracja xtermu. Czy mapa klawiszy jest po prostu błędna?Jednym z najprostszych sposobów rozwiązania tego problemu jest wpisanie / bin / bash w wierszu polecenia interfejsu wiersza poleceń:
$ / bin / bash
Wyżej wymienione polecenie wykona powłokę Bourne Again na istniejącej powłoce jako podproces. Stanowi to wadę wykorzystania większej ilości zasobów, ale nie trzeba nic edytować i nie są wymagane żadne specjalne uprawnienia. Na przykład w najnowszych wersjach Kubuntu rozpocznie sesję / bin / bash na domyślnym interfejsie powłoki wiersza poleceń / bin / dash.
Aby jednak zachować zmiany, jedną z możliwości jest edycja pliku / etc / passwd i dodanie / edycja / zamiana domyślnej powłoki do / bin / bash po ostatnim znaku „:” w wierszu odpowiadającym użytkownikowi. Jednak w celu edycji tego pliku wymagane byłyby uprawnienia administratora.
źródło
„Gbnome Terminal” nie naśladuje dokładnie „xterm”.
z: Wikipedia >> Terminal GNOME
Terminal GNOME emuluje emulator terminala xterm i zapewnia niektóre z tych samych funkcji.
Traktat na temat problemu i rozwiązania można znaleźć tutaj:
Linux Backspace / Usuń mini-HOWTO
Najprostszym rozwiązaniem (które może tu działać) jest użycie: bash $ export TERM = gnome
źródło
Jako użytkownik root edytuj plik / etc / passwd dla swojego użytkownika i zmień z / bin / sh na / bin / bash
hdfs: x: 1020: 1001 :: / home / hdfs: / bin / sh to hdfs: x: 1020: 1001 :: / home / hdfs: / bin / bash
To zadziałało dla mnie.
źródło
Próbowałem wszystkich powyższych plus notatki z ( tego linku ) bez powodzenia. Możesz sprawdzić, czy vim jest zainstalowany.
Zwykle używam vi nie vim. Więc zainstalowałem vim.
Po tym uderzenia klawiatury zaczęły działać poprawnie, gdy wykonałem vi. Patrząc na następujące wyniki, wygląda na to, że vi został utworzony alias vim po instalacji:
źródło
Jest to problem ze zgodnością z klawiaturą, tj. Sposób interpretacji w systemie hosta. Może być konieczne użycie j lub h, aby przejść w edytorze vi w trybie poleceń. Strzały nie będą działać.
Sprawdź preferencje profilu -> zgodność w systemie hosta dla tego konkretnego użytkownika.
źródło
Okej, wiem, że nie jest to „rozwiązanie” na powiedzenie i może nie pomóc wielu z was , ale mam nadzieję, że pomoże przynajmniej jednemu z was . Naprawił mój problem.
Mój sześciomiesięczny trzask uderzył w klawiaturę, a klawisze strzałek przestały działać podczas mojej sesji putty w pudełku Debiana. Działali wszędzie indziej (wszystkie inne programy poza kitem). Po Googleingu, a nawet wylądowaniu tutaj (miałem zamiar zamknąć tę kartę, nie rozwiązało to dla mnie). Próbowałem czegoś Otworzyłem nową sesję ssh w tym samym pudełku i moje klawisze strzałek działały. Dołączyłem do sesji ekranowej i nie działały. Więc coś się stało, związane z bieżącą sesją ekranową, wyłączając klawisze strzałek. Niestety byłem (jestem) w trakcie dużego projektu, miałem 28 okien otwartych w mojej sesji ekranowej i nie chciałem zamykać sesji, tracąc swoje miejsce we wszystkich 28 oknach.
Więc..
Podczas korzystania z powłoki bash wypróbowałem wszystkie kombinacje, które mogłem wymyślić, CTRL + góra, dół, lewo prawo, ALT + góra, dół, lewo, prawo, SHIFT + góra, dół, lewo prawo, CTRL + ALT + góra, dół , lewy prawy, CTRL + SHIFT + góra, dół, lewo prawo itp. Wciąż bez powodzenia spróbowałem także menu systemu Windows i klawiszy aplikacji Windows za pomocą klawiszy góra, dół, lewo prawo.
Teraz moje strzały znów działają! Naprawiono coś w jednej z kombinacji tego, co jest powyżej i klawiszy strzałek.
źródło
Żadna z powyższych odpowiedzi nie rozwiązała mojego identycznego problemu, tzn. Nie można użyć backspace lub podobnych kluczy po sshing do zdalnego z Ubuntu (tutaj ubuntu-17.10 z ncurses-6.0).
W końcu jest to problem z terminfo. Zasadniczo mój terminal gnome mówi, że jest to terminal xterm-256color (poprzez zmienną TERM, która jest eksportowana przez ssh do pilota), ale pilot nie miał konfiguracji terminfo dla xterm-256color.
Wykonanie następujących czynności naprawiło problem:
infocmp, bez żadnej opcji, tworzy listę źródeł dla terminala w zmiennej środowiskowej $ TERM. Jest to więc odpowiednik infocmp -I $ TERM.
Następnie powstałe źródło jest kompilowane za pomocą tic.
Na koniec zainstaluj odpowiednią konfigurację terminfo w zdalnej lokalizacji. Kiedy następnym razem połączę się ze zdalnym $ hostem za pośrednictwem $ hosta, dowie się on o moim terminalu.
źródło