Các phím mũi tên, Home, End, các phím hoàn thành tab không hoạt động trong shell


96

Tôi đã cài đặt tối thiểu Ubuntu (mini.iso) trên vm của mình. Sau đó, tôi đã sử dụng chế độ khôi phục để đăng nhập bằng root và tạo một tài khoản useradd -m adminvà sau đó đặt mật khẩu passwd admin.

Khi tôi đăng nhập vào tài khoản mới, thay vì lời nhắc thông thường tôi chỉ thấy một $dấu hiệu. Nếu tôi cố gắng hoàn thành tab hoặc tên tệp, nó sẽ in một tab bình thường. Nếu tôi cố gắng sử dụng các phím mũi tên nó in ^[[A, ^[[B, ^[[Choặc ^[[D. Ngoài ra, lskhông còn thêm màu sắc.

Không có vấn đề nào trong chế độ phục hồi. Làm thế nào tôi có thể sửa lỗi này?


1
Dấu nhắc $ dành cho người dùng. dấu nhắc của root là #. Các phím mũi tên không hoạt động trong thiết bị đầu cuối, bạn cần nhập một cái gì đó như unityđể chạy vỏ Unity
SimplySimon

3
@SimplySimon Các phím mũi tên lên và xuống được cho là để chuyển qua các lệnh trước đó, các phím mũi tên trái và phải được cho là để cuộn qua lệnh hiện tại và tab sẽ hoàn thành lệnh hoặc tên tệp. Đường dẫn nên được viết ở bên trái của $ ...
Runemoro

Rất đúng, tất nhiên họ làm. xin lỗi
SimplySimon

Câu trả lời:


183

Điều đó có thể có nghĩa là tài khoản người dùng mới được tạo với / bin / sh làm vỏ đăng nhập của nó (mặc định là liên kết đến vỏ dash) thay vì / bin / bash - bạn có thể thay đổi vỏ đăng nhập của người dùng bằng lệnh 'chsh'

sudo chsh -s /bin/bash <username>

(bạn sẽ cần phải đăng xuất và đăng nhập lại để thay đổi có hiệu lực). Bạn cũng có thể cần sao chép .bashrc mặc định từ / etc / skel để nhận được dấu nhắc màu.

Trong tương lai, bạn có thể muốn sử dụng lệnh 'adduser' thay vì 'useradd' - nó sẽ thiết lập một môi trường người dùng hoàn chỉnh hơn bao gồm những thứ như .profile và .bashrc mặc định - cũng như đặt shell đăng nhập thành 'bash'


16
Mẹo bổ sung: Người dùng có thể thay đổi điều này cho tài khoản của chính họ mà không yêu cầu quyền sudo (chỉ cần bỏ qua sudolệnh trên).
Cedric Reichenbach

4
Trên thực tế, bạn không cần phải đăng xuất. Chỉ cần gọi nó bằng cách gõ vào /bin/bashdấu nhắc. Điều tương tự cũng xảy ra nếu bạn sửa đổi bash.rctập tin của bạn . Để xem những thay đổi bạn làm điều tương tự.
SDsolar

5

Tôi không thể sử dụng hoàn thành tab khi kết nối qua VNC với XFCE4 không đầu. Câu trả lời được liệt kê ở đây không hoạt động nhưng điều này đã làm:

Chỉnh sửa Phím tắt trong tệp xml:

sudo nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

Tìm thấy:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

Thay đổi nó thành:

<property name="&lt;Super&gt;Tab" type="empty"/>

Đăng xuất / khởi động lại và nên đi


2

Tôi chỉ cần cài đặt Vim và mọi thứ đã được giải quyết. Lúc đầu, tôi nghĩ rằng nó đã được cài đặt trên phiên bản Ubuntu gốc vì tôi có thể sử dụng lệnh Vi, nhưng thực tế không phải vậy.

sudo apt-get install vim 

Đã giải quyết vấn đề.


Câu trả lời được chọn không phù hợp với tôi, nhưng điều này đã làm.
Aaron Cicali

-1

Điều này sẽ giải quyết tất cả: dán và nhấn. Sau đó, bạn sẽ có thể tự động hoàn thành từ lịch sử, sử dụng mũi tên lên.

bind '"\e[A": history-search-backward'

Lấy từ: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Ngoài ra, bạn có thể sử dụng Ctrl + R để xem lịch sử của mình.


Nó sẽ hoạt động cho tất cả các sửa đổi của Linux
Josef Klimuk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.