2019-09-02 08:05:47 +00:00
|
|
|
|
# Установка
|
|
|
|
|
|
|
|
|
|
Установка необходимых пакетов:
|
|
|
|
|
|
|
|
|
|
```sh
|
2021-04-19 08:32:04 +00:00
|
|
|
|
sudo apt-get install zsh
|
2020-04-04 19:34:05 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Установка желательных пакетов:
|
|
|
|
|
|
|
|
|
|
```sh
|
2021-07-13 14:38:03 +00:00
|
|
|
|
sudo apt-get install keychain peco fzf wmctrl xdotool autojump
|
2019-09-02 08:05:47 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Клонирование репозитория в каталог `~/.config/zsh`:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
git clone https://git.246060.ru/f1x1t/zshrc ~/.config/zsh
|
|
|
|
|
```
|
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
# Базовая настройка
|
2019-09-02 08:05:47 +00:00
|
|
|
|
|
2020-04-04 19:34:05 +00:00
|
|
|
|
С правами суперпользователя открыть файл `/etc/zsh/zshenv`
|
|
|
|
|
в редакторе командой
|
2020-03-27 18:05:39 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
2020-03-30 13:10:32 +00:00
|
|
|
|
sudo ${EDITOR:-mcedit} /etc/zsh/zshenv
|
2020-03-27 18:05:39 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
и добавить строку
|
2019-09-02 08:05:47 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
export ZDOTDIR=$HOME/.config/zsh
|
|
|
|
|
```
|
|
|
|
|
|
2020-03-27 18:05:39 +00:00
|
|
|
|
Установить интерпретатор Zsh по умолчанию для пользователя `username`.
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
sudo usermod -s /usr/bin/zsh username
|
|
|
|
|
```
|
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
# Настройка агентов
|
|
|
|
|
|
|
|
|
|
Существует несколько вариантов настройки агентов для SSH и/или GPG.
|
|
|
|
|
Для любого из вариантов следует скопировать шаблонный файл для настроек:
|
2020-03-27 18:05:39 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
2020-04-04 20:09:24 +00:00
|
|
|
|
cp ~/.config/zsh/agents.zsh ~/.config/zsh/agents.user.zsh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Настройка GPG агента
|
|
|
|
|
|
2021-07-13 14:38:03 +00:00
|
|
|
|
Раскомментировать в файле ` ~/.config/zsh/agents.user.zsh` строки:
|
2020-04-04 20:09:24 +00:00
|
|
|
|
|
|
|
|
|
```text
|
2021-07-13 14:38:03 +00:00
|
|
|
|
# zinit ice wait'1' lucid
|
|
|
|
|
# zinit light laggardkernel/zsh-gpg-agent
|
2020-04-04 20:09:24 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
|
|
|
|
|
|
|
|
|
```text
|
2020-03-27 18:05:39 +00:00
|
|
|
|
default-cache-ttl 36000
|
|
|
|
|
max-cache-ttl 999999
|
|
|
|
|
enable-putty-support
|
|
|
|
|
default-cache-ttl-ssh 36000
|
|
|
|
|
allow-loopback-pinentry
|
|
|
|
|
pinentry-program /usr/bin/pinentry-qt
|
2020-04-04 20:09:24 +00:00
|
|
|
|
# enable-ssh-support
|
2020-03-27 18:05:39 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
Чтобы включить в GPG агенте поддержку SSH, нужно раскомментировать
|
|
|
|
|
последнюю строку.
|
2020-04-04 19:34:05 +00:00
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
|
|
|
|
|
## Настройка SSH агента
|
|
|
|
|
|
|
|
|
|
Раскомментировать в файле ` ~/.config/zsh/agents.user.zsh` строки:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
|
|
|
|
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
|
|
|
|
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
2021-07-13 14:38:03 +00:00
|
|
|
|
# zinit snippet OMZP::ssh-agent
|
2020-04-04 19:34:05 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
2019-09-02 08:05:47 +00:00
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
```text
|
2020-04-04 19:34:05 +00:00
|
|
|
|
Host *
|
2020-04-04 20:09:24 +00:00
|
|
|
|
AddKeysToAgent yes
|
|
|
|
|
IdentityFile ~/.ssh/id_rsa
|
2019-09-02 08:05:47 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-04-04 20:09:24 +00:00
|
|
|
|
|
|
|
|
|
## Настройка Keychain
|
|
|
|
|
|
|
|
|
|
Программа Keychain позволит использовать агенты GPG и SSH между входами в систему.
|
|
|
|
|
Для её работы необходимо отключить в системе все автоматические запуски агентов,
|
|
|
|
|
например в файле `/etc/X11/Xsession.options`.
|
|
|
|
|
|
|
|
|
|
Раскомментировать в файле ` ~/.config/zsh/agents.user.zsh` строки:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
|
|
|
|
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
|
|
|
|
# zstyle :omz:plugins:keychain agents gpg,ssh
|
2021-07-13 14:38:03 +00:00
|
|
|
|
# zinit snippet OMZP::keychain
|
2020-04-04 20:09:24 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
|
|
|
|
|
2021-04-19 08:32:04 +00:00
|
|
|
|
|
2021-07-13 14:38:03 +00:00
|
|
|
|
## Инициализация
|
2021-04-19 08:32:04 +00:00
|
|
|
|
|
|
|
|
|
После редактирования файлов настройки запустить `zsh`, в результате чего будет
|
2021-07-13 14:38:03 +00:00
|
|
|
|
загружен менеджер пакетов `zinit` и необходимые плагины.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Обновление
|
|
|
|
|
|
|
|
|
|
Обновление менеджера пакетов:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
zinit self-update
|
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
Обновление плагинов:
|
2021-04-19 08:32:04 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
2021-07-13 14:38:03 +00:00
|
|
|
|
zinit update --parallel
|
2021-04-19 08:32:04 +00:00
|
|
|
|
```
|