Я использую KUbuntu 10.04 (Ясный Lynx). Я установил zsh и экран. Я установил zsh, поскольку оболочка по умолчанию, установкой Command к zsh в Настройках-> Изменяют Текущий Профиль терминала. Но, когда я запускаю экран, оболочка удара загружается. Если я выполняю команду zsh, то zsh запускается, но следующее сообщение отображено:
"/home/joel/.zshrc:36: Can't add module parameter `mapfile': parameter already exists"
Кроме того, zsh вызывается только для текущего экранного экземпляра, и я должен вызвать его вручную снова для других экземпляров. Так, есть ли какой-либо способ заставить экран загрузить zsh по умолчанию и вызвать его автоматически для каждого экземпляра?
Спасибо
Сначала найдите, где находится zsh , например:
$ whereis zsh
Второе изменение оболочки для текущего пользователя:
$ chsh -s /path/to/zsh joel
И zsh будет оболочкой по умолчанию для пользователя joel после повторного входа в систему.
Если вы хотите сделать его оболочкой по умолчанию только для сеансов экрана, вы можете просто добавить эту строку в свой ~ / .screenrc
файл.
shell "/usr/bin/zsh"
У меня была аналогичная проблема с вами, за исключением того, что в моем случае я изменил оболочку, которую использует vim, указав установите 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