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 speicherschonender 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

Das Programm ist als rxvt-unicode in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S rxvt-unicode

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

oder

pacman -S compton

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

Zum Kopieren von Texten kann die Tastenkombinationen Strg+Alt+C, bzw Strg+Alt+V zum Einfügen, benutzt werden. Außerdem kann man auch mit der mittleren 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/ausloggen 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.

Eine simplere Lösung ist einfach auf dem Remote-Host folgendes zu exportieren mit folgendem Befehl:

export TERM=rxvt

das ganze lässt sich auch prima zum Beispiel in eine .zshrc.pre schreiben.

Siehe auch

Weblinks