Подтвердить что ты не робот

Загрузка zsh в качестве оболочки по умолчанию на экране gnu

Im использует KUbuntu 10.04 (Lucid Lynx). Я установил zsh и экран. Я установил zsh в качестве оболочки по умолчанию, установив команду в zsh в "Настройки- > Изменить текущий профиль терминала". Но, когда я запускаю экран, загружается оболочка bash. Если я запустил команду zsh, тогда запускается zsh, но отображается следующее сообщение:

"/home/joel/.zshrc:36: Can't add module parameter `mapfile': parameter already exists"

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

Спасибо

4b9b3361

Ответ 1

Если вы хотите сделать это оболочкой по умолчанию только для сеансов экрана, вы можете просто добавить эту строку в свой файл ~/.screenrc.

shell "/usr/bin/zsh"

Ответ 2

Сначала найдите где zsh:

$ whereis zsh

Вторая оболочка изменения для текущего пользователя:

$ chsh -s /path/to/zsh joel

И zsh будет оболочкой по умолчанию для пользователя joel после relogin.

Ответ 3

У меня была схожая проблема, но в моем случае я изменил использование оболочки vim, указав set shell=zsh\ --login в .vimrc. Каждый раз, когда я опускался в оболочку через: sh zsh мог бы скулить с той же ошибкой:

Can't add module parameter `mapfile': parameter already exists

Я спросил #vim и #zsh на freenode. Оказывается, если вы снова запустите zsh в рамках zsh-сессии, вы увидите ту же ошибку, и предлагаемое исправление - просто добавить &>/dev/null в ваш .zshrc файл, например:

zmodload -ap zsh/mapfile mapfile &>/dev/null

Модуль zsh mapfile создает псевдо-переменную, которая отображает имена файлов в их содержимое и нужна только в том случае, если у вас есть скрипты, которые фактически используют файл $mapfile.

Кажется, это необязательно, но было указано, что параметр автозагрузки существует, поэтому он загружается только тогда, когда это необходимо, поэтому не должно быть вреда при сохранении жалоб на линии и трубопроводы на/dev/null