Я не постоянный пользователь, screen
но раз в несколько недель использую для некоторых деликатных задач. Однако вчера при запуске я не смог выполнить ни одну команду ( ls
, ssh
, mkdir
), быстрая отладка показала, что переменная окружения PATH
была установлена неправильно.
Более конкретно echo $PATH
показаны мои настроенные каталоги, .profile
но в них отсутствуют самые основные записи, такие как /usr/local/bin
.
На "обычном" терминале все в порядке, просто в screen
нем все по-другому. Я подозреваю, screen
что использует другую оболочку, чем приложение OS X Terminal по умолчанию, поскольку префикс bash-3.2$
(в отличие от username$
), и я попробовал диагностику, как указано в этом ответе на аналогичный вопрос:https://superuser.com/a/114314/127409
Однако я никогда не менял никаких настроек экрана, и хотя оболочка была другой, у меня никогда не было таких проблем. Единственное, что, как мне кажется, могло вызвать проблемы, это недавнее обновление OS X (с 10.8 до 10.9), но я не смог найти более подробной информации в Интернете.
решение1
Вероятно, это изменение в поведении "login shell". Прочитайте о различных файлах запуска, которые использует bash - .bashrc, /etc/bashrc, .profile, .bash_profile, /etc/profile, ... - в "man bash", и пока вы не выясните, что изменилось в общесистемных значениях по умолчанию, проверьте /etc/screenrc и .screenrc на предмет настройки "login". Если не установлено, значение по умолчанию тоже могло измениться.
Чтобы поэкспериментировать с настройками, на экране (при условии, что вы используете сочетание клавиш Ctrl-A по умолчанию) нажмите , ^A:
чтобы получить приглашение, и введите login on
или login off
, а после настройки создайте новое окно с помощью , ^Ac
чтобы посмотреть, что произойдет.