Urxvt

Aus wiki.archlinux.de
Das urxvt Terminal im Einsatz

Urxvt, selbst ein Klon von rxvt, ist ein Terminal-Emulator für X und soll ein speicher-schonender Ersatz für xterm sein. Es ist auch möglich urxvt im Daemon-Modus zu starten, was wieder die Geschwindigkeit erhöht. Seine Vorzüge sind:

  • Pseudotransparenz
  • Unicode-Support (auch UTF-8)
  • Echte Transparenz (mit Compositing: z.B. xcompmgr, compiz, kwin, ...)
  • Gute Konfigurierbarkeit

Installation

Die Installation ist wie immer recht einfach

pacman -S rxvt-unicode

Es gibt auch die Möglichkeit Urxvt mit 256 Farben zu betreiben. Das dazu nötige Paket befindet sich im community:

pacman -S rxvt-unicode-256color

Konfiguration

Urxvt lässt sich komplett über ~/.Xdefaults konfigurieren und auf diese Weise sehr gut an die eigenen Bedürfnisse anpassen.

Eine sehr gute Konfiguration findet man hier:

URxvt.saveLines: 1000
URxvt.scrollBar: false
URxvt.foreground: white
URxvt.background: black
URxvt.secondaryScroll: true
URxvt.font: xft:Bitstream Vera Sans Mono:pixelsize=12
URxvt.perl-ext-common: default,matcher
URxvt.urlLauncher: firefox
URxvt.matcher.button: 1
URxvt.tabbed.saveLines: 1000
URxvt.tabbed.scrollBar: false
URxvt.tabbed.tabbar-fg: 3
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg: 0
URxvt.tabbed.tab-bg: 1
URxvt.tabbed.secondaryScroll: true
URxvt.tabbed.font: xft:Bitstream Vera Sans Mono:pixelsize=12
URxvt*inheritPixmap: true 
URxvt*shading: 70

Tipps und Tricks

Echte Transparenz

Für echte Transparenz wird ein Compositing Manager benötigt:

pacman -S xcompmgr

Wenn dieser gestartet ist, ist echte Transparenz möglich. Alternativ eignen sich auch Compiz-fusion oder kwin (der Fenstermanager von KDE) mit aktivierten Desktopeffekten. Danach kann man Urxvt mit folgendem Befehl starten und man erhält einen transparenten Hintergrund:

urxvt -name Terminal -fn "xft:Monospace:pixelsize=11" -fade 20 +sb -depth 32 -fg white -bg rgba:2000/2000/2000/dddd

Kopieren

Da im urxvt-Fenster kein Rechtsklick erlaubt ist, kann man Texte nur per mittlerer Maustaste kopieren.

Daemon Modus

Urxvt kann mit dem Start der Desktopumgebung als Daemon gestartet werden, was das Terminal ungemein beschleunigt. Man muss nur folgendes in den Autostart hinzufügen:

urxvtd -f

Die einzelnen Terminals werden nun mit dem Befehl

urxvtc

gestartet.

Urxvt mit 256 Farben und SSH auf andere Systeme

Beim Zugriff auf andere System per SSH kann es zu Problemen kommen, wenn diese das Terminal nicht kennen (z.B. Debian). Es können beispielsweise nicht alle Farben dargestellt werden oder Tasten werden falsch interpretiert. Eine Lösung ist die Aktualisierung der Terminfo-Datenbank. Dazu folgenden Befehl auf der lokalen System ausführen, um die nötigen Informationen über das Terminal auszulesen:

infocmp -L rxvt-unicode-256color > ~/rxvt-unicode-256color.terminfo

Die entstandene Datei per scp auf das System hochladen:

scp ~/rxvt-unicode-256color.terminfo serverip:/home/user/

Auf dem System per SSH einloggen und den Pfad ~/.terminfo erstellen und die Datei zur Terminfo-Datenbank hinzufügen:

install -d ~/.terminfo
tic -o .terminfo/ ~/rxvt-unicode-256color.terminfo

Danach kann die Datei wieder gelöscht werden:

rm rxvt-unicode-256color.terminfo


Um Schreibarbeit mehreren Systemen zu sparen, habe ich folgende Skripte geschrieben.

#!/bin/bash
# exportURXVT.sh
mkdir /tmp/urxvt
infocmp -L rxvt-unicode-256color > /tmp/urxvt/rxvt-unicode-256color.terminfo
cp /tmp/urxvt/rxvt-u{nicode,}-256color.terminfo
sed -i 's/rxvt-unicode-256color/rxvt-u-256color/g' /tmp/urxvt/rxvt-u-256color.terminfo
chmod a+r /tmp/urxvt/rxvt-u{nicode,}-256color.terminfo
cp importURXVT.sh /tmp/urxvt/
tar -czf urxvt.tgz /tmp/urxvt/*
scp urxvt.tgz $1:/tmp/
#!/bin/bash
# importURXVT.sh
install -d ~/.terminfo
tic -o ~/.terminfo/ rxvt-unicode-256color.terminfo
tic -o ~/.terminfo/ rxvt-u-256color.terminfo
/bin/rm -i rxvt-u{nicode,}-256color.terminfo
echo "# Alias to shorten TERM as workaround for bug in screen" >> ~/.bashrc
echo "alias sterm='export TERM=rxvt-u-256color'" >> ~/.bashrc
echo "# Alias to restore TERM" >> ~/.bashrc
echo "alias lterm='export TERM=rxvt-unicode-256color'" >> ~/.bashrc
alias sterm='export TERM=rxvt-u-256color'
alias lterm='export TERM=rxvt-unicode-256color'
echo "Bitte .bashrc sourcen oder ein/auslogen um die Aliase verwenden zu können"

Einfach auf dem Hostsystem als exportURXVT.sh respektive importURXVT.sh speichern und dann 'exportURXVT.sh ZIELSERVER' aufrufen. Auf dem Server dann den Tarball /tmp/urxvt.tgz entpacken und 'importURXVT.sh' aufrufen.

Des Weiteren ist ein Workaround enthalten um screen trotz der beschränkten Länge des TERM-Names verwenden zu können(Dieses Problem ist bei Arch bereits gepatched, bei Debian und Suse anscheinend noch nicht). Mit dem Alias 'sterm' wird TERM auf rxvt-u-256color gesetzt und ist damit unter dem 20 Zeichen Limit von screen. 'lterm' setzt TERM wieder zurück auf das offizielle rxvt-unicode-256color. Funktional sind beide Versionen identisch.

Siehe auch

Weblinks