Linux cmd line - Kommandos im terminal/ssh
Hintergrund- Bild aus Libreoffice extrahieren
Libreoffice-odt sind normale Zip-Dateien -> auspacken, imageNN.emf finden.
Im entsprechenden Ordner in png (recht klein?) oder svg umwandeln:
libreoffice --headless --convert-to png *.emf
# 300 dpi vs. 600 dpi
inkscape -o image1.svg -d 300 image1.emf
inkscape -o image1-600.svg -d 600 image1.emf
dryrun für chmod
Aufruf z.B. ./dryrun-chmod 640 Verzeichnis
Gibt alles innerhalb/unterhalb "Verzeichnis" aus, was diese Rechte NICHT hat und also geändert würde.
Abfrage getrennt nach Dateien, Verzeichnissen, Links möglich.
#!/bin/bash
if [ "$1" = "files" ] ; then
FINDOPT="-type f"
shift
elif [ "$1" = "dirs" ] ; then
FINDOPT="-type d"
shift
elif [ "$1" = "links" ] ; then
FINDOPT="-type l"
shift
fi
MODE=$1
shift
DIR="$@"
[ -z "$MODE" ] && echo usage $0 "[files|dirs]" mode directory && exit 1
[ -z "$DIR" ] && echo usage $0 "[files|dirs|links]" mode directory && exit 1
find "$DIR" $FINDOPT -print | while read i; do
[ $(stat -c%a "$i") = $MODE ] || echo "$i"
done
exit 0
(Vorsicht beim Rauskopieren - evtl. müssen die '"' ersetzt werden.) Bei links wird der mode des link-Ziels angezeigt.
In dem Zusammenhang eventuell wichtig: chmod ändert immer von allen Dateien/Verzeichnissen die Zugriffszeit, auch wenn der mode gleich geblieben ist.
Wenn man das nicht will, kann man o.g. Script als Eingabe für xargs verwenden, damit wirklich nur die zu ändernden Dateien angefasst werden:
./dryrun-chmod files 644 Verzeichnis1/ | xargs -d \\n chmod 644
Die Option "-d \\n" ist notwendig, falls Dateien oder Verzeichnisse mit Leerzeichen vorhanden sind.
Spezialfälle wie chmod rwX ... sind nicht abgedeckt.
find mit regex
Finde Dateien mit speziellen Namen per regex:
- hash 10 Zeichen mit a-f und 0-9:
find fileadmin/ -regextype sed -regex ".*/[a-f0-9]\{10\}\.jpg"
- hash 36 Zeichen mit a-f, 0-9 und -
find userspace/ -regextype sed -regex ".*/[a-f0-9\-]\{36\}\.jpg"
git commits zu bestimmter Datei oder Funktion suchen/anzeigen
# Suche in allen commits nach ...
git log -S'suchwort'
# Zeilenbereich:
git log -p -L 200,300:foo/bar.c
# mit Anzeige commits:
git log --oneline -G'^int commit_tree'
# wie vorher, aber mit Anzeige Änderungen:
git log -p -G'suchwort'
git log -p -G'suchwort' dir/file/...
locate mit wildcards
# Z.B. Suche alle "typo3_*.log" auf dem System
# (String besteht aus Zahlen und Buchstaben a-e):
locate '*typo3_[0-9a-e]*.log'
# Nur die Anzahl ermitteln:
locate -c '*typo3_[0-9a-e]*.log'
Ab hier alte Einträge:
Avira Rescue CD mit aktuellen Updates
Nachdem der Inhalt der avira-rescue-cd in ein Verzeichnis ausgepackt/kopiert wurde, kann man immer wieder das ff. Script ausführen:
cd avira-iso-directory
wget -nd dl.antivir.de/down/vdf/rescue_update.zip
unzip rescue_update.zip
chmod 700 antivir
rm rescue_update.zip
mkisofs -o ~/tmp/avirares.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -R -r .
Dann das avirares.iso auf CD-RW brennen, fertig ...
cdrecord -v -force -blank=fast -dev 1000,0,0
(den -dev Eintrag kann man mit
cdrecord -scanbus
anzeigen lassen)
cdrecord -v speed=24 dev=1000,0,0 ~/tmp/avirares.iso
eject /dev/cdrom
Quelle: FAQ
Tzdata-Problem bei etch
> tzdata won't install here.. > > Preconfiguring packages ... > Setting up tzdata (2007j-1etch1) ... > Running 'tzconfig' to set this system's timezone. > /var/lib/dpkg/info/tzdata.postinst: line 27: /usr/sbin/tzconfig: No > such file or directory > dpkg: error processing tzdata (--configure): > > That's because you are using libc6 from testing or unstable. Either use the Etch version, or use the latest version from testing or unstable. Quelle: Mailingliste
Downgrade von testing/unstable auf stable
apt-get install `apt-show-versions |grep testing | grep -v "linux-libc-dev"|grep -v "libdns21" |cut -d" " -f1 |tr "\n" " "| sed -e 's/testing/stable/g' `
und evtl. noch ein paar Kleinigkeiten vorher korrigieren:
apt-get remove tzdata
apt-get install libc6/stable bash/stable debianutils/stable coreutils/stable libacl1/stable dpkg/stable gzip/stable sysvinit/stable initscripts/stable libattr1/stable libacl1/stable
apt-get -du dist-upgrade
Debian keyring: neuer Key
Wenn ff. Meldung kommt:
GPG error: ftp.freenet.de etch Release: Die folgenden Signaturen waren ungültig: BADSIG A70DAF536070D3A1 Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org>
apt-key advanced --keyserver subkeys.pgp.net --recv-keys A70DAF536070D3A1
(natürlich den Key entspr. anpassen)
Wenn svn und gnome-keyring spinnen ...
Squeeze und isdnutils
Debian Squeeze wird das neue Debian 6.0 - man kann es ja schon mal installieren, schließlich ist schon "feature freeze".
Aber ein bisschen Umstellung ist nicht schlecht: isdnutils kann man zwar wie bisher installieren - nur funktioniert es danach nicht. Ein manuelles "apt-get install makedev" gehört auch noch dazu, damit bei udev die Gerätedateien richtig angelegt werden.
Isdn interfaces als Nutzer starten
Gleichzeitig wollte ich endlich, dass das Starten und Stoppen von Isdn-Interfaces auch von Nutzern ausgeführt werden kann. Normalerweise meckert isdnctrl mit der Ausschrift "Only the dial,hangup,addlink,removelink and status commands are allowed for none root users", wenn ich z.B. den isdnctrl dialmode, ~ list oder ~ addphone/delphone aufrufen möchte.
Aber da hilft selber bauen:
- apt-get build-dep isdnutils-base
- apt-get source isdnutils-base
- in ins isdnutils-base_... Verzeichnis wechseln
- isdnctrl/isdnctrl.c ab ca. Zeile 1683 passend ändern
- dpkg-buildpackage -rfakeroot -us -uc
- das geänderte Paket neu installieren mit:
dpkg -i ../isdnutils-base_3.9.20060704+dfsg.2-4.1_i386.deb - und vorsichthalber kein automatisches Update zulassen:
echo "isdnutils-base hold"|dpkg --set-selections
Und schon ist Schluß mit dem Gemecker ...
Firebug
... verträgt sich nicht mit "Colorzilla" -> deaktivieren.
Dafür um so nützlicher für Entwickler: www.FirePHP.org
CheatSheets (Spickzettel) für Entwickler sind sehr nützlich:
www.guido-muehlwitz.de/2009/08/cheat-sheets-fuer-web-entwickler/
TYPO3-Installation hinter proxy
Wenn eine TYPO3-Installation im Firmennetz hinter einem Proxy ins Web will:
[SYS][curlProxyServer] = http_proxy=http://proxyipadresse:3128
Debian: checkrestart automatisieren
Language: bash
for i in `checkrestart |grep init.d |cut -d" " -f1|tr "\n" " "` ; do $i restart ; done
Debian/Ubuntu: Fehlermeldung bei bash-completion
" symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: "
Ganz einfach: du befindest dich in der shell in einem Verzeichnis, was gar nicht mehr existiert (z.B. woandershin verschoben), daher kann die Auto-Vervollständigung der Bash das "aktuelle" Verzeichnis mittels pwd nicht finden - gibt es nicht.
Lösung: einfach das nicht mehr existente Verzeichnis verlassen ...
Ähnliches Problem: bash vervollständigt nicht mit "/" am Ende von Verzeichnissen, sondern mit " ". Ursache ist die Installation des Acrobat Readers - zum Beheben kann man z.B. die Datei /etc/bash_completion.d/acroread.sh löschen.
Erklärung und Quelle: www.ubuntu-forum.de/artikel/56768/tabulator-autocomplete-fehlfunktion.html
Debian: apt-Fehler bei lenny reparieren
Wenn bei lenny der nette Fehler "Sie haben die Anzahl an Beschreibungen überschritten, die Apt verarbeiten kann" kommt, dann hilft ff. Eintrag in /etc/apt/apt.conf:
// 20090701
//APT::Acquire::Translation "environment";
APT::Acquire::Translation "none";
Alternativ kann man vor den Aufruf von apt-Kommandos auch "LANG=C" schreiben. quelle bzw. erklärung
Suchen/Ersetzen über mehrere Dateien
Quelle: Debian-Referenz
einfaches Suchen in Unterverzeichnissen:
grep -ir "Suchstring" *
suche in Unterverzeichnissen String am Zeilenanfang/-ende:
grep -ir "^diff"
grep -ir "diff$"
String in Dateien ersetzen (ohne Unterverzeichnis):
perl -i -p -e 's/REGEX/TEXT/g;' DATEIEN ...
Beispiel:
regex kontrollieren:
- grep -e "<body>" *.html
- String in allen html-Dateien ersetzen:
perl -i.bak -p -e 's/<body>/<body class=xxxmenu>/g;' *html - Wenn / oder \ drin vorkommen:
perl -i.bak -p -e 's@/das ersetzen/@/das geht jetzt/@g;' *html
Mit -i statt -i.bak werden keine Backups erstellt ...
Bestimmte Dateien finden und darin suchen:
find -type f -iname \*php -exec grep -Hi SUCHSTRING {} \;
-exec
kommando optionen
{} das steht für die gefundene Datei
\; muss immer als Abschluss stehen
Bash - gequotete Elemente fuer xargs behandeln
Problem: Dateinamen mit z.B. " ' " führen zum Abbruch von xargs wegen Quoting-Fehler. Z.B. beim Löschen des Samba-Papierkorbs nach einer Zeit X (hier: 2 Tage) bricht xargs deswegen ab. Lösung mittels awk, gefunden bei www.linuxquestions.org/questions/programming-9/bash-cp-and-filename-with-spaces-woes-453181/
find /home -maxdepth 2 -mindepth 2 -type d -name .recycle -exec find {} -type f -mtime +2 \; | awk '{print "\""$0"\""}' |xargs -n 1 -i{} rm {}
find /home -maxdepth 2 -mindepth 2 -type d -name .recycle -exec find {} -type l -mtime +2 \; | awk '{print "\""$0"\""}' |xargs -n 1 -i{} rm {}
Rsync nur Dateien aus letzten n Tagen
cd (Zielverzeichnis)
rsync -RDa0P --files-from=<(find /media/myname/SDCARD/DCIM/ -ctime -7 -print0) / .
dd-wrt: dnsmasq und dhcp
Bei dd-wrt kann man feste (lokale) DNS-Einträge am schnellsten über die Web-Oberfläche eingeben, wenn man unter Services im Textfeld "zusätzliche DNSmasq-Optionen" einen PC eingibt im Format:
address=/machine_name/ip_address
also z. B.
address=/meinpc/meinpc.domain.local/192.168.10.10
Was man nicht tun sollte: statische Mac-Adressen für PCs innerhalb des dynamischen DHCP-Bereiches vergeben: ein Kollege von mir musste deswegen den Router resetten, weil nix mehr ging ...
Ab Version v24-sp1 lässt sich DD-Wrt auch als OpenVPN Server mit dynamischen X.509 Zertifikaten per Web-Oberfläche konfigurieren.
Vista ohne Vista
Bei raymond.cc gibt es Hinweise, wie man XP auf einen PC mit Vista installiert, ohne dass man die Vista CD für die Konfiguration des Bootmanagers verwenden muss.
VMWare Server Console unter Ubuntu 8.04 Hardy
cd /usr/lib/vmware-server-console/lib/libgcc_s.so.1/
rm libgcc_s.so.1
ln -s /lib/libgcc_s.so.1
Danach gibt es zwar beim Start von vmware-server-console noch die Meldung:
vmware-server-console
/usr/lib/vmware-server-console/bin/vmware-server-console: /usr/lib/vmware-server-console/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
... aber das scheint kein Problem zu sein.
Weiterhin gibt es Probleme mit VMWare Server 2.x und Firefox 3.6. Man kann sich aber manuell ein Desktop-Start-Icon anlegen, und die ff. Zeile (richtige Profil-ID verwenden) eintragen:
/home/falko/.mozilla/firefox/xcejnqvq.default/extensions/VMwareVMRC@vmware.com/plugins/vmware-vmrc -h "localhost:8333" -M "96"
Die zugehörige Zahl für seinen Guest ( "96") findet man in /etc/vmware/hostd/vmInventory.xml.
Außerdem soll noch die Verwendung von Firefox 3.5.x helfen; Wenn die Verwaltung im Firefox nicht funktioniert, ggf. in about:config probieren: security.enable.ssl2 from false to true
Lexmark Drucker installieren (Z600)
Da waren sie wieder meine 3 Probleme:
Der Lexmark Z600 Treiber bringt nach der Installation wie hier:
doc.ubuntu-fr.org//imprimante_lexmark_z600
den Fehler
(/usr/lib/cups/filter/rastertoz600) stopped with status 127
Irgendwie habe ich dann gefunden, dass die libstdc Bibliothek fehlt - nach
apt-get install libstdc++5 libstdc++6
und cupsys restart klappts auch mit dem Drucker :)
Ubuntu falschen Desktop installiert
http://wiki.ubuntuusers.de/Desktopumgebung_deinstallieren#Kubuntu
http://wiki.ubuntuusers.de/Desktopumgebung_deinstallieren#Ubuntu
http://wiki.ubuntuusers.de/Desktopumgebung_deinstallieren#Xubuntu
curlftpfs/sshfs/rsync mit Ubuntu
Quellen:
blog.dotfly.de/artikel/rsync-ueber-ftp/
www.exanto.de/sftp-und-ftp-unter-linux-mounten.html
sshfs nutzer:pass@server.de:verzeichnis/ mnt/
(aktueller Nutzer muss in Gruppe "fuse" sein, wenn nicht root)
fusermount -u mnt/
curlftpfs USERNAME:PASSWORT@beispiel.de /mnt/mein_ftp/fusermount -u mnt/
Guter Anleitung zur Lösung von rsync-exclude-Problemen:
blog.oswaldism.de/2008/06/24/rsync-und-das-ratsel-um-die-exclude-option/
Ubuntu+Compiz: verschiedene Hintergründe pro Arbeitsfläche
Quelle u.a.: Anurag Bansal
Voraussetzung: Compiz aktiviert, Compiz Config Manager ist installiert.
Sinnvoll: Würfel drehen, Desktop Würfel sind aktiviert, dabei muss man evtl. unter "Würfel drehen -> Bindings -> Rotate to cube" die Arbeitsflächen-Umschalttasten ersetzen gegen die Würfel-Umschalttasten (z.B. Alt-1, Alt-2,...)
Im Compiz Manager: Werkzeuge -> Hintergrundbilder (ggf. aktivieren) -> Neu, dann Image auswählen
Dann z.B. mit Alt+F2 den gconf-editor starten, dort unter apps/nautilus/preferences bei "show desktop" den Haken weg. Danach gibt es keine Desktop-Icons mehr! Will man trotzdem auf die laufenden Programme umschalten, empfiehlt sich die Installation des Avant Window Navigator mittels "sudo apt-get install avant-window-navigator". Dort kann man z.B. "places" als Applet einschalten, wo man schnell auf die Lesezeichen bzw. den Desktop Zugriff hat.
Wie ich die Bilder gemacht habe? Gimp -> neu erstellen -> ganzer Bildschirm und "Auslösen nach 5 s". Dann die mit der mittleren Maustaste auf den Hintergrund den Würfel drehen bzw. mit Strg+Alt+PfeilUnten die Desktop-Übersicht anzeigen.
Doppelte Dateien finden unter Linux
Im folgenden Forum-Eintrag findet sich u.a. ein Verweis auf das ff. Perl-Script und die neueste Versions-Historie davon.
Außerdem gibt es unter Ubuntu auch noch das mit grafischer Oberfläche versehene FSLINT, was durchaus auch noch ein paar Dinge mehr in Verzeichnissen mit vielen Dateien erledigen kann:
Große Dateien finden und in Datei schreiben unter Linux
find . \( -size +100M -fprintf /home/falko/big.txt "%-10s %p\n" \)
Mehrere Dinge auf einmal tun mit find:
find / \
\( -perm -4000 -fprintf /root/suid.txt "%#m %u %p\n" \) , \
\( -size +100M -fprintf /root/big.txt "%-10s %p\n" \)
Fallback-System mit Grub
Then you may want GRUB to boot the first system which is bootable among `A', `B' and `C'. A configuration file can be written in this way:
default saved # This is important!!!
timeout 10
fallback 1 2 # This is important!!!
title A
root (hd0,0)
kernel /kernel
savedefault fallback # This is important!!!
title B
root (hd1,0)
kernel /kernel
savedefault fallback # This is important!!!
title C
root (hd2,0)
kernel /kernel
savedefault
Note that `default saved' (see default), `fallback 1 2' and `savedefault fallback' are used. GRUB will boot a saved entry by default and save a fallback entry as next boot entry with this configuration.
Debian Lenny - kein Raid gefunden
mdadm error...
mdadm: No devices listed in conf file were found
... nach Installation von Lenny+Kernel 2.6.26-2 auf vorhandenem Raid1-System
Ursache: das SCSI-Laufwerk wird erst nach dem Laden des raid-Treibers gefunden, daher gibt es in dem Moment noch kein Raid ...
Lösung: append="rootdelay=5"
Bei grub: in menu.lst in die kopt= Zeile eintragen.
Bei grub2 (grub-pc): in /etc/default/grub in der Zeile GRUB_CMDLINE_LINUX= eintragen.
Anschliessend update-grub aufrufen - fertig.
Terminal-Sitzungen aufzeichnen
mit "recon" aufgezeichnete ssh bzw. Terminal-Sitzungen lassen sich mit "recplay" wieder abspielen. Diese Bash-Funktionen werden in der .bashrc eingefügt. Die Anzeige des Scripts ohne timings geht so:
cat <typescript_file> | col -b | less
Weiteres bzw. Quelle:
http://www.querzone.de/wiki/Wiki.jsp?page=ScriptReplay
Anschließend kann man z.B. mit vnc4server und pyvnc2swf unter Ubuntu die Sitzung in ein Video umwandeln. Siehe auch:
http://www.querzone.de/wiki/Wiki.jsp?page=VNC
Linksys flashen - wie es wirklich funktioniert
Es gibt viele Anleitungen, und jede sagt bisschen was Anderes. Das Folgende funktioniert - unter Linux/Debian/Ubuntu getestet - immer. Prinzip: beim Einschalten in 0.1 s Abständen das Gerät anpingen, sobald es sich meldet das tftp-Kommando ausführen.
Zur Vorbereitung die passende "mini" Datei für das Gerät herunterladen, in meinem Fall für den Linksys WRT54GL V1.1. Am besten auch gleich noch die "endgültige" Variante (std/vpn/voip/...) mit laden.
- als root bzw. mit "su -" oder "sudo bash" auf einem Linux-PC anmelden
- den PC/Notebook direkt per Netzwerkkabel mit dem Router an Port1 verbinden
- dem PC eine feste IP-Adresse im Bereich 192.168.1.0 geben:
ifconfig eth0 inet 192.168.1.12 netmask 255.255.255.0
(immer diesen Adressbereich nehmen, egal was im Router konfiguriert ist!) - in diesem Terminal eingeben und starten:
ping -i 0.1 192.168.1.1 - ein 2. Konsolenfenster öffnen und in das Verzeichnis wechseln, wo die heruntergeladenen bin-Dateien liegen
- dort genau so wie im Folgenden eingeben (noch nicht starten):
echo "binary
trace
put dd_wrt.v24_mini_wrt54g.bin
quit
" | tftp 192.168.1.1 - den Stromstecker in den Linksys stecken und das 1. Konsolenfenster mit dem "ping" beobachten
- sobald dort der ping zu laufen beginnt, Enter drücken
Wenn dann im Ergebnis des tftp-Kommandos "sent DATA/received ACK" Zeilen ausgegeben werden und am Ende dasteht "sent 2909184 bytes in 5.1 seconds" - dann hat man schon gewonnen!
Danach kann man per Web-Browser auf 192.168.1.1 zugreifen und den "Rest" per Web-Oberfläche konfigurieren, als 1. einen neuen Nutzer/Passwort vergeben, dann unter Administration/Firmware die endgültige Firmware-Version hochladen usw.
Linksys JTAG
Wenn dann doch mal gar nix mehr geht ...
... z.B. wenn das "Restore" der Einstellungen nicht funktioniert hat, kann man immer noch ein JTAG-Kabel bauen, einen Pfostenstecker in den Linksys einbauen und dann mit dem "SKYNET Repair Kit" z. B. den NVRAM zurücksetzen, den Kernel/Firmware oder sogar den Bootloader neu einsetzen.
Firefox 3: SSL-Zertifikat einfacher annehmen
Jo-Philipp Wich hat auf der Freifunk Leipzig Mailingliste ff. Tip veröffentlicht, der gut funktioniert:
> Nach ein wenig Recherche im Internet und etwas Ausprobieren habe ich
> eine Möglichkeit gefunden, den ganzen Vorgang auf zwei Klicks zu
> verkürzen.
> 1) Die Adresse "about:config" aufrufen
> 2) Den Parameter "browser.xul.error_pages.expert_bad_cert" auf "true"
> setzen
> 3) Den Parameter "browser.ssl_override_behavior" auf "2" setzen
> Erscheint jetzt auf irgendwelchen Seiten der bekannte SSL-Fehler, so
> kann man direkt auf "Ausnahme hinzufügen..." und dann auf
> "Sicherheits-Ausnahmeregel bestätigen" klicken ohne erst den kleinen
> Link klicken und das Zertifikat herunterladen zu müssen.
Firefox beschleunigen - SQLite-DBs komprimieren
Firefox schließen, dann im Terminal ausführen:
for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
Linux-Tips
... gibt es auf der Seite Linux-für-Blinde, z. B. wie man große Dateien finden kann.
Fehlende Dateien bei RPM-basierten Systemen finden (SuSE, RedHat, Fedora ...):
rpm -Va --nomd5 --nodigest --nosignature
Tar-Archiv mit split aufteilen und packen:
tar cvzf - dir/ | split --bytes=4000MB - desinfect.tgz
wieder auspacken:
cd destdir ; cat desinfect.tgza* | tar xzvf -
Win95 Treiber Link
Encoding-Links
Tastatureingabe unter Linux und Windows in Bezug auf UTF-8:
www.schoenitzer.de/encoding.html
UTF-8 allgemein: www.php-tech.de/utf8_seite.php
Ausführliche Zeichencode-Tabellen: unicode.e-workers.de
Java 2 Programmierhandbuch www.dpunkt.de/java/index.html
und Einstellungen in Bezug auf Utf-8:
www.dpunkt.de/java/Programmieren_mit_Java/Die_Umgebung_eines_Java_Programms/13.html
Alles zu UTF-8 für den Entwickler: http://www.cl.cam.ac.uk/~mgk25/unicode.html
Xen-Tips und Tricks
- wenn ein Xen-Guest beim Starten hängt, ggf. klogd deaktivieren
- Novell-Treiberpaket für native Geschwindigkeit von Windows als Guest:
www.novell.com/de-de/products/vmdriverpack/
Installation ConVirt 0.9.6 auf Debian (thanx to Quelle):
sudo apt-get remove convirt
wget superb-east.dl.sourceforge.net/sourceforge/xenman/convirt-0.9.6-1.suse.noarch.rpm
sudo apt-get install alien python-xen-3.3 python-paramiko
sudo alien -d convirt-0.9.6-1.suse.noarch.rpm
sudo dpkg -i convirt_0.9.6-2_all.deb
# wenn auf Server installiert wird, kommt noch hinzu:
sudo apt-get install python-gtk2 python-glade2 python-vte
Hinweis:
Die Inhalte hier sind teilweise recht veraltet und werden noch überarbeitet.