Название терминала показывает sudo, но я хочу, чтобы команда sudo'ed

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

Техническая информация

Распространение: Gentoo
Настольная среда: KDE
Терминальный эмулятор: Kterm

проблема

Любой, кто долгое время использует Gentoo, привыкнет к терминалу и исходному коду, плавающим. Таким образом, я пришел зависеть от терминала даже в KDE с такими командами, как:

  • kdesudo kate /etc/portage/make.conf
  • sudo emerge -uDav world

Эти команды работают так, как ожидалось, моя проблема здесь в том, что название kterm показывает username:sudo Я хочу, чтобы он отображал имя пользователя: sudo elevated command или username: elavated command .

Я использую следующий профиль:

 # /etc/profile: login shell setup # # That this file is used by any Bourne-shell derivative to setup the # environment for login shells. # # Load environment settings from profile.env, which is created by # env-update from the files in /etc/env.d if [ -e /etc/profile.env ] ; then . /etc/profile.env fi # You should override these in your ~/.bashrc (or equivalent) for per-user # settings. For system defaults, you can add a new file in /etc/profile.d/. export EDITOR=${EDITOR:-/bin/nano} export PAGER=${PAGER:-/usr/bin/less} # 077 would be more secure, but 022 is generally quite realistic umask 022 # Set up PATH depending on whether we're root or a normal user. # There's no real reason to exclude sbin paths from the normal user, # but it can make tab-completion easier when they aren't in the # user's PATH to pollute the executable namespace. # # It is intentional in the following line to use || instead of -o. # This way the evaluation can be short-circuited and calling whoami is # avoided. if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}" else PATH="/usr/local/bin:/usr/bin:/bin:${PATH}" fi export PATH unset ROOTPATH if [ -n "${BASH_VERSION}" ] ; then # Newer bash ebuilds include /etc/bash/bashrc which will setup PS1 # including color. We leave out color here because not all # terminals support it. if [ -f /etc/bash/bashrc ] ; then # Bash login shells run only /etc/profile # Bash non-login shells run only /etc/bash/bashrc # Since we want to run /etc/bash/bashrc regardless, we source it # from here. It is unfortunate that there is no way to do # this *after* the user's .bash_profile runs (without putting # it in the user's dot-files), but it shouldn't make any # difference. . /etc/bash/bashrc else PS1='\u@\h \w \$ ' fi else # Setup a bland default prompt. Since this prompt should be useable # on color and non-color terminals, as well as shells that don't # understand sequences such as \h, don't put anything special in it. PS1="${USER:-$(whoami 2>/dev/null)}@$(uname -n 2>/dev/null) \$ " fi for sh in /etc/profile.d/*.sh ; do [ -r "$sh" ] && . "$sh" done unset sh и # /etc/profile: login shell setup # # That this file is used by any Bourne-shell derivative to setup the # environment for login shells. # # Load environment settings from profile.env, which is created by # env-update from the files in /etc/env.d if [ -e /etc/profile.env ] ; then . /etc/profile.env fi # You should override these in your ~/.bashrc (or equivalent) for per-user # settings. For system defaults, you can add a new file in /etc/profile.d/. export EDITOR=${EDITOR:-/bin/nano} export PAGER=${PAGER:-/usr/bin/less} # 077 would be more secure, but 022 is generally quite realistic umask 022 # Set up PATH depending on whether we're root or a normal user. # There's no real reason to exclude sbin paths from the normal user, # but it can make tab-completion easier when they aren't in the # user's PATH to pollute the executable namespace. # # It is intentional in the following line to use || instead of -o. # This way the evaluation can be short-circuited and calling whoami is # avoided. if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}" else PATH="/usr/local/bin:/usr/bin:/bin:${PATH}" fi export PATH unset ROOTPATH if [ -n "${BASH_VERSION}" ] ; then # Newer bash ebuilds include /etc/bash/bashrc which will setup PS1 # including color. We leave out color here because not all # terminals support it. if [ -f /etc/bash/bashrc ] ; then # Bash login shells run only /etc/profile # Bash non-login shells run only /etc/bash/bashrc # Since we want to run /etc/bash/bashrc regardless, we source it # from here. It is unfortunate that there is no way to do # this *after* the user's .bash_profile runs (without putting # it in the user's dot-files), but it shouldn't make any # difference. . /etc/bash/bashrc else PS1='\u@\h \w \$ ' fi else # Setup a bland default prompt. Since this prompt should be useable # on color and non-color terminals, as well as shells that don't # understand sequences such as \h, don't put anything special in it. PS1="${USER:-$(whoami 2>/dev/null)}@$(uname -n 2>/dev/null) \$ " fi for sh in /etc/profile.d/*.sh ; do [ -r "$sh" ] && . "$sh" done unset sh 

Я etc/bashrc/bashrc файл etc/bashrc/bashrc здесь, когда вернусь домой …


Я оставил комментарии, чтобы дать новым пользователям здесь удар по ответу. Таким образом, самый тщательный ответ, который будет работать, будет начисляться, даже если ваш новый здесь. Я хочу правильно отформатированный ответ с ссылками и ссылками

Обновить

Изображение Kterm

One Solution collect form web for “Название терминала показывает sudo, но я хочу, чтобы команда sudo'ed”

Не уверен в kterm , но, вероятно, это совместимость с xterm – большинство из них. Если это так, то вы захотите вставить что-то в свое приглашение, которое задает заголовок окна :

  • 3.1 escape-последовательности xterm

  • Заголовки окон и значков могут быть изменены в запущенном xterm с помощью управляющих последовательностей XTerm. В этом отношении полезны следующие последовательности:

    • ESC]0;stringBELESC]0;stringBEL имя значка и заголовок окна для строки
    • ESC]1;stringBEL – установить имя значка в строку
    • ESC]2;stringBEL – установить заголовок окна в строку
  • … где ESC – escape-символ ( \033 ), а BEL – символ колокола ( \007 ).

Вы можете поместить их в подсказку между бегом без печати – если вы используете bash . В этой оболочке вы можете использовать:

 PS1="\[$(printf '\033]0;"${USER}@${BASH_COMMAND}"\007')\]" 

Или вы можете поместить что-то подобное в переменную среды $PROMPT_COMMAND .

НО…

По-видимому, konsole варьировалась по версии относительно того, разрешит ли она задавать имя окна с помощью escape-последовательности. В какой-то момент во время цикла версии 3 он прекратил интерпретацию последовательности ESC]33;Window nameBEL и соблюдал последовательности xterm только для изменения названий вкладок.

Начиная с версии 4.9 , хотя konsole должна хотя бы почитать странную ESC]30;Tab NameBEL последовательность, и если вы настроите ее как пустую в диалоговом окне настроек, то имя окна будет автоматически клонировано с текущей активной вкладки.

Я не знаю, можно ли использовать более распространенные xterm последовательности xterm для установки названия окна или нет. Однако, если информация, предлагаемая здесь, недостаточна для получения удовлетворительного решения, то я подозреваю, что вы найдете полезную информацию, щелкнув ссылки, прикрепленные к соответствующим изменениям, записанным для версии 4.9 в этом списке изменений .

  • это linux / compiler.ha userpace header?
  • Linux обнаруживает sata ssd только с ACPI = off, но окна всегда делают
  • Как выполнить загрузку альтернативных ядер, показанных в меню верхнего уровня GRUB?
  • Как запустить ipsec на Gentoo после переноса на systemd?
  • Странная проблема обновления с Chromium на Gentoo
  • Что такое эквивалент apt-файла в portage, если таковой имеется?
  • Как настроить параметры бумаги по умолчанию для Wine?
  • Удалите 1 диск из массива RAID 0 массива mdadm
  • Может кто-то указать мне на gentoo для powermac g5 quad?
  • Сервер Xorg не запускается
  • Настройка сенсорной панели / трекбола для X
  • Interesting Posts

    Сжатие всех файлов, содержащих определенную строку

    Предотвращение перезапуска OSX Sierra после ее останова

    Сохранять сообщения из предыдущих загрузок при одновременном сохранении выходных данных журнала

    Удалить посторонние файлы из dest dir через rsync?

    Почему tar-архивные форматы переключаются на сжатие xz для замены bzip2 и что с gzip?

    Установите zip на SteamOS

    Perl создает некоторые скрипты, а некоторые – на экране

    Звук внезапно не работает на Debian 9

    Могут ли две асинхронные команды подзаголовки безопасно записываться в общий stdout?

    Есть ли простой способ обновления информации в known_hosts, когда вы знаете, что изменился ключ хоста?

    Печать значений, которые не менее чем в 2 раза превышают значения 3 шага выше и ниже в том же столбце

    Ядро Linux не находит initrd правильно

    Самый быстрый способ определить, содержат ли два отсортированных списка уникальные элементы

    Почему нажатие на устройство TTY захватывает только каждый символ?

    Есть ли файл конфигурации для telnet, который похож на .ssh / config?

    Linux и Unix - лучшая ОС в мире.