Bagaimana cara mengubah shell default saya pada instance AWS?

121

Saya ingin mengganti shell saya dari shell default bash ke zsh di instance Amazon EC2 saya. Bagaimana cara saya melakukannya? Terima kasih!

Shripad Krishna
sumber

Jawaban:

159

Coba gunakan chshperintah.

misalnya

chsh -s / bin / zsh

Anda dapat mengonfirmasi lokasi zsh dengan menjalankan whereis zsh, atau secara alternatif menjalankannya

chsh -s $ (yang zsh)

Jika Anda ingin mengganti shell untuk akun pengguna selain yang Anda masuki, Anda harus menjalankannya sebagai root, jadi untuk mengubah shell john, lakukan:

sudo chsh -s $ (yang zsh) john

Perhatikan bahwa Anda harus keluar dan masuk kembali agar perubahan berlaku. Jika Anda menggunakan Gnome atau window manager lain, Anda juga harus keluar sepenuhnya dari sesi itu — cukup menutup dan membuka terminal tidak cukup.

John T
sumber
Saya memang mencobanya, tetapi dengan pengguna root !! Gambar AMI saya memiliki ubuntu daripada root. Harus beralih ke pengguna ubuntu untuk mengganti shell! Terima kasih atas petunjuknya :)
Shripad Krishna
3
@ Paddy jika Anda root, Anda dapat mengubahnya untuk pengguna lain dengan menjalankan chsh -s /bin/zsh username.
John T
Keren :) Jauh lebih mudah. Terima kasih atas informasinya juga.
Shripad Krishna
3
@Kami adalah Dunia: Anda perlu menambahkan / usr / local / bin / zsh sebagai baris baru ke / etc / shells
Nate Parsons
5
Saya menggunakan versi yang sedikit berbedasudo chsh -s $(which zsh) $(whoami)
SergioAraujo
20

Buka / etc / passwd:

sudo vi /etc/passwd

Temukan baris dengan nama pengguna Anda:

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

dan ganti bash dengan zsh:

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

Logout dan login kembali agar perubahan diterapkan.

Georgii Oleinikov
sumber
6
Lebih baik digunakan chsh, tetapi jika Anda benar - benar akan mengedit /etc/passwddengan tangan, setidaknya gunakan vipwperintah.
Valmiky Arquissandas
Saya tidak punya chsh di mesin saya. Juga, untuk beberapa alasan aneh file / etc / passwd saya secara teratur ditimpa oleh file default. Apakah Anda tahu mengapa ini bisa terjadi?
Georgii Oleinikov
Jangan menyentuh / etc / passwd. Ada cara yang lebih baik untuk melakukan ini yang tidak perlu dipusingkan dengan alat passwd!
Andrew
6

Saya datang ke sini hanya untuk menambah informasi tambahan. Jika Anda memiliki masalah saat menginstal zsh di Amazon Linux AMI oleh Amazon, seperti saat Anda menjalankan:

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

Maka Anda harus menginstal util-linux-user :

sudo yum install util-linux-user

(secara default Amazon Linux AMI hanya memiliki lchsh , tetapi saya tidak dapat menemukan cara kerjanya).

Kemudian jalankan perintah berikut, ini seharusnya bekerja:

sudo chsh -s $(which zsh) $(whoami)
chau giang
sumber
5

Di Ubuntu, di dalam terminal GNOME, membuat perubahan melalui chsh tidak akan memiliki efek yang diharapkan ...

Untuk mengatasi masalah ini, lakukan ini:

  • Klik kanan di terminal
  • Profil -> Preferensi Profil
  • Di bawah tab "Judul dan Perintah", centang "Jalankan perintah khusus alih-alih shell saya" dan berikan path ke zsh yang dapat dieksekusi.
  • Mulai ulang Terminal.

Perdamaian.

PS Tidak memiliki 10 reputasi untuk mengirim gambar, jadi semua instruksi teks. :)

Ben
sumber
Anda memiliki perwakilan yang Anda butuhkan sekarang. : P
pradyunsg
0

satu baris

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

Info Tambahan: setelah itu Anda mungkin ingin melakukan yang ini

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 

find plugins = (git) Tambahkan zsh-autosuggestions & zsh-syntax-highlighting ke plugins () seperti ini

plugins = (git zsh-autosuggestions fast-syntax-highlighting)

source ~/.zshrc
OWADVL
sumber