Ни .bashrc, ни .profile не получаются, когда я открываю графический терминал

Я настраивал пользователей для проекта на удаленном сервере. Когда я вхожу через x2go и открываю терминал, кажется, что ни .bashrc, ни .profile не запущены. Файл .profile содержит строку, содержащую source .bashrc.

Однако, после открытия терминала, если я явно захожу в систему с помощью пользователя su userName, запускается файл .bashrc, и я могу использовать свое окружение. Терминальная линия выглядит как sh-4.3$ вместо userName$, как я привык. Есть идеи, что происходит или как я могу это исправить?

1
задан 3 September 2019 в 05:11

1 ответ

Проблема здесь оказалась этим, настроенная оболочка входа в систему учетной записи пользователя не была bash, и поэтому это автоматически не читало и команды выполнения из файлов bash использование. А именно, никакая оболочка входа в систему не была настроена, таким образом, значение по умолчанию /bin/sh использовался:

Хорошо поэтому, как точно Вы создаете пользователей? похоже, что никакая оболочка входа в систему не определяется для них (возможно значение по умолчанию терминалов создания к /bin/sh?)

steeldriver 2 дня назад

Так как это было непреднамеренно, решение, предоставленное steeldriver в комментарии, состояло в том, чтобы изменить оболочку на bash с chsh:

Было бы более безопасно использовать chsh установить желаемую оболочку. BTW, что выполняет версия Ubuntu удаленный сервер?

steeldriver 2 дня назад

Система оказалась под управлением Ubuntu 16.04, и как на других релизах Ubuntu, bash было доступно.


Один способ использовать chsh команда похожа на это с полным путем желаемой оболочки входа в систему, вводимой вместо shell:

chsh -s shell

Так, для изменения оболочки на (или назад на) bash:

chsh -s /bin/bash

Иначе должен работать chsh без аргументов, в которых это случай это работает в интерактивном режиме и пользователь должен ввести имя оболочки, требуемой, или просто нажать Enter для значения по умолчанию.

В обоих использованиях, chsh подсказки для пароля пользователя перед продолжением. Это - собственный пароль пользователя (есть ли у пользователя способность к командам выполнения как корень с sudo). Например, в интерактивном использовании:

ek@Kip:~$ chsh
Password:
Changing the login shell for ek
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]:

Если Вы видите это, это означает, что пароль был введен неправильно:

chsh: PAM: Authentication failure

Оболочка должна быть обеспечена как полный путь (запускающийся с /). Только оболочки перечислили файл /etc/shells может быть выбран. Один способ отобразить содержание того файла состоит в том, чтобы работать cat /etc/shells. Это удовлетворяет, зависят, на котором оболочки были установлены (и, возможно, также был вручную изменен системными администраторами).

Для получения дополнительной информации о том, как различные оболочки используют различные файлы запуска, посмотрите, Где определить псевдонимы: .cshrc или .bashrc?

1
ответ дан 7 December 2019 в 14:59

Другие вопросы по тегам:

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