Como remover o código de retorno do terminal no Sugar on a Stick?

2

Estou usando o Sugar on a Stick (Fedora 23) 0,106 para i686 como uma distro.

Quando eu uso o terminal, tenho um comportamento muito estranho.

Porexemplo,quandodigitols,recebo]777;notify;Commandcompleted;ls[sugar]#,emque[sugar]#éovalordaminhavariávelambientalPS1.

Meu.bashrcestáassim:

#.bashrc#Sourceglobaldefinitionsif[-f/etc/bashrc];then./etc/bashrcfi#PromptPS1="[sugar] # "

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

O problema desapareceu quando eu comentei a seção Source global definitions . No entanto, quando eu queria modificar o /etc/bashrc eu li que não é aconselhável modificar este arquivo. Aqui está o arquivo:

# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

# are we an interactive shell?
if [ "$PS1" ]; then
  if [ -z "$PROMPT_COMMAND" ]; then
    case $TERM in
    xterm*|vte*)
      if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
          PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
      elif [ "${VTE_VERSION:-0}" -ge 3405 ]; then
          PROMPT_COMMAND="__vte_prompt_command"
      else
          PROMPT_COMMAND='printf "3]0;%s@%s:%s
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# Prompt
PS1="[sugar] # "

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
7" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' fi ;; screen*) if [ -e /etc/sysconfig/bash-prompt-screen ]; then PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen else PROMPT_COMMAND='printf "3k%s@%s:%s3\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' fi ;; *) [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default ;; esac fi # Turn on parallel history shopt -s histappend history -a # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\s-\v\\$ " ] && PS1="[\u@\h \W]\$ " # You might want to have e.g. tty in prompt (e.g. more virtual machines) # and console windows # If you want to do so, just add e.g. # if [ "$PS1" ]; then # PS1="[\u@\h:\l \W]\$ " # fi # to your custom modification shell script in /etc/profile.d/ directory fi if ! shopt -q login_shell ; then # We're not a login shell # Need to redefine pathmunge, it get's undefined at the end of /etc/profile pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } # By default, we want umask to get set. This sets it for non-login shell. # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "'id -gn'" = "'id -un'" ]; then umask 002 else umask 022 fi SHELL=/bin/bash # Only display echos from profile.d scripts if we are no login shell # and interactive - otherwise just process them to set envvars for i in /etc/profile.d/*.sh; do if [ -r "$i" ]; then if [ "$PS1" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge fi # vim:ts=4:sw=4

O que posso fazer sobre isso?

    
por Mateusz Piotrowski 23.11.2015 / 20:53

4 respostas

4

Além da variável de ambiente PS1 , a variável de ambiente PROMPT_COMMAND também afeta seu prompt. Da página man bash:

If set, the value is executed as a command prior to issuing each primary prompt

É esse comando que está adicionando o conteúdo indesejado ao seu prompt. Você pode parar esse comportamento desativando a variável em seu .bashrc:

unset PROMPT_COMMAND
    
por 24.11.2015 / 20:27
0

comente a string como mostrado

sudo vim /etc/profile.d/vte.sh
...
_vte_prompt_command() {
...
#printf "3]777;notify;Command completed;%s
sudo vim /etc/profile.d/vte.sh
...
_vte_prompt_command() {
...
#printf "3]777;notify;Command completed;%s%pre%73]0;%s@%s:%s%pre%7%s" "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)"
}
73]0;%s@%s:%s%pre%7%s" "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)" }
    
por 26.12.2017 / 22:37
0

Isso também está acontecendo no Fed 28 ao executar o su do terminal de um usuário. Executar "su -" não produzirá esse problema.

Existe um trecho de código idêntico em / etc / bashrc e /etc/profile.d/vte.sh para testar o env. e definindo PROMPT_COMMAND. Jogar com o código revela que é o primeiro que está sendo executado.

    
por 27.05.2018 / 06:53
0

No EL7, encontramos atualizações nos pacotes mate-terminal e vte *.

Você precisará fechar todos os terminais do mate e reabri-los, pois o mate mantém o mesmo processo e lança novas janelas, portanto, é necessário começar de novo para iniciar as novas bibliotecas.

    
por 08.08.2018 / 20:22