о, мой zsh для корня и для всего пользователя

Я установил zsh и я использую, О, Свои плагины ZSH. Все хорошо работает, но когда я становлюсь пользователем root, это изменяет на значение по умолчанию zsh тему.

Что я должен сделать для создания, О, Моей конфигурации ZSH как значения по умолчанию zsh для всех пользователей включая root?

Я попытался использовать chsh -s /bin/zsh root

Это дало мне zsh но нет oh_my_zsh

Я также попробовал cp -R /home/user/.zshrc /root/.zshrcлуг для получения oh_my_zsh для корня, но ничто не работало.

(Мне не нужно zsh но мне нужно oh_my_zsh для всего пользователя в системе)

14
задан 30 July 2017 в 12:57

6 ответов

Просто выполните команду установки как пользователя root (после выполнения sudo su)

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
8
ответ дан 23 November 2019 в 02:54

Я сделал символьные ссылки на свои zsh файлы в моем домашнем dir, который, кажется, хорошо работает:

ln -s $HOME/.oh-my-zsh           /root/.oh-my-zsh
ln -s $HOME/.zshrc               /root/.zshrc
22
ответ дан 23 November 2019 в 02:54

Я установил oh-my-zsh с корневой учетной записью. Теперь я вхожу в систему с другой учетной записью и устанавливаю oh-my-zsh снова в корневом каталоге учетной записи. Это работает на некорневую учетную запись.

1
ответ дан 23 November 2019 в 02:54

Всем, у кого возникнет такой же вопрос, я бы порекомендовал сочетание подходов Туммалы Дханви и Мортона. Я установил oh-my-zsh и как root, и как пользователь, используя следующие команды:

Пользователь:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Корень:

su
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Затем я создал символическую ссылку для файла конфигурации (запуск от имени пользователя):

sudo ln -s /root/.zshrc $HOME/.zshrc

Убедитесь, что у пользователя есть права на чтение файла:

sudo chmod 744 /root/.zshrc

Этот подход позволяет использовать общую конфигурацию, сохраняя при этом безопасность системы. Однако для редактирования .zshrc

вам потребуются привилегии root.
8
ответ дан 15 April 2020 в 21:17

Сначала установите zsh или другую оболочку, скажем, oh-my-zsh как обычный пользователь.

Если вы обычно настроили оболочку zsh и инфраструктуру oh-my-zhs, то не просто sudo su в root и введите chsh -s $(what zsh) $(whoami ) для изменения оболочки и фреймворка

Сначала создайте системные ссылки в корне вашей домашней оболочки и конфигураций фреймворка;

  • ln -s $HOME/.zshrc /root/.zshrc
  • ln -s $HOME /.oh-my-zsh /root/.oh-my-zsh

Затем после этого продолжайте и измените оболочку chsh -s $(которая zsh) $(whoami)

НО если вы уже изменили оболочку до создания системных ссылок, вы получите возврат, вероятно, /root/.zshrc или файл уже существует.

Там вам нужно перейти к источнику /root и удалить любой существующий файл, который они сказали, а затем выполнить команду системной ссылки, необходимую для его повторного создания, но полученного из дома.

После этого у вас будет root с той же оболочкой и фреймворком, что и в обычном пользовательском терминале

если вы уже сделали все это и это не работает из-за проблем с разрешениями, просто дайте разрешение к этим корневым файлам;

  • sudo chmod 744 /root/.zshrc
0
ответ дан 29 December 2020 в 14:44

Я написал короткий скрипт на основе решения Lord Lulent, который хорошо работает для меня

USER=barman
USER_HOME_PATH=~$USER
sudo ln -s $HOME/.zshrc   ${USER_HOME_PATH}/.zshrc
sudo ln -s $HOME/.oh-my-zsh   ${USER_HOME_PATH}/.oh-my-zsh
sudo ln -s $HOME/.p10k.zsh   ${USER_HOME_PATH}/.p10k.zsh
sudo chsh -s $(which zsh)  $USER
0
ответ дан 10 December 2021 в 08:17

Другие вопросы по тегам:

Похожие вопросы: