Как я могу получить безопасную общесистемную конфигурацию oh-my-zsh?

Установка плагинов ¶

Начнем с установки нужных нам плагинов. Из коробки там стоит только git, больше никакие плагины не активированы. Список всех додступных плагинов поставляемых с фреймворком можно посмотреть на странице wiki, с описанием для чего они используются.

Например я хочу поставить себе следующие плагины:

  • npm — добавлят поддержку автодополнения к команде npm
  • vagrant — так как я часто пользуюсь vagrant из-за Drupal VM, то мне он тоже не помешает. Также как и npm добавляет поддержку автодополнения. Там же есть и docker.
  • composer — в 8-ке очень активно использую composer, а данный плагин опять же, добавляет автодополнение, и помимо этого различные полезные синонимы команд. Например = .
  • sudo — частенько бывает и такое, что вбиваешь или копируешь команду из интернета, но для неё требуются права супер-пользователя. Постоянно переводить курсор и дописывать муторно, а данный плагин позволяет просто нажать два раза , и он сам добавит sudo в начало команды.
  • web-search — а иногда случается ситуация, что роешься в консоли и забыл какую-то команду, нужно гуглануть, и чтобы не переключаться на браузер, не кликать на строку поиска, данный плагин позволяет написать , и в браузере по умолчанию сразу откроются результаты.

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

Для того чтобы включить данные плагины (они уже есть в комплекте), достаточно отредактировать файл . Для этого, в ubuntu, достаточно написать или , что вам удобнее. Открываем данный файл на редактирование и ищем строку и добавляем туда все нужные нам плагины, учитывая список выше, вышло следующее: . После изменения данного файла, всегда необходимо прописывать , иначе изменения вступят в силу только после перезагрузки.

После этого можете тестировать работу.

Install Oh My Zsh

If you only follow one of these tips, it needs to be this one.

Oh My Zsh is a community-driven framework for managing your zsh configuration and comes bundled with thousands of helpful functions, helpers, plugins and themes. Many of the following tips will rely on you having this installed.

As is explained on the project’s homepage, you can install it using cURL or wget.

This assumes you have git installed, which you hopefully do already. If not, you can grab it from the project’s homepage.

As you can see, from the post installation message, Oh My Zsh created a backup of your file, then replaced it with its own version. This means that you’ll need to copy over any custom configuration (such as our alias) to your new file.

Шрифты Powerline

Для установки следуйте инструкциям с GitHub.

3. Настройка мультиплексора: tmux

Мультиплексор важен при использовании alacritty, поскольку терминал не допускает применения вкладок, и вы даже не сможете открыть другое окно, не добавив привязку клавиши в файле конфигурации. Это вынуждает меня работать с множеством открытых окон, не имея панели вкладок, напоминающей браузер.

В случае с мультиплексорами есть два варианта: и . Я склоняюсь к последнему. Однако некоторые из его начальных настроек, на мой взгляд, дурацкие.

Файл конфигурации должен находиться здесь: .

Можете создать пустой файл, если такой еще не существует.

​​touch​​ ​​~/.tmux.conf

Вот моя конфигурация с комментариями:

## На основе файлов конфигурации Хэма Вокке и milosz:# https://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/# https://sleeplessbeastie.eu/2016/08/22/how-to-create-basic-tmux-setup/## Последнее обновление: 2021-06-28## Переназначение привязки клавиш с 'Ctrl-b' на 'Ctrl-a'unbind C-bset-option -g prefix C-abind-key C-a send-prefix# Установка типа терминала по умолчаниюset -g default-terminal "screen-256color"# Извлечение конфигурации через C-a + rbind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"# Открыть конфигурацию через C-a затем shift+Mbind-key M split-window -h "vim ~/.tmux.conf"# Активация режима с мышью (>tmux 2.1)# кликабельные окна, панели, при этом размер панелей можно менятьset -g mouse on# Начало отсчета окон и панелей с 1 set -g base-index 1set-window-option -g pane-base-index 1# Не переименовывать окна автоматическиset-option -g allow-rename off# Разделить панели вертикально с помощью | # Разделить панели горизонтально с помощью  -bind | split-window -hbind - split-window -vunbind '"'unbind %# Выбор панелей в стиле Vimbind h select-pane -Lbind l select-pane -Rbind k select-pane -Ubind j select-pane -D # Переключение панелей с помощью Alt-стрелка без приставки# M - это мета-клавиша, в macOS обычно altbind -n M-Left select-pane -Lbind -n M-Right select-pane -Rbind -n M-Up select-pane -Ubind -n M-Down select-pane -D# Shift стрелка для смены оконbind -n S-Left  previous-windowbind -n S-Right next-window# Отключить все звуки колокольчикаset -g visual-activity offset -g visual-bell offset -g visual-silence offsetw -g monitor-activity offset -g bell-action none# Панель состояния# цвета xterm   : https://jonasjacek.github.io/colors/# формат strftime : https://devhints.io/datetimeset -g status-position bottomset -g status-style 'bg=colour235 fg=colour255'set -g status-left "  "set -g status-right "# %a %b %e # %H:%M:%S  "set -g status-right-length 50set -g status-left-length 50# Цвета панелейset -g pane-border-style 'bg=default fg=colour19'set -g pane-active-border-style 'bg=default fg=colour172'# Стилизация сообщенийset -g message-style 'fg=colour255 bg=colour62'

допускает очень много настроек.

Получение привилегий root

Существует три способа получить привилегии root, различающиеся по сложности.

Войдите в систему как пользователь Root

Самый простой и удобный способ получить привилегии root — просто войти на сервер как пользователь root.

Если вы входите на локальный компьютер (или используете консоль для внеполосного подключения к виртуальному серверу), введите как имя пользователя в строке входа и пароль пользователя root, когда система его запросит.

Если вы используете для входа SSH, укажите имя пользователя root перед IP-адресом или доменным именем в строке подключения SSH:

Если вы не настроили ключи SSH для пользователя root, введите пароль пользователя root по запросу системы.

Использование для получения прав root

Входить в систему как пользователь root обычно не рекомендуется, потому что при этом можно легко начать использовать систему не для административных задач, что довольно опасно.

Следующий способ получить привилегии суперпользователя позволяет становиться пользователем root, когда вам это потребуется.

Для этого можно использовать команду (substitute user) для замены пользователя. Чтобы получить привилегии root, введите:

Вам будет предложено ввести пароль для пользователя root, после чего будет создан сеанс оболочки root.

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

Использование для выполнения команд от имени пользователя root

Последний способ получения привилегий root заключается в использовании команды .

Команда позволяет выполнять разовые команды с привилегиями root без необходимости создавать новую оболочку. Она выполняется следующим образом:

В отличие от , для команды требуется пароль текущего пользователя, а не пароль пользователя root.

В связи с вопросами безопасности доступ не предоставляется пользователям по умолчанию, и его необходимо настроить перед использованием. Ознакомьтесь с нашими краткими руководствами Создание нового пользователя с привилегиями Sudo для Ubuntu и CentOS, чтобы научиться настраивать нового пользователя с правами .

В следующем разделе мы более подробно расскажем о том, как изменять конфигурацию .

Zsh: быстрый старт

Еще до установки Oh My Zsh и плагинов можно оценить мощь Zsh.Попробуйте ввести следующую команду:

Она вставит в консоль предыдущую команду. Будет полезна, если забыли указать sudo для команды требующей root:

От предыдущей команды можно взять только аргумент.

Вставить в консоль последнюю команду, начинающуюся с указанных символов:

Конструкция похожа на предыдущую, но применима для известной части символов в середине или в конце команды:

Например, из моей истории команд, после нажатия на Tab, преобразуется в:

Опечатку в последней введенной команде можно исправить так:

А с помощью следующей команды удобно сделать бэкап файла.

Конструкция выше аналогична команде:

Следующая конструкция удалит ранее распакованные файлы. Будет полезна если вы распаковали архив tar.gz не в тот каталог.

Примеры выше, малая доля того, что умеет Zsh. Еще больше возможностей открывается при использовании фреймворка Oh My Zsh.

Знакомьтесь, iTerm2

Для начала, замените стандартный терминал на что-нибудь получше. Пользователям MacOS рекомендую . Для пользователе прочих Unix систем существуют другие решения, например .

Список функций iTerm2 представлен на , среди них: автодополнение, поиск с подсветкой в консоли, сплит панели, копирование без использования мыши, переключение в терминал с помощью горячей клавиши, менеджер паролей и другие.

Чтобы установить iTerm2 вручную: с официального сайта, распакуйте скачанный архив и переместите приложение в папку с программами.

Или, если используете Homebrew, установить iTerm2 можно одной командой:

Самый популярный шорткат — быстрое отображение или скрытие iTerm2. Можно сделать чтобы консоль выезжала сверху, как в Quake.

Но фича не работает из коробки, поэтому потребуется выполнить некоторые действия: перейдите в настройки (iTerm2 — Preferences), далее Profiles — Keys — Configure Hotkey Window, хоткей можно указать любой, остальные настройки как на скриншоте ниже.

Далее (там же в Profiles) перейдите в Window, и установите настройки как на скриншоте (или измените по своему усмотрению). За стиль окна отвечает настройка Style.

Можно двигаться дальше.

Почему вы хотите изменить оболочку по умолчанию?

Вообще говоря, большинство оболочек, с которыми вы столкнетесь в Linux или любых других системах на основе Unix, по большей части предлагают примерно те же функции: они позволяют вам удобно взаимодействовать / управлять различными элементами системы.

Bash , который предустановлен в большинстве дистрибутивов Linux, является прекрасным примером этого. Однако в сочетании с некоторыми другими оболочками, такими как, например, zsh, он уступает по функциональности.

Zsh, с другой стороны, предлагает множество дополнительных функций, таких как автозаполнение, автокоррекция, автоматический компакт-диск, рекурсивное расширение пути и поддержка плагинов, что дает ему преимущество перед bash и некоторыми другими оболочками.

Конечно, это лишь некоторые из преимуществ, которые дает zsh. Другие оболочки также содержат свой собственный набор функций и улучшений, что делает работу с ними проще и удобнее.

Изменение оболочки по умолчанию для персонализированного опыта

Многофункциональная оболочка обладает рядом дополнительных преимуществ помимо тех, которые присущи оболочке по умолчанию. А поскольку большинство ваших взаимодействий и операций с Linux происходят из командной строки, изменение оболочки по умолчанию на ту, которая предлагает больше функций, является одним из первых шагов по настройке вашей рабочей среды.

Фактически, вам следует подумать не только об изменении оболочки по умолчанию, но и о ее настройке и настройке так, как вы хотите, чтобы улучшить весь опыт. Хорошее место для начала настройки вашей оболочки – это начать использовать псевдонимы командной строки, которые делают ввод команд в терминале быстрым и удобным.

Настройка мультиплексора: tmux

Мультиплексор важен при использовании alacritty, поскольку терминал не допускает применения вкладок, и вы даже не сможете открыть другое окно, не добавив привязку клавиши в файле конфигурации. Это вынуждает меня работать с множеством открытых окон, не имея панели вкладок, напоминающей браузер.

В случае с мультиплексорами есть два варианта: и . Я склоняюсь к последнему. Однако некоторые из его начальных настроек, на мой взгляд, дурацкие.

Файл конфигурации должен находиться здесь: .

Можете создать пустой файл, если такой еще не существует.

Вот моя конфигурация  с комментариями:

допускает очень много настроек.

Caps lock → control

В клавишу Control мы используем часто. Она расположена в неудобном месте, поэтому я переназначил ее на Caps Lock. В MacOS это делается так.

  1. Открыть “System Preferences”.
  2. Кликнуть “Keyboard”.
  3. Кликнуть “Modifier Keys…” в правом нижнем углу.
  4. С помощью выпадающего окна переназначить “caps lock” на “control”.

Заключение

Эта конфигурация:

  • минималистична;
  • эстетически привлекательна;
  • информативна, так как предоставляет всю необходимую информацию о состоянии;
  • поддается настройке через файлы конфигурации.

Надеюсь, что на основе этого вы сможете самостоятельно освоить простую и минималистичную настройку терминала.

  • Введение в сетки в цифровом дизайне
  • 8 мощных пакетов NPM для любого веб-разработчика
  • Парсинг HTML из строки на Ruby On Rails

Читайте нас в Telegram, VK и

Перевод статьи Luke Gloege, Ph.D.: A Minimal and Configurable Terminal Setup

Список установленных оболочек

Чтобы увидеть, какие оболочки установлены на вашем компьютере, используйте эту команду. Он просто перечисляет содержимое файл:

cat /etc/shells

Мы упоминали , , а также , но что ?

это Томпсон оболочка, написанная еще в 1971 году Кен Томпсон из Bell Labs известность. Он больше не поддерживается и давно заменен современными оболочками. Он включен исключительно для обеспечения совместимости со старыми сценариями, в которых в первой строке по-прежнему указывается следующее:

#!/bin/sh

Это инструктирует систему использовать оболочка для выполнения скрипта. У вас действительно есть эта древняя оболочка на вашем компьютере, и она используется для запуска ваших скриптов? Команда скажет нам, какая программа действительно запускается при вводе команды.

Давайте посмотрим, что работает, когда вы печатаете :

which sh

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

ls -l /bin/sh

Это аккуратный и легкий способ обеспечения безопасности для сценариев, которые ожидают найти на современных системах.

Удаление

Измените оболочку по умолчанию перед удалением пакета .

Важно: Несоблюдение процедуры ниже, может привести пользователя к невозможности получить доступ к рабочей оболочке
.

Запустите следующую команду:

$ chsh -s /bin/bash user

Где user — имя пользователя.

Используйте эту команду для каждого пользователя с установленной оболочкой zsh (в том числе и root при необходимости). После, удалите пакет .

Кроме того, изменить оболочку по умолчанию обратно в Bash, можно редактируя от root.

Важно: Настоятельно рекомендуется использовать когда редактируете это помогает предотвратить неверные записи и/или ошибки синтаксиса.

Например, изменить следующие:

username:x:1000:1000:Full Name,,,:/home/username:/bin/zsh

На:

username:x:1000:1000:Full Name,,,:/home/username:/bin/bash

Что делают снаряды?

Когда вы входите в систему из командной строки или запускаете окно терминала в Linux, система запускает программу оболочки. Оболочки предлагают стандартный способ расширения среды командной строки. Вы можете поменять оболочку по умолчанию на другую, если хотите.

Первой средой оболочки была оболочка Thompson, разработанная в Bell Labs и выпущенная в 1971 году. С тех пор среды оболочки основывались на этой концепции, добавляя множество новых функций, функциональных возможностей и улучшений скорости.

Например, Bash предлагает завершение команд и имен файлов , расширенные функции сценариев , историю команд , настраиваемые цвета, псевдонимы команд и множество других функций, которые не были доступны еще в 1971 году, когда была выпущена первая оболочка.

Оболочка также используется в фоновом режиме различными системными службами. В дистрибутивы Linux входит много функций, написанных в виде сценариев оболочки. Эти сценарии являются командами, а другие расширенные функции сценариев оболочки выполняются в среде оболочки.

Navigate to Anything Using z

z is a handy plugin that builds a list of your most frequent and recent folders (it calls these “frecent”) and allows you to jump to them with one command. This is often much more convenient than having to tab through a nested folder structure.

To install the plugin, all you have to do is add it to your file like so:

Then restart your terminal.

Once installed, z will have a short learning phase as it observes you navigating around your PC with the terminal. After a while however, you will be able to type followed by any word that is in your desired directory path. The plugin will use fuzzy matching to figure out which folder you want to go to and expand the path accordingly. If there is more than one possibility you can tab through the options as described in the previous tip.

This might not sound like a big deal, but you’ll be able to open a shell, type and have it expand the path to . Then when you’re in that directory, you can type and have it expand the path to .

Мигрируй на Zsh

Zsh она же — одна из современных командных оболочек Unix. Мало кто знаком и использует все ее функции. Однако это и не требуется — фреймворк Oh My Zsh, который мы установим далее, позволит настраивать ее и кастомизировать с помощью тем и плагинов.

У пользователей MacOS, скорее всего, Zsh уже установлена, если нет — установите с помощью менеджера пакетов Homebrew, а затем сделайте zsh оболочкой по умолчанию.

Установка zsh в Ubuntu и Debian.

Пользователи прочих Unix систем наверняка справятся с .

Убедиться, что zsh является оболочкой по умолчанию можно следующей командой.

Результат /bin/zsh означает, что все сделано верно.

Далее необходимо перелогиниться. Когда вновь откроете терминал, возможно увидите приветственное сообщение zsh. Ничего не меняйте и выйдите, выбрав q.

Plugins, Plugins, Plugins

As mentioned, Oh My Zsh ships with a lot of plugins. You really should look through these and invest some time learning those that will help your workflow. To get you started, here are some popular ones to be aware of:

  • – uploads files and piped contents to the Cloudapp service. Outputs and copies the resultant URL to the clipboard.
  • – if a command is not recognized in the , this will use Ubuntu’s command-not-found package to find it or suggest spelling mistakes (Only for Ubuntu and openSUSE).
  • – open the Node API, for your current version, in your browser.
  • – adds autocompletion to npm.
  • – hitting ESC twice puts sudo in front of the current command, or the last one if the command line is empty.
  • – makes interaction between the command line and the code editor easier.

Установка

zsh есть в репозитории Ubuntu по умолчанию, потому установить ее очень просто:

Теперь zsh установлена на сервер, но пока что ничего не изменилось. Нужно запустить zsh как любую другую программу. Как сделать zsh оболочкой по умолчанию, будет описано позже. Итак, запустите оболочку:

Поскольку zsh запущена впервые, сессия оболочки не будет открыта сразу. В место этого появится меню, которое поможет установить некоторые настройки конфигураций по умолчанию. Рекомендуется выбрать вариант (1).

Появится новое меню, в котором можно будет внести некоторые настройки в конфигурационный файл. Первые три опции рекомендуется оставить без изменений.

Здесь может быть непонятен один момент: для внесения параметра в конфигурации нужно выбрать параметр и установить его. Скрипт zsh-newuser-install (текущее меню) не добавит настройки конфигурации по умолчанию, даже если они рекомендованы.

Запомните, изменить эти настройки очень просто, для этого нужно только отредактировать файл ~/.zshrc, потому на данном этапе четко определяться с настройками вовсе необязательно.

Теперь нужно установить параметры по умолчанию для первых трех пунктов меню, а затем перейти к настройкам оболочки, выбрав (4). Убедитесь, что первые три пункта меню уcтановлены по умолчанию.

После того, как настройки в эти три пункта были внесены, они должны быть отмечены как “(Unsaved changes.)” (несохраненные изменения).

Затем нужно установить некоторые параметры в пункте (4). Выберите их в меню.

В данном субменю нужно активировать параметр 1,2 и 3. Это делается путем выбора каждого параметра и нажатия клавиши “s” для его активации.

По завершении данное меню должно выглядеть так:

Другие параметры данного меню можно установить по своему усмотрению. Установив все необходимые параметры, нажмите 0, чтобы сохранить изменения и вернуться в главное меню.

На данном этапе начальная настройка окончена. Чтобы сохранить изменения и покинуть меню, нажмите 0.

Теперь zsh впервые развернута. Проверьте конфигурационный файл, созданный скриптом zsh-newuser-install.

Это файл, который нужно отредактировать при необходимости изменить настройки zsh.

Чтобы понять, как с ним работать, попробуйте изменить строку. Чтобы протестировать различные параметры оболочки, нужно либо выйти из nano (ctrl-X), либо начать новую сессию zsh. Вернувшись в командную строку zsh, наберите:

Это действие запустит механизм моделирования командной строки. Для примера выберите любую строку по умолчанию. Чтобы получить список доступных тем, введите в командную строку:

Это выведет список доступных тем командной строки. Чтобы выбрать, к примеру, тему “clint”, введите:

Тема командной строки должна измениться. Чтобы сделать понравившуюся тему темой строки по умолчанию, внесите ее в файл .zshrc:

В нижнюю часть файла внесите:

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

Чтобы активировать изменения сейчас же, запустите команду source на конфигурационный файл:

Чтобы получить более подробную информацию о работе zshell, читайте руководство “Использование командной оболочки Z Shell (zsh) на облачном сервере“.

Cloud ServerLinuxUbuntuUbuntu 12.04VPSZ Shellzsh

Настройка оболочки: zsh

Установка Oh My Zsh

Для установки вставьте в терминал следующий код:

По завершению будет создан файл конфигурации .

В этом файле есть множество настроек, которые можно активировать и отключать. Их мы здесь рассматривать не станем, так как они выходят за тему статьи.

В своем файле я сделал следующие изменения:

Эта конфигурация вносит следующие изменения.

  • Устанавливает как .
  • Загружает плагины, включенные с Oh My Zsh.
  • Автоматически запускает .

Каждое из этих изменений описывается ниже.

Тема Oh My Zsh

Смена приведет к полному изменению внешнего вида диалогового окна. На выбор представлено огромное число разных тем. Можете посмотреть их на GitHub.

Чтобы сработало, этот код должен находиться в конце .

Плагины Zsh

Oh My Zsh содержит кучу всяких плагинов для расширения терминала. Одна из их функций  —  предоставление полезных сокращений для часто используемых команд. Не все плагины загружаются по умолчанию, так как не все требуются для каждой конфигурации, а загрузка их чрезмерного количества просто излишне замедлит запуск.

Лично я загружаю следующие.

  • → предоставляет полезные сокращения команд .
  • → упрощает использование transfer.sh.
  • → позволяет автоматически запускаться при открытии терминала.
  • → удобные сокращения команд.
  • → позволяет использовать предпочтительный поисковый движок из командной строки, открывая его в браузере. Я им пользуюсь нечасто.

Advanced Topics

If you’re the type that likes to get their hands dirty, these sections might resonate.

Advanced Installation

Some users may want to manually install Oh My Zsh, or change the default path or other settings that
the installer accepts (these settings are also documented at the top of the install script).

Custom Directory

The default location is (hidden in your home directory, you can access it with )

If you’d like to change the install directory with the environment variable, either by running
before installing, or by setting it before the end of the install pipeline
like this:

ZSH="$HOME/.dotfiles/oh-my-zsh" sh install.sh

Unattended install

If you’re running the Oh My Zsh install script as part of an automated install, you can pass the
flag to the script. This will have the effect of not trying to change
the default shell, and also won’t run when the installation has finished.

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

Installing from a forked repository

The install script also accepts these variables to allow installation of a different repository:

  • (default: ): this takes the form of . If you set
    this variable, the installer will look for a repository at .

  • (default: ): this is the full URL of the git repository
    clone. You can use this setting if you want to install from a fork that is not on GitHub (GitLab,
    Bitbucket…) or if you want to clone with SSH instead of HTTPS ().

    NOTE: it’s incompatible with setting the variable. This setting will take precedence.

  • (default: ): you can use this setting if you want to change the default branch to be
    checked out when cloning the repository. This might be useful for testing a Pull Request, or if you
    want to use a branch other than .

For example:

REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
2. Optionally, backup your existing file
3. Create a new zsh configuration file

You can create a new zsh config file by copying the template that we have included for you.

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s $(which zsh)

You must log out from your user session and log back in to see this change.

5. Initialize your new zsh configuration

Once you open up a new terminal window, it should load zsh with Oh My Zsh’s configuration.

Installation Problems

If you have any hiccups installing, here are a few common fixes.

  • You might need to modify your in if you’re not able to find some commands after
    switching to .
  • If you installed manually or changed the install location, check the environment variable in
    .

Custom Plugins and Themes

If you want to override any of the default behaviors, just add a new file (ending in ) in the directory.

If you have many functions that go well together, you can put them as a file in the directory and then enable this plugin.

If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the directory and it will be loaded instead of the one in .

Как изменить оболочку по умолчанию

Настроен ли ваша учетная запись пользователя для использования ZSH (рекомендуется), Bash или другие оболочки, вы можете изменить оболочку по умолчанию из параметров предпочтений «Пользователь и группу» или командных строк.

Изменен на настройках предпочтений «Пользователь и группа»

  1. Выберите меню Apple> «Системные настройки», затем нажмите «Пользователь и группу».
  2. Нажмите на значок блокировкиЗатем введите имя учетной записи и пароль.
  3. В списке пользователей слева удерживайте клавишу управления, чтобы нажать имя пользователя и выберите «Дополнительные параметры».
  4. Выберите оболочку из меню «Входное оболочку», затем нажмите «Хорошо», чтобы сохранить изменения.

Изменился с командной строки

В «терминале», введитеПуть — это канал оболочки, перечисленный в / etc / olders, такие как / bin / zsh, / bin / bash, / bin / csh, / bin / dash, / bin / ksh, / bin / sh или / bin / tcsh.

Переменная окружения $ SHELL

Переменная окружения содержит имя вашей текущей оболочки. Мы можем проверить, какой из них установлен с :

echo $SHELL

Давайте начнем ракушка:

fish

Теперь давайте еще раз проверим, что переменная окружения говорит:

echo $SHELL

Первый раз мы используем мы в ракушка. Переменная окружения содержит путь к исполняемый файл, ,

Когда мы запускаем Оболочка, мы получаем приветственное приветственное сообщение и командная строка меняется. Что может быть удивительным, так это среда по-прежнему держит путь к исполняемый файл, , Это нормально — это нормально.

Когда вы запускаете новую оболочку (или любую другую программу), она наследует среду родительской оболочки. Так что оболочка наследует глобальные и экспортированные переменные среды из ракушка. Потому что значение в переменная окружения не была изменена, она имеет то же значение в оболочка, что он сделал в ракушка.

Были запущены как и любая другая программа. Мы также можем использовать выйти из ракушка. Он закрывается, как и любая другая программа, и мы возвращаемся к ракушка.

Это здорово для того, чтобы опробовать новые оболочки, посмотреть, что они могут сделать, и ладят ли вы с ними. Вы можете исследовать, прежде чем совершить прыжок, и принять его в качестве оболочки для перехода.

Если вы решили сделать — или в любой другой оболочке — по умолчанию, вам нужно использовать команда.

4 ответа

13

Формулировка вашего вопроса неоднозначна, поэтому я не могу сказать, хотите ли вы отказаться от использования или вы хотите для остановки использования . Я расскажу обо всех.

Отключение

Просто запустите и выберите любую оболочку, которую вы использовали раньше. Если вы не знаете, какую оболочку вы использовали раньше, это почти наверняка . Эта команда изменяет «оболочку входа», связанную с вашим пользователем. По существу, он изменяет вашу оболочку по умолчанию.

Вам нужно будет открыть новое окно терминала, чтобы изменения вступили в силу. Если это не сработает, вам нужно будет выйти из системы и снова войти в систему, чтобы повторно инициализировать вашу среду.

Отключение только

  1. Проверьте, существует ли . Вероятно, это так. (Этот файл будет создан, когда сценарий установки перенесет предыдущий в сторону. является загрузочным файлом , аналогично для )
  2. Если это так, сделайте . Это положит -created из-за чего мы можем восстановить оригинал, выполнив .
  3. Если он не существует, откройте в текстовом редакторе. Найдите строку с надписью и прокомментируйте ее или удалите. Это отключит инициализацию .

Вам потребуется перезапустить оболочку, чтобы изменения вступили в силу.

4

Переключение конфигурации ZSH

Если вы хотите протестировать различные рамки конфигурации zsh (oh-my-zsh, zprezto и т. д.), и переключиться между ними, лучше всего использовать символические ссылки для , , , , и . Возможно, вы захотите создать сценарии оболочки для каждой структуры, чтобы создать эти символические ссылки для более быстрого переключения.

Поместите конфигурацию фреймворка в свои собственные папки. Для каждой структуры.

  • Установите фреймворк в свою папку, если это возможно, иначе
  • Если структура принудительно устанавливает на , тогда
    • Сначала защитите текущий . Или
      • удалите символическую ссылку ; или
      • переместите папку ;
    • Запустите программу установки рамок.
    • Переместите папку рамки в свой собственный каталог. например литий>
  • Повторите для каждой структуры.

После выполнения создайте сценарий оболочки для каждой структуры, чтобы создать необходимые символические ссылки. Вот пример для zprezto, так как я уже использую его.

Этот сценарий довольно прост и зависит от того, что все мои символические ссылки организованы с одинаковым шаблоном. Вы можете скопировать и вставить строки remove и create после цикла для символических ссылок, которые не соответствуют шаблону.

После выполнения используйте — или — для переключения между структурами zsh.

Обратите внимание, что изменения вступают в силу только в новых оболочках zsh, а не в существующих оболочках. Переключение оболочки

Переключение оболочки

Это немного опасно, но если вы так склонны, вы можете использовать символическую ссылку для своей команды оболочки и установить символическую ссылку как свою стандартную оболочку. Затем вы можете выполнить описанный выше метод , чтобы изменить оболочку по умолчанию.

В качестве примера с zsh …

Причина, по которой это опасно, заключается в том, что вы не можете войти под пользователем, если оболочка, хранящаяся в , не является допустимой программой. Таким образом, вы можете заблокировать себя из своей учетной записи, если не будете осторожны; т. е. ваша символическая ссылка сломана или не указывает на интерактивную программу. Вы можете попробовать это с учетной записью пользователя, но это НЕ РЕКОМЕНДУЕТСЯ для вашей учетной записи .

Если вы все еще хотите продолжить, то

2

Чтобы вручную установить новую оболочку по умолчанию, выполните chsh -s /my /
new /shell, например chsh -s /bin /bash. Затем просто откройте свои оболочки.

1

Вы можете указать zsh загрузить свои файлы конфигурации для каждого пользователя из другого каталога, установив переменную среды

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: