Ответ 1
Если вы хотите сделать это оболочкой по умолчанию только для сеансов экрана, вы можете просто добавить эту строку в свой файл ~/.screenrc
.
shell "/usr/bin/zsh"
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 по умолчанию и вызывать его автоматически для каждого экземпляра?
Спасибо
Если вы хотите сделать это оболочкой по умолчанию только для сеансов экрана, вы можете просто добавить эту строку в свой файл ~/.screenrc
.
shell "/usr/bin/zsh"
Сначала найдите где zsh:
$ whereis zsh
Вторая оболочка изменения для текущего пользователя:
$ chsh -s /path/to/zsh joel
И zsh будет оболочкой по умолчанию для пользователя joel после relogin.
У меня была схожая проблема, но в моем случае я изменил использование оболочки 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