Изменение профиля терминала Gnome (Bash) при смене пользователя на другом терминале (например, root)

Можно ли изменить профиль терминала при переключении пользователя на тот же терминал?

На самом деле моя цель - изменить терминал на профиль, который указывает мне, что это терминал с правами root и что мне лучше быть очень осторожным. Конечно, я всегда очень осторожен с root, и чтобы еще больше улучшить его, я хочу изменить профиль терминала, чтобы он ясно показал мне, что я в настоящее время использую терминал с привилегиями root.

Итак, для ясности: я не хочу делать ярлык для открытия терминала bash с определенным профилем, я думаю о некоторых изменениях в .bashrc, который обнаруживает изменение пользователя и может переключиться на профиль.

Возможно ли это, и если да, то как? ;)

1
задан 22 December 2011 в 12:41

4 ответа

Вам просто нужно отредактировать файл .bashrc для пользователя root и добавить туда все, что вам нужно, чтобы иметь другой профиль.

Например, обычно установить PS1 в .bashrc для предоставления другого приглашения (заканчивающегося # вместо $), чтобы пользователь знал, что он находится в корневом терминале. На самом деле, я думаю, что это должно быть поведение по умолчанию, поэтому у вас уже должно быть другое приглашение.

0
ответ дан 22 December 2011 в 12:41

Если вы используете su, вы можете добавить опцию -, -l or --login к команде «Обеспечить среду, аналогичную той, которую пользователь ожидал бы, если бы пользователь вошел в систему напрямую». Все в соответствии с man-страницей su. Эти параметры будут загружать новых пользователей .bashrc или любые другие файлы, применяемые к загружаемой оболочке.

Например, su - переключится на пользователя root со всеми теми же настройками, как если бы вы вошли в систему как root с терминала.

Для получения дополнительной информации см. man su.

0
ответ дан 22 December 2011 в 12:41

Мне лень, я использую один и тот же .bashrc для пользователя root и моего пользователя. Основная причина в том, что мне нравится устанавливать несколько псевдонимов (cp -I и т. Д.).

Добавьте это, чтобы установить ваше приглашение:

if [[ $EUID == 0 ]] ; then
    PS1='\[\033[01;31m\]\u\[\033[01;30m\]@\[\033[01;34m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w\[\033[00m\]\ 

if [[ $EUID == 0 ]] устанавливает ваше имя пользователя на красный, если он работает от имени пользователя root.

См. http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html для получения дополнительных советов / опций.

#RED else PS1='\[\033[01;32m\]\u\[\033[01;30m\]@\[\033[01;34m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w\[\033[00m\]\

if [[ $EUID == 0 ]] устанавливает ваше имя пользователя на красный, если он работает от имени пользователя root.

См. http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html для получения дополнительных советов / опций.

#Green # Comment out the above and uncomment the below for a blue user name. # PS1='\[\033[01;34m\]\u\[\033[01;30m\]@\[\033[01;34m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w\[\033[00m\]\

if [[ $EUID == 0 ]] устанавливает ваше имя пользователя на красный, если он работает от имени пользователя root.

См. http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html для получения дополнительных советов / опций.

#Blue fi

if [[ $EUID == 0 ]] устанавливает ваше имя пользователя на красный, если он работает от имени пользователя root.

См. http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html для получения дополнительных советов / опций.

0
ответ дан 22 December 2011 в 12:41

добавить следующие строки в .bashrc

if [ $(id -u) -eq 0 ];
then # you are root, set red colour prompt
  PS1="\\w# "
else # normal
  PS1="\\w$ "
fi

вы также можете настроить PS1 посмотреть на это

0
ответ дан 22 December 2011 в 12:41

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

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