Shell Completion als root

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Shell Completion als root

Beitrag von zash1958 » 27.01.2018 14:31:17

Hallo,

Debian-unstable aka siduction:

Rufe ich die Konsole "konsole" als normaler User auf ist alles OK. Befehle, die ich anfange zu schreiben werden per TAB sofort komplettiert wenn möglich. Alles gut soweit.

Mache ich das allerdings als "root", starte da die "konsole" passiert Folgendes:

Sobaltd ich einen halb ausgeschriebenen Befehl per TAB komplettieren möchte hängt die shell etwa 30 Sekunden. Dann wird richtig komplettiert oder vorgeschlagen. Lasse ich das Konsolenfenster offen ist alles danach einwandfrei. Auch erneute Befehlseingabe mit TAB danach funktioniert sofort und einwandfrei. Starte ich jedoch ein zweites Konsolenfenster ist in dem das Problem bei der ersten Eingabe wieder vorhanden.

Hat da jemand eine Idee WAS da in der Shell-Completion das verursachen könnte? Den root-Account hatte ich schon mal komplett geleert um eine defekte Konfigurationsdatei ausschließen zu kännen. Hat nix gebracht. Gibts da ein spezielles LOG für die Completion oder wo kann ich da mal beginnen das zu lösen?

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: Shell Completion als root

Beitrag von Liffi » 27.01.2018 14:45:26

Hast du ein remote mount, dass nicht mehr richtig gemountet ist?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22355
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Shell Completion als root

Beitrag von KBDCALLS » 27.01.2018 14:59:35

Das liegt an der .bashrc. Bzw. die fehlt ganz.

Code: Alles auswählen

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
   . /etc/bash_completion
fi
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 15:01:24

Alles was lokal gemounted ist ist problemlos zu erreichen und funktioniert auch

Da sind mehrere Samba Shares dabei und 2 lokale USB Platten. Alles wie gesagt problemlos zu erreichen und in Funktion

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 15:06:25

KBDCALLS hat geschrieben: ↑ zum Beitrag ↑
27.01.2018 14:59:35
Das liegt an der .bashrc. Bzw. die fehlt ganz.

Code: Alles auswählen

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
   . /etc/bash_completion
fi
Habe das was anstatt dessen in der bashrc stand mal auskommentiert und durch die Zeilen oberhalb ersetzt. Fehler bleibt leider wie gehabt

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22355
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Shell Completion als root

Beitrag von KBDCALLS » 27.01.2018 15:08:36

Haste die auch neu eingelesen ?
ansonsten poste die mal , wir die zu lang nach NoPaste. Achso die .profile dito
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 15:17:24

Code: Alles auswählen

cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)                                                                                       
fi                                                                                                                                
                                                                                                                                  
# set a fancy prompt (non-color, unless we know we "want" color)                                                                  
case "$TERM" in                                                                                                                   
    xterm-color|*-256color) color_prompt=yes;;                                                                                    
esac                                                                                                                              
                                                                                                                                  
# uncomment for a colored prompt, if the terminal has the capability; turned                                                      
# off by default to not distract the user: the focus in a terminal window                                                         
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    #alias grep='grep --color=auto'
    #alias fgrep='fgrep --color=auto'
    #alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
 fi
#if [ -f /etc/bash_completion ]; then
#   . /etc/bash_completion
#fi



Habe mal oer cat die .bashrc des ROOT hier eingefügt

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Shell Completion als root

Beitrag von tobo » 27.01.2018 15:36:09

Als root musst du natürlich auch die /root/.bashrc sourcen. Dazu im Arbeitsverzeichnis /root stehen und "source .bashrc" ausführen oder "source ~/.bashrc" als root ausführen.
Was gibt denn folgendes aus (als root):

Code: Alles auswählen

# echo $PATH
# shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 15:40:36

root@hugin:~# shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'
Not login shell
root@hugin:~#

Klaro habe ich die .bashrc im root-Directory als root gesourct

DeletedUserReAsG

Re: Shell Completion als root

Beitrag von DeletedUserReAsG » 27.01.2018 15:51:48

… wird überhaupt die Bash genutzt?

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 16:00:37

root@hugin:/home/uherczeg# echo $0
/bin/bash
root@hugin:/home/uherczeg#

DeletedUserReAsG

Re: Shell Completion als root

Beitrag von DeletedUserReAsG » 27.01.2018 16:08:41

Okay. Fragte mich nur, weil‘s vorher nicht erwähnt oder gefragt wurde und sich alles gleich auf die bashrc gestürzt hat, während dein Nick mich eher an zsh denken ließ …

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 16:14:06

Grins, der Nick ist fast so alt wie ich - lach

Aber: das ist wirklich eine komische Sache. Ich habe auch die /usr/share/bas_completion Inhalte mal komplett durch die aus einem ältren Backup ersetzt. Bring auch nix. Der Fehler muss irgendwo anders sitzen. Bei etwas, dass ROOT kann und darf und USER nicht
Was aber kann die bash-completion als root abfischen was ich NICHT kann und wobei sie auch noch offensichtlich in einen Timeout läuft

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22355
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Shell Completion als root

Beitrag von KBDCALLS » 27.01.2018 16:18:29

Was kommt denn bei set |nl raus ? Bei mir sind rund 2200 Zeilen . Kommt drauf an was installiert ist. Teilweise bringen die Programme teile von bash-completion mit. Ist ja nicht nur das Paket selbst.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 27.01.2018 16:20:47

1 BASH=/bin/bash
2 BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
3 BASH_ALIASES=()
4 BASH_ARGC=()
5 BASH_ARGV=()
6 BASH_CMDS=()
7 BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
8 BASH_LINENO=()
9 BASH_REMATCH=()
Sind 2120 Zeilen......

Der Inhalt von /etc/bash_completion.d wurde auch schon durch eine Version aus einem Backup ersetzt. No way

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell Completion als root

Beitrag von rendegast » 27.01.2018 21:46:54

zash1958 hat geschrieben: ... hängt die shell etwa 30 Sekunden
Das müßte sich doch sehr gut mit 'strace' beobachten lassen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

zash1958
Beiträge: 10
Registriert: 27.01.2018 14:22:47

Re: Shell Completion als root

Beitrag von zash1958 » 04.02.2018 11:56:42

Bin ein bisschen weiter:

So wie es ausschaut ist die BASH nicht verantwortlich für die Verzögerung.

Ich habe testhalber einmal TILIX installiert, rufe das genauso als ROOT auf wie die KDE Konsole und in Tilix gibt es keinerlei Verzögerungen. Alles klappt wie es soll!

Ich habe mir daraufhin mal alle Settings der KDE Konsole angeschaut, finde aber darin nichts was auf die Verzögerung hindeuten könnte. Daher mal erst weiter mit Tilix.....

Antworten