Nickolsen’s Techblog

Dezember 28, 2008

XMMS2 + ALSA: CPU-Load reduzieren

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , — nickolsen @ 12:43

Ich hatte mich ja gestern beschwert, dass der CPU-Load von XMMS2 zu hoch sei (30%-50%). Hab heute die Lösung (im Internet) gefunden:

XMMS2 stoppen (nicht als root, sondern als ausführender Benutzer)
nickolsen@ocelot:~$ xmms2 stop
Das Output-Plugin auf „null“ umbiegen
nickolsen@ocelot:~$ xmms2 config output.plugin null
Config value output.plugin set to null
XMMS2 wieder starten. Bei mir war der CPU-Load nun auf 0%-5%.
nickolsen@ocelot:~$ xmms2 stop
Output-Plugin wieder auf „alsa“ einstellen
nickolsen@ocelot:~$ xmms2 config output.plugin alsa
Config value output.plugin set to alsa
Dafür als Alsa-Device nicht „default“ sondern hw:0,0 benutzen
nickolsen@ocelot:~$ xmms2 config alsa.device hw:0,0
Config value alsa.device set to hw:0,0
Et voila, CPU-Load schwirrt unter 10% rum. Damit kann ich leben! :-)

Dezember 27, 2008

Neuer Windowmanager: Enlightenment

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , , — nickolsen @ 11:15

Ich hatte testweise auf einer virtuellen Maschine (qemu) mal e16 aus dem Debian Repository installiert (ja, ich weiß, obsolet) und das Ding schnell ins Herz geschlossen.
Heute war dann der große Tag: Windows wurde komplett von meiner Festplatte verbannt!
Diesen Schritt habe ich direkt mal zum Anlass genommen und hab Debian auch direkt neu installiert. Diesmal allerdings mit der Kombination e16 und slim statt wie bisher KDE3.5 und kdm.

Booten tut das Notebook nun etwa 10 Sekunden schneller und auch der Speicherverbrauch ist etwas humaner als unter KDE. Dafür ist das ganze sehr karg und etwas gewöhnungsbedürftig. Und mich nervt, dass xmms meine CPU zu 10% belegt… :-(

Bisher nutze folgende Komponenten:
- X.org X-Server
- e16
- slim
- eterm
- xfe
- powersaved
- Openoffice
- gkrellm2
- xmms2 (inkl. xmms2-scrobbler)
- iceweasel
- alsa
- vim
- xpdf
- openssh-server/-client

Screenshots gibt es bei Zeiten und ich geh nun schlafen ;)

EDIT: Achja, ich hab mir heute in wenigen Minuten einen eigenen Desktophintergrund gebaut.
tubes21

Dezember 26, 2008

dpkg: Konfigs gelöschter Pakete purgen

Gespeichert unter: Bash, Computer, Debian, Linux — Schlagworte: — nickolsen @ 12:51

Ich weiß nicht, ob das wirklich Sinn macht… aber, hier ist meine Funktion:

for i in $(dpkg -l | grep ^rc | tr -s "[:blank:]" | cut -d " " -f2); do dpkg -P $i; done
oder
for i in $(dpkg -l | grep ^rc | awk -F ' ' '{print $2}'); do dpkg -P $i; done

Damit werden alle mit rc gekennzeichneten Pakete aus dpkg gepurgt.
rc bedeutet, dass die Pakete gelöscht sind, aber noch eine Konfigurationsdatei vorhanden ist. Bei einer erneuten Installation des Pakets, würde diese Konfig auch verwendet werden. Um das zu verhindern, kann man die Konfigurationsdatei (also den Paketrest) purgen – vollständig entfernen. Normalerweise geschieht dies per dpkg -P <Paketname>.

Achtung: Bei meiner kleinen Schleife, findet KEINE Sicherheitsabfrage statt. Es werden einfach alle rc-geflagten Pakete gepurgt! Benutzung auf eigene Gefahr!!!

Dezember 25, 2008

Eee schaltet sich nicht ab

Gespeichert unter: Computer, Debian, Eee, Linux — Schlagworte: , — nickolsen @ 4:04

Habe mir zu Weihnachten einen gebrauchten Asus Eee 701 [1] gegönnt. Da ich Debian-Fan bin, habe ich das vorinstallierte Xandros [2] direkt mal geplättet und Debian Testing [3] installiert. Dabei fiel mir auf, dass der Eee nach dem Runterfahren nicht ganz aus geht. Das Problem ließ sich bis heute nur durch das Entfernen des Akkus „lösen“.
Heute habe ich allerdings mal ein wenig beim DebianEeePC-Projekt [4] gestöbert und siehe da, es gibt eine (funktionierende) Lösung [5]:

su root
echo rmmod snd_hda_intel >> /etc/default/halt

Des Weiteren funktioniert das Herunterfahren bei niedrigem Akkustand durch kpowersave nicht. Nach einem solchen „Stromausfall“ (bedingt durch den leeren Akku), hat sich direkt die Tastatur verabschiedet… :-( zum Glück gibts bei eBay [6] Neue…


[1]: http://www.asus.com/products.aspx…
[2]: http://www.xandros.com/
[3]: http://www.debian.org
[4]: http://wiki.debian.org/DebianEeePC
[5]: http://wiki.debian.org/DebianEeePC/…
[6]: http://www.ebay.de

November 14, 2008

Praktische nmap-Commands

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , — nickolsen @ 3:23

nmap -sP -n <IP>
Bsp: ocelot:/# nmap -sP -n 192.168.0.15-28
Host 192.168.0.23 appears to be up.
MAC Address: 00:06:XX:XX:XX:XX (Cisco Systems)

Nmap scannt die IPs 192.168.0.15 bis 192.168.0.28 und überprüft ob die Hosts up sind.
-sP: Ping-Scan. Nutzt _ausschließlich_ ein ICMP echo request an Port 80 des Zielrechners (wenn root ausführt, wird noch ein ARP-Request benutzt)
-n: Keine Namensauflösung.


nmap -sT -p <Port> -n <IP>
Bsp: ocelot:/# nmap -sT -p 22 -n 192.168.0.1-100 | grep open -B2
Interesting ports on 192.168.0.23:
PORT   STATE SERVICE
22/tcp open  ssh

Im angegebenen IP-Bereich werden alle IPs auf den angegebenen Port gescannt und es wird ausgegeben, welchen Status dieser Port hat. Das grep bewirkt in diesem Fall, dass nur die offenen Ports mit den 2 darüberliegenden Zeilen ausgegeben werden. Erklärungen dazu weiter unten.
-sT: TCP connect scan
-p: Gibt den zu scannenden Port (s/range) an.
-n: Wie oben schon erwähnt bedeutet diese Option, das keine Namensauflösung durchgeführt wird.


grep <Expression> -A|B<Zahl>
Bsp: ocelot:/# grep 5 -B2 testfile.txt
Zeile 3
Zeile 4
Zeile 5

Bsp: ocelot:/# grep 5 -A2 testfile.txt
Zeile 5
Zeile 6
Zeile 7

-B: Gibt an, das die angegebene Anzahl Zeilen vor der <Expression>-Zeile mit ausgegeben werden sollen. (B = before)
-A: Gibt an, das die angegebene Anzahl Zeilen nach der <Expression>-Zeile mit ausgegeben werden sollen. (A = after)

Oktober 22, 2008

Vim: Autoindent abschalten

Gespeichert unter: Computer, Linux, Others — Schlagworte: , , — nickolsen @ 6:09

Wer kennt das nicht: Man hat sich ein paar hundert Zeilen in die Zwischenablage kopiert, erstellt mit dem Vim ein neues Dokument, fügt den Inhalt der Zwischenablage ein… und es sieht grauenhaft aus! Jede Zeile ist um ein Tab weiter eingerückt. Wunderbar – besser gesagt: Nicht lesbar!

Doch auch dafür gibt es Abhilfe:
echo set noautoindent >> /etc/vim/vimrc
und schon wird der Inhalt der Zwischenablage sauber formatiert eingefügt!

Oktober 8, 2008

Ethernet-Bridge DHCP-Paket Analyse

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , , , — nickolsen @ 6:38

Zugegeben, der Titel klingt spannender als die Arbeit eigentlich war. Aber egal, interessant war es trotzdem!

Vorweg noch ein wichtiger Hinweis: Die im folgenden beschriebenen Arbeiten habe ich ausschließlich in meinem privaten Netzwerk durchgeführt und die gewonnenen Daten dienen auch lediglich der Analyse. Mal davon ab, handelte es sich bei dem ganzen „Projekt“ um eine Hausaufgabe!

So, jetzt gehts los:
Mein Analyse-PC hat vor ein paar Tagen eine zweite Netzwerkkarte spendiert bekommen, weil ich die Pakete, die aus meinem Zimmer Netzwerk in Richtung Router (und damit Internet) gehen, einfach mal sehen wollte.
Oder um es ganz simpel auszudrücken:
Welche Anwendung brüllt was ins Netz?

Schritt 1 (Einbau der zweiten Netzwerkkarte):
Na ja, es sollte jedem klar sein, wie man eine Netzwerkkarte in einen PC bekommt. In meinem Fall war das Ganze mit ein wenig Fummelei verbunden, da mein Test-PC ein Micro-ATX-Board mit nur 2 PCI-Steckplätzen eingebaut hat.

Schritt 1,5 (Installation des Betriebssystems)
Bei mir notwendig, weil ich gleichzeitig noch eine neue Festplatte in den PC gebaut habe.
Debian Testing gabs auf die Platte, zu beachten nichts weiter, außer dass die Installation beide Netzwerkkarten als eth0 und eth1 erkennt und man wählen muss, welches die primäre Netzwerkkarte werden soll.
Das Netzwerk nicht per DHCP konfigurieren lassen, sondern feste IPs vergeben!

Schritt 2 (Ethernet-Bridge bauen)
Dank Werner (Arbeitskollege), der mich auf einen Artikel auf heise.de hingewiesen hat, war das erstellen der Ethernet-Bridge denkbar einfach:
ifconfig eth0 -arp promisc 0.0.0.0 up
ifconfig eth1 -arp promisc 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 -arp promisc 0.0.0.0 up
Funktioniert brctl nicht, muss das Paket bridge-utils nachinstalliert werden. (Das geht aber nur vor den beiden ifconfig-Schritten, wenn man nur über 2 Netzwerkkarten verfügt)
Zu beachten gibt es eigentlich nichts weiter, bei mir hat das alles auf Anhieb geklappt.

Schritt 3 (Pakete analysieren)
Es gibt sicher andere Tools, aber ich habe den Wireshark benutzt. Als capture device einfach br0 angeben und bei Bedarf die Paketauswahl eingrenzen und dann kann es losgehen

Schritt 4 (Fazit):
Einfach und schnell, aber effektiv. So geht der Einstieg in die Netzwerkanalyse gut von der Hand und macht sogar Spaß ;) Quasi etwas für die ganze Familie :P
Interessant fand ich folgenden Sachverhalt:
Debian-Kommunikation mit dem DHCP-Server:
(Client) Discover -> (Server) Offer -> (Client) Request -> (Server) Acknowledge -> (Client) Release

Windows XP-Kommunikation mit dem DHCP-Server:
(Client) Request -> (Server) Acknowledge -> (Client) Inform -> (Client) Inform
Kein Discover, kein Offer, kein Release… die Frage ist nur: Warum?

So, damit erstmal genug für heute. Mal sehen, es noch so zu entdecken gibt…

EDIT: Wieder was dazu gelernt! Ich weiß jetzt warum Windows weniger DHCP-Pakete durch die Gegend schickt als Debian.
Das Lease für die Windows-IP ist noch nicht abgelaufen, also wird nur geprüft (Request -> Acknowledge) ob die Informationen noch gültig sind. Außerdem wird an dieser Stelle das Lease verlängert.
Bei meinem Debian ist das so nicht möglich, da beim runterfahren ein Release gesendet wird, womit das aktuelle Lease gecancelt und die IP-Adresse wieder freigegeben wird.
Laut RFC2131 sind beide Wege korrekt – der Debian-Weg kostet aber etwas mehr Netzwerktraffic, was sich vor allem in großen Netzwerken bemerkbar machen dürfte.
Im Gegensatz dazu läuft bei einer langen Lease-Time die Range des DHCP-Servers schneller voll, wenn Windows nie ein Release sendet…

Oktober 7, 2008

ScummVM MIDI-Problem

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , , — nickolsen @ 5:19

So, da wollte ich doch mal ein paar alte Klassiker über ScummVM spielen. Zu Anfang sah alles noch recht einfach aus:

apt-get update
apt-get install scummvm
/usr/games/scummvm

Dann ein paar Spiele hinzufügen (die muss man schon selber zur Verfügung stellen – Beneath A Steel Sky und Flight Of The Amazon Queen gibts aber zu Linux dazu).

Und dann gib ihm. Dachte ich.
Using configuration file: ~/.scummvmrc
Looking for monkey
Trying to start game 'The Secret of Monkey Island'
Can't subscribe to MIDI port (65:0) see README for help!

Nach ein wenig googlen fand ich dann die Lösung! Man muss ScummVM auf den Alsa-Port 17:0 umbiegen:
vim ~/.scummvmrc
alsa_port=17:0 einfügen
/usr/games/scummvm

Looking for monkey
Trying to start game 'The Secret of Monkey Island'
Can't subscribe to MIDI port (17:0) see README for help!

Mmh. Weiter googlen! Irgendjemand schrieb dann was von aconnect -o -l

ocelot:/home/nickolsen# aconnect -o -l
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'

Idee: Warum ScummVM nicht auf den vorhandenen Port 14 umbiegen?

vim~/.scummvmrc
alsa_port=14:0
/usr/games/scummvm

Und die Spiele starten… aber leider ohne Sound. :(

Wieder eine Baustelle…

Oktober 2, 2008

VIM: Syntax Highlighting

Gespeichert unter: Bash, Computer, Linux, Others — Schlagworte: , , — nickolsen @ 8:54

Wenn der VI erkennt, um welche Art von Programmiersprache es sich handelt (an Dateiendung?!), ist das Highlighting im VI aufrufbar per
:syntax on
abschaltbar
:syntax off

Standardmäßig aktivieren kann man es in der:
/etc/vim/vimrc
und zwar einfach bei der Zeile
syntax on
das Kommentarzeichen entfernen und speichern!
Ab sofort wird dann bei jeder Datei, die man im VIM öffnet, die Syntax farbig markiert.

Danke an www.dappes.com für die Anleitung!

September 7, 2008

Bildkonvertierung .pnm -> .jpg

Gespeichert unter: Computer, Debian, Linux — Schlagworte: , , , — nickolsen @ 12:15

Durch Zufall habe ich gerade im Internet etwas von cjpeg gelesen. Funktioniert auch wunderbar… :)

cjpeg -verbose -outfile <Dateiname>.jpg -progressive <Dateiname>.pnm

Ältere Artikel »

Bloggen Sie auf WordPress.com.