Làm cách nào để thay đổi shell mặc định của tôi trên phiên bản AWS?


121

Tôi muốn thay đổi shell của mình từ shell bash mặc định thành zsh trên các phiên bản Amazon EC2 của tôi. Làm thế nào để tôi đi về làm điều đó? Cảm ơn!

Câu trả lời:


159

Hãy thử sử dụng chshlệnh.

ví dụ

chsh -s / bin / zsh

Bạn có thể xác nhận vị trí của zsh bằng cách chạy whereis zshhoặc đơn giản là chạy

chsh -s $ (mà zsh)

Nếu bạn muốn thay đổi shell cho tài khoản người dùng khác với tài khoản bạn đã đăng nhập, bạn sẽ cần chạy nó với quyền root, vì vậy, để thay đổi shell của john, hãy làm:

sudo chsh -s $ (mà zsh) john

Lưu ý rằng bạn sẽ cần phải đăng xuất và đăng nhập lại để thay đổi có hiệu lực. Nếu bạn đang sử dụng Gnome hoặc một số trình quản lý cửa sổ khác, bạn sẽ cần phải đăng xuất hoàn toàn khỏi phiên đó cũng như chỉ đơn giản là đóng và mở thiết bị đầu cuối của bạn là không đủ.


Tôi đã thử điều đó, nhưng với người dùng root !! Hình ảnh AMI của tôi có Ubuntu chứ không phải root. Phải chuyển sang người dùng Ubuntu để thay đổi vỏ! Cảm ơn vì gợi ý :)
Shripad Krishna

3
@Paddy nếu bạn đã root, bạn có thể thay đổi nó cho người dùng khác bằng cách chạy chsh -s /bin/zsh username.
John T

Tuyệt vời :) Dễ dàng hơn nhiều. Cảm ơn thông tin đó quá.
Shripad Krishna

3
@ Chúng tôi là Thế giới: Bạn cần thêm / usr / local / bin / zsh dưới dạng một dòng mới vào / etc / shells
Nate Parsons

5
Tôi sử dụng một phiên bản khác biệt nhẹsudo chsh -s $(which zsh) $(whoami)
SergioAraujo

20

Mở / etc / passwd:

sudo vi /etc/passwd

Tìm dòng với tên người dùng của bạn:

username:x:1634231:100:Your Name:/home/username:/bin/bash

và thay thế bash bằng zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Đăng xuất và đăng nhập lại để những thay đổi có hiệu lực.


6
Sử dụng tốt hơn chsh, nhưng nếu bạn thực sự sẽ chỉnh sửa /etc/passwdbằng tay, ít nhất hãy sử dụng vipwlệnh.
Valmiky Arquissandas

Tôi không có chsh trên máy của tôi. Ngoài ra, vì một số lý do kỳ lạ, tập tin / etc / passwd của tôi thường xuyên bị ghi đè bởi tệp mặc định. Bạn có biết tại sao điều này có thể xảy ra?
Georgii Oleinikov

Đừng chạm / etc / passwd. Có nhiều cách tốt hơn để làm điều này mà không yêu cầu gây rối với công cụ passwd!
Andrew

6

Tôi đến đây chỉ để thêm thông tin bổ sung. Nếu bạn gặp sự cố khi cài đặt zsh trong Amazon Linux AMI của Amazon, như khi bạn chạy:

sudo chsh $(which zsh) : // chsh command not found

Sau đó, bạn nên cài đặt người dùng linux-linux :

sudo yum install util-linux-user

(theo mặc định Amazon Linux AMI chỉ có lchsh , nhưng tôi không thể tìm ra cách nó hoạt động).

Sau đó chạy lệnh sau, nó sẽ hoạt động:

sudo chsh -s $(which zsh) $(whoami)

5

Trên Ubuntu, bên trong thiết bị đầu cuối Gnome, thực hiện các thay đổi qua chsh sẽ không có hiệu quả như mong đợi ...

Để khắc phục vấn đề này, hãy làm điều này:

  • Nhấp chuột phải vào thiết bị đầu cuối
  • Hồ sơ -> Tùy chọn hồ sơ
  • Trong tab "Tiêu đề và Lệnh", đánh dấu vào "Chạy lệnh tùy chỉnh thay vì trình bao của tôi" và cung cấp đường dẫn đến zsh thực thi.
  • Khởi động lại Terminal.

Sự thanh bình.

PS Đừng có 10 danh tiếng để đăng ảnh, vì vậy tất cả các hướng dẫn texty. :)


Bạn có đại diện bạn cần bây giờ. : P
pradyunsg

0

một đường thẳng

sudo chsh -s $(which zsh) $(whoami)

Thông tin thêm: sau đó có thể bạn sẽ muốn làm điều này

git clone https://github.com/zdharma/fast-syntax-highlighting.git \
  ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

nano ~/.zshrc 

tìm plugin = (git) Nối zsh-autosuggestions & zsh-cú pháp-tô sáng cho plugin () như thế này

plugin = (git zsh-autosuggestions đánh dấu cú pháp nhanh)

source ~/.zshrc
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.