Выполните несколько exit
команд. Вы su root
запустили подоболочку, где вы root, а вы su user
запустили другую. Печатание exit
закончит те подоболочки и вернет вас туда, где вы начали - на один уровень глубже.
Linux username @ server исчезает после входа в систему как root
На моем сервере linux я вошел в систему как пользователь root для доступа к некоторым файлам: su root ... После проверки файлов я снова вошел в систему под своим основным именем пользователя su . В окне моего терминала теперь отображается имя сервера ~: вместо имени пользователя @ сервер ~: слева от командной строки. Можно ли как-нибудь вернуть это в нормальное состояние?
6 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Вам просто нужно изменить подсказку. Вы можете использовать следующую команду:
экспорт PS1 = "\ u @ \ h \ w:"
Я лично предпочитаю следующее в качестве подсказки, но это только я:
export PS1 = "[\ u @ \ h \ w] \ $"
Вы можете предотвратить изменение вашего приглашения, добавив оператор в соответствующие файлы bashrc. См. Также Bash Shell PS1: 10 примеров для того, чтобы сделать ваш Linux быстрым, как Анджелина Джоли, для получения дополнительной информации о PS1.
su
переключает пользователей, порождая новую (под) оболочку. Поэтому, когда вы вошли в систему, вы запустили оболочку. Получив первый su
доступ к root, вы запускаете подоболочку как root. Рядом su
с вашим пользователем начался еще один подоболочек - обратите внимание, что на данный момент у вас работает три оболочки. Таким образом, вместо su
-ing для вашего пользователя из roothell, exit
-ing обратно в вашу оболочку входа решит ваши проблемы.
Если вы pstree
установили, pstree -h
покажет вам графическое представление того, что происходит.
Ваш запрос, как правило, задается одним из файлов запуска вашей оболочки, который не запускается при переходе su
от пользователя root к пользователю. Если вы используете bash, man bash
в разделе INVOCATION может быть полезным. Есть несколько файлов запуска, которые может прочитать bash, включая, но не ограничиваясь:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
PS1
Переменная окружения просто переменная окружения, и может или не может получить набор в зависимости от того, какая комбинация из вышеперечисленных файлов выполняется.
Команда su
имеет -l
(или --login
) переключатель, который может быть сокращен до того, -
что делает новую оболочку оболочкой входа в систему. Это, вероятно, то, что вы хотите:
su - david
Я всегда использую su
с этой опцией.
если это оболочка bash, попробуйте:
source ~/.bashrc
если это не работает, запустите echo $PS1
и посмотрите, что изменилось.
su
само по себе не создает новый сеанс оболочки. Вот почему он не настраивает оболочку, как обычно. тем не мение,
su -
начнется новый сеанс входа
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4