Загрузка zsh как оболочка по умолчанию на [закрытом] экране гну

Я использую 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 по умолчанию и вызвать его автоматически для каждого экземпляра?

Спасибо

21
задан joel 22 May 2010 в 17:11
поделиться

3 ответа

Сначала найдите, где находится zsh , например:

$ whereis zsh

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

$ chsh -s /path/to/zsh joel

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

8
ответ дан 29 November 2019 в 06:31
поделиться

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

shell "/usr/bin/zsh"
55
ответ дан 29 November 2019 в 06:31
поделиться

У меня была аналогичная проблема с вами, за исключением того, что в моем случае я изменил оболочку, которую использует 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

2
ответ дан 29 November 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: