XTerm installieren

Ich möchte euch zeigen, wie man XTerm installiert und konfiguriert, denn mir gefällt die Oberfläche nicht, die der Standard Ubuntu Terminal Emulator mit bringt. Diese Konfiguration benötigt keine ROOT Rechte, denn es ist nach der Installation eine Benutzerdefiniert Ansicht. Es muss nur als ROOT installiert werden und damit kann jeder User diese Ansicht aktivieren.


Inhaltsverzeichnis

  1. Installation
  2. Konfiguration einzelner Benutzer
  3. Konfiguration neuer Benutzer
  4. Test

Installation

sudo apt update
sudo apt install -y xterm

Konfiguration einzelner Benutzer

Wir werden nun den XTerm Emulator aktivieren.

sudo update-alternatives --config x-terminal-emulator

Das die Ansicht auch zieht werden wir von dem alten Terminal Emulator eine Backupdatei erstellen, sicher ist sicher und zu gleich, dass passende Script hinterlegen, damit die XTerm Emulator gestartet werden kann.

mv -v .bashrc .bachrc_backup
nano .bashrc

Wir fügen nun das passende Script ein.

# ~/.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
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# 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

# 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) 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="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #PS1='${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '
else
    PS1="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #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="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #PS1="[e]0;${debian_chroot:+($debian_chroot)}u@h: wa]$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

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

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '''s/^s*[0-9]+s*//;s/[;&|]s*alert$//''')"'

# 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 [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Konfiguration neuer Benutzer

Für alle Benutzer müssen Sie sich als ROOT User anmelden. Es gibt nur einen Nachteil, die aktuell erstellten Benutzer müssen mit der Hand oder man baut sich ein Script, um es anzupassen. Das Vorgehen ist, wenn man einen Benutzer konfiguriert.

sudo mv -v /etc/skel/.bashrc /etc/skel/.bachrc_backup
sudo nano /etc/skel/.bashrc

Wir fügen nun das passende Script ein.

# ~/.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
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# 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

# 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) 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="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #PS1='${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '
else
    PS1="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #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="[33[0;31m]342224214342224200$([[ $? != 0 ]] && echo "[[33[0;31m]342234227[33[0;37m]]342224200")[$(if [[ ${EUID} == 0 ]]; then echo '[33[01;31m]root[33[01;33m]@[33[01;96m]h'; else echo '[33[0;39m]u[33[01;33m]@[33[01;96m]h'; fi)[33[0;31m]]342224200[[33[0;32m]w[33[0;31m]]n[33[0;31m]342224224342224200342224200342225274 [33[0m][e[01;33m]\$[e[0m]"
    #PS1="[e]0;${debian_chroot:+($debian_chroot)}u@h: wa]$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

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

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '''s/^s*[0-9]+s*//;s/[;&|]s*alert$//''')"'

# 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 [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Test

Wir starten nun eine neue Verbindung zum Terminal, lokal, Putty oder OpenSSH und logen uns als den User ein, den wir gerade XTerm neu konfiguriert haben und siehe da XTerm Terminal Emulator der arbeitet.

Schreibe einen Kommentar

%d Bloggern gefällt das: