Ответ 1
Решение
Выполняется OS X 10.8.3. Я не тестировал его на других версиях, но до тех пор, пока терминал имеет вышеуказанный вариант, он должен работать.
-
В Terminal.app откройте "Настройки- > Настройки" и выберите профиль, который вы используете. Перейдите на вкладку "Оболочка" и под заголовком "Запуск" установите флажок "Запустить команду:" и введите в поле:
login -fpql your-username /bin/bash
Подставьте
your-username
своим фактическим именем пользователя Unix. Если вы используете оболочку, отличную от оболочки по умолчанию bash, замените/bin/bash
на полный путь к этой оболочке (да, даже если вы уже установили ее в настройках → Запуск). -
Убедитесь, что "Run inside shell" не отмечен.
-
Если у вас есть запрос "Запрашивать перед закрытием: только если есть какие-то процессы, отличные от того, что выбрана в качестве оболочки для входа и:", добавьте "login" и "bash" в список процессов, которые не будут запрашиваться.
-
Убедитесь, что у вас есть файл
~/.bashrc
, так как это будет файл bash, используемый при запуске, а не~/.bash_profile
. Я просто имею ссылку на один файл, используя этот метод. Вы также должны быть уверены, что это источники /etc/profile.
Описание
Мы хотим запустить login
с опцией -q
, чтобы сообщить ему, чтобы он подавил сообщение "Последний вход" даже в отсутствие файла .hushlogin
. (Как отмечалось выше, login
будет смотреть только в cwd для этого файла, а не в вашем домашнем каталоге, поэтому вам понадобится файл .hushlogin
в каждом каталоге, в котором вы открыли оболочку, чтобы этот метод работал.)
Проблема заключается в том, что Terminal запускает что-то вроде login -pfl your-username /bin/bash -c exec -la bash /usr/local/bin/bash
при создании новой оболочки (я использую homebrew версию bash, следовательно, странный путь bash в конце)), в которой отсутствует флаг -q
.
К сожалению, нет возможности напрямую изменять аргументы, используемые терминалом, поэтому мы просто трамплируем новый сеанс входа с login -pfql
из сеанса терминала по умолчанию login -pfl
. Inelegant, но он работает.
Нам нужно иметь опцию -q
и путь к bash, чтобы сохранить параметр "Новые окна/вкладки с помощью: Тот же рабочий каталог". Если вам не нужен этот параметр, вы можете удалить этот флаг и аргумент и, вероятно, избегать использования .bashrc
выше.