Як змінити оболонку за замовчуванням в екземплярі AWS?


121

Я хочу змінити свою оболонку з базової оболонки bash на zsh для моїх примірників Amazon EC2. Як мені це робити? Дякую!

Відповіді:


159

Спробуйте скористатися chshкомандою.

напр

chsh -s / bin / zsh

Ви можете підтвердити розташування zsh, запустивши whereis zsh, або ж просто запустіть

chsh -s $ (що zsh)

Якщо ви хочете змінити оболонку для облікового запису користувача, відмінного від того, у який ви ввійшли, вам потрібно запустити його як root, щоб змінити оболонку Джона, зробіть:

sudo chsh -s $ (що zsh) john

Зауважте, що вам потрібно буде вийти з системи та увійти знову, щоб зміни набули чинності. Якщо ви використовуєте Gnome або інший менеджер вікон, вам також доведеться повністю вийти з цього сеансу - недостатньо просто закрити та відкрити термінал.


Я це спробував, але з користувачем root !! Моє зображення AMI має ubuntu, а не root. Довелося перейти на користувача ubuntu, щоб змінити оболонку! Дякую за підказку :)
Shripad Krishna

3
@Paddy, якщо ви root, ви можете змінити його для іншого користувача, запустивши chsh -s /bin/zsh username.
Джон Т

Дивовижно :) Набагато простіше. Дякую також за цю інформацію.
Шріпад Кришна

3
@ We the World: Вам потрібно додати / usr / local / bin / zsh як новий рядок до / etc / shell
Нейт Парсонс

5
Я використовую трохи іншу версіюsudo chsh -s $(which zsh) $(whoami)
SergioAraujo

20

Відкрити / etc / passwd:

sudo vi /etc/passwd

Знайдіть рядок із своїм ім’ям користувача:

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

і замініть bash на zsh:

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

Вийдіть із системи та увійдіть назад, щоб зміни набрали чинності.


6
Краще використовувати chsh, але якщо ви дійсно збираєтесь редагувати /etc/passwdвручну, принаймні використовуйте vipwкоманду.
Valmiky Arquissandas

У мене немає chsh на моїй машині. Також з якихось дивних причин файл / etc / passwd регулярно перезаписується типовим файлом. Чи знаєте ви, чому це могло статися?
Георгій Олейников

Не торкайтеся / etc / passwd. Є кращі способи зробити це, які не потребують возитися з інструментом passwd!
Андрій

6

Я прийшов сюди, щоб просто додати більше додаткової інформації. Якщо у вас виникли проблеми під час встановлення zsh в Amazon Linux AMI від Amazon, як, наприклад, при запуску:

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

Тоді вам слід встановити util-linux-user :

sudo yum install util-linux-user

(за замовчуванням Amazo Linux AMI має лише lchsh , але я не можу зрозуміти, як це працює).

Потім запустіть таку команду, вона повинна працювати:

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

5

Для Ubuntu, всередині терміналу GNOME, внесення змін через chsh не матиме очікуваного ефекту ...

Щоб вирішити цю проблему, зробіть це:

  • Клацніть правою кнопкою миші в терміналі
  • Профілі -> Налаштування профілю
  • На вкладці "Назва та команда" поставте галочку "Запустити власну команду замість моєї оболонки" та вкажіть шлях до виконуваного файлу zsh.
  • Перезапустіть термінал.

Мир.

PS Не маєте 10 репутацій для розміщення зображень, тому всі текстові інструкції. :)


У вас є потрібний представник. : P
pradyunsg

0

одна лінія

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

Додаткова інформація: після цього ви, ймовірно, захочете це зробити

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) Додайте zsh-autosuggestions & zsh-syntax-виділення до плагінів (), як цього

плагіни = (git zsh-autosuggestions швидке виділення синтаксису)

source ~/.zshrc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.