Archiv für die Kategorie ‘shell’

h1

Audio von Video extrahieren

Juni 19, 2009

>>> ffmpeg -i input.avi extract.mp3

So liebe ich das, da soll mir nochmal jemand sagen, die Konsole wäre nicht toll <3

h1

Zwei Avi Videos zusammenfügen

Juni 19, 2009

>>> cat file1.avi file2.avi > big.avi

>>> mencoder -ovc copy -oac copy -o output.avi -forceidx big.avi

Viel Spaß damit. „this isn’t a ‘recommended’ use of mencoder.“ – leider kenn ich keine andere Methode die so leicht ist. Wenn jemand was besseres weiß, dann bitte in den Kommentaren posten.

h1

Sqlite3 Dateien als MySQL importieren

Mai 10, 2009

Wie man die Datei erstmal exportiert hab ich hier beschrieben: http://codecocktail.wordpress.com/2009/05/10/sqlite-dump-exportieren/. Anschließend muss man folgende Änderungen durchführen:

- Begin Transaction und Commit entfernen (erste und letzte Zeile)

- doppelte Anführungszeichen durch ` ersetzen.

- autoincrement durch auto_increment ersetzen und Zeile mit sqlite_sequence entfernen

(Die Schritte aus dem letzten Punkt habe ich nur gelesen, bei mir waren sie nicht nötig)

Danach lässt die Datei sich als MySQL importieren.

h1

„premature end of script headers“ error

Mai 10, 2009

Der Fehler hat irgendwas mit Zugriffsrechten zu tun. Die schnelle und dreckige Lösung lautet:

server> chmod -R 777 folder

h1

Programme in den Vordergrund holen mit Shortcuts

April 20, 2009

Charly und ich fanden es nervig, sich immer mit <Alt> + <Tab> zwischen den Fenstern hin- und herzubewegen, da man so oft durch eine recht lange Liste durch muss und trotzdem manchmal im falschen Fenster angommt. Viel besser wäre es doch, wenn man je einen Shortcut für gnome-terminal, Pidgin und Firefox hätte, welcher dann das jeweilige Fenster in den Vordergrund holt oder die Anwendung erstmal startet.

Also haben wir uns hingesetzt und ein kleines bash-script geschrieben, cofw.sh (Ja, der Name ist sehr kreativ und steht für ‘Create or focus window’).

Das Script bekommt den Titel oder einen Teil des Titels des Fenster übergeben. cofw sucht dann mithilfe von wmctrl in allen offenen Fenstern nach dem Titel und setzt bei Erfolg den Fokus auf dieses Fenster. Findet es kein Fenster mit diesem Titel, so schaut es in einer Liste nach, ob zu diesem Titel ein Kommando definiert wurde, welches die Anwendung startet. Entweder es findet solch ein Kommando führt es aus, oder es nimmt den übergebenen Titel als Kommando und versucht so, die gewünschte Anwendung zu starten.

Bei Pidgin (und auch rhythmbox) war das allerdings etwas trickreicher, da hier der Name des Fensters je nach Gesprächspartner (Musiktitel) variiert, aber auch das haben wir mit mit einer kleine Ausnahme in das Script eingepflegt.

Hier nochmal ein konkretes Beispiel:

Der Befehl ./cofw.sh Terminal sorgt dafür, dass cofw schaut, ob es ein Fenster gibt, das im Titel „Terminal“ enthalten hat. Wenn ja, bekommt dieses Fenster den Fokus, ansonsten schaut es standardmäßig in der Datei ~/.cofwrc nach, ob dort für dein Eintrag Terminal ein Kommando definiert wurde. Bei mir steht dort für Terminal das Kommanodo gnome-terminal. Also führt cofw das Kommando aus und öffnet mir damit ein Gnome-Terminal.

Da man aber natürlich nicht immer das Script aufrufen will, kann man mit metacity noch Shortcuts definieren. Dazu ruft man gconf-editor auf, geht dann auf -> apps -> metacity -> keybinding_commands und legt beispielsweise command_1 auf cofw.sh Firefox. Danach muss man noch in der gleichen Ebene in global_keybindings einen Shortcut für run_command_1 festlegen. Z.B. <Mod4>s für die Tastenkombination Windows-Taste + s. Außerdem muss jetzt noch in die ~/.cofwrc die Zeile „Firefox firefox“, damit cofw firefox startet, falls noch kein solches Fenster existiert.

Dieses Spielchen kann man beliebig mit anderen Anwendungen weiter machen, man muss nur darauf achten, dass die jeweillige Anwendungen irgendeinen statischen oder teilweise statischen Text im Fenstertitel hat.

Damit das ganze funktioniert, muss man sich zunächst wmctrl installieren. Für Ubuntuuser oder Debianer:

sudo apt-get install wmctrl

Und für alle Anderen von hier als Quellcode.

Hier gibts das Script bei paste.pocoo.org.

h1

Vimwiki

April 19, 2009

Noch ein weiterer Post über vim. Man sieht, mich fasziniert dieser Editor wirklich! :D
Beim Lesen von A byte of Vim bin ich jetzt wieder auf etwas Interessantes gestoßen. Vimwiki, ein Plugin für vim, ist ein sogenanntes Personal Wiki, mit dem man seine persönlichen Daten organisieren kann.
Das bedeutet im Fall von vimwiki einfach, dass man seine Textdateien verlinken kann und seine Texte mit einigen Markierungen – wie fett oder kursiv gedrucktem Text, Überschriften, Listen, etc – versehen kann.
Falls es jemanden interessiert, einfach mal die Projektseite von Vimwiki besuchen. Dort sind auch einige Screenshots und Beispiele zu finden.

Noch ein kleiner vim-Tipp, mit dem man den Link unter dem Cursor im Browser öffnet:

map <Leader>gw :call system('firefox "' . expand('') . '"')

Das einfach in die ~/.vimrc schreiben. Danach kann man mit <Leader> gw  das Wort unter dem Cursor mit Firefox öffnen. Wer mit <Leader> nichts anzufangen weiß, kann sich unter :help <Leader> hilfe beschaffen. Im Normalfall ist <Leader> einfach der Backslash (\). Wem firefox nicht passt, der schreibt einfach seinen Lieblingsbrowser statt firefox in den system-aufruf hinein.

h1

TouchTyping Spiel

April 2, 2009

Wen interessiert schon, ob sogenannte „Killer-Spiele“ verboten werden oder nicht? Solange wir noch auf der Konsole spielen dürfen ist doch alles wunderbar!

typespeed ist ein solches Konsolen-Spiel, bei dem man möglichst schnell Wörter richtig tippen muss, bevor sie über den Bildschirm abgehauen sind. So kann man schön spielerisch seine Tipp-Geschwindigkeit ermitteln und verbessern, sogar im Multi-Player Modus.

sudo apt-get install typespeed

aufrufen und los gehts! Der Rest sollte selbst erklärend sein.

Meine Statistik bei den German-Words nach zwei Versuchen:

Top10  (Punkte)(Name)                   (Level)   (ZPS)  (WPM)  (Typoinfos)
1.     530  Thomas                   VeryGood  4,719    56   8,08%  Monkey
2.     484  Thomas                   Good      4,891    58   3,70%  Human

Mal sehen, wie sehr ich mich dort noch verbessern werde :D Affe bin ich also schonmal =)

Viel Spaß beim Tippen!

h1

Bloggen mit Vim

März 22, 2009

Genial. Mit dem Plugin ‘vimblog’ von Tquadrado kann man von vim aus neue WordPress-Artikel veröffentlichen, alte ansehen und bearbeiten.
Dazu muss man sich zunächst das Plugin herunterladen. Am Besten die leicht veränderte Version von Fernando, da dort zusätzlich noch die Möglichkeit des Taggings hinzugefügt wurde. Diese Datei packt man sich in seinen $HOME/.vim Ordner.
Als nächstes die $HOME/.vimrc Datei anpassen und folgende Zeilen einfügen:

if !exists('*WordPress_vim')
    runtime vimblog.vim
endif

Dann muss man noch die vimblog.vim anpassen, die man zuvor in den $HOME/.vim Ordner gelegt hat. Dort gibt es irgendwo die Zeile ‘def get_personal_data’, nach der ein paar Zeilen folgen, wo man seine persönlichen Daten für den Weblog eintragen muss.
Ob das Plugin funktioniert, kann man testen, indem man in vim das Kommando :Blog rp ausführt. Dadurch sollten die letzten 10 Artikel heruntergeladen und in einem extra vim-Fenster angezeigt werden.
Mit :Blog help bekommt man eine kleine Hilfe, welche die anderen Kommandos anzeigt.

Dieser Artikel ist natürlich auch direkt aus vim geschrieben und gepostet. Klasse. =)

Update: Hier kann man sich das ganze auch mal in Aktion anschauen (wenn man was erkenn will, muss man auf HD umschalten).

h1

Python Shell Einzeiler

Februar 18, 2009

Wenn ich mit der Shell arbeite mag ich am liebsten die Einzeiler. Ich weiß zwar noch nicht, ob das wirklich nützlich ist, aber eben gerade habe ich gelesen wie man Python als Einzeiler ausführt:

charly@lucy:~$ python -c ‘print „Hello World“‘

Wenn sowas jemanden interessiert, dann kann er sich auch hier: http://www.rosettacode.org/wiki/Shell_One_Liner den Spaß in einer ganzen Reihe von Programmiersprachen angucken. Am aller besten finde ich das Beispiel in C:

charly@lucy:~$ touch /tmp/T0.c /tmp/T && chmod 600 /tmp/T0.c /tmp/T && echo -e „#include<stdio.h>\nint main(){printf(\“Hello\\\n\“);return 0;}“ >/tmp/T0.c &&
>   gcc /tmp/T0.c -o /tmp/T && /tmp/T && rm -f /tmp/T0.c /tmp/T
Hello

h1

fortunes – Lyrik und Witz gefällig?

Februar 4, 2009

Mal etwas „anderes“ in der shell. Das Paket fortunes-de füllt das Terminal auf Abruf mit netten/weisen Sprüchen.

noqqe@zwetschge:~$ apt-get install fortunes-de
noqqe@zwetschge:~$ fortune
Alle Kinder lutschen am Daumen. Außer Ulla. Die hat ‘n Schnulla.
noqqe@zwetschge:~$ fortune
Ein Physiker, ein Mathematiker und ein Windows-Programmierer fahren in
einem Auto, als dieses plötzlich der Geist aufgibt. Der Physiker
schlägt vor, mal das Benzin zu kontrollieren. Der Mathematiker sagt,
er verstehe nicht viel von Autos, aber man solle mal das Kühlwasser
überprüfen. Der Windows-Programmierer meint, er würde zuerst alle
Fenster schließen, aussteigen, erneut einsteigen und dann alle
Fenster wieder öffnen.
noqqe@zwetschge:~$ fortune
Schlanke sind nur zu doof zum Essen.
noqqe@zwetschge:~$ fortune
Stilblüten aus Schreiben von Versicherungsnehmern:
Ihre Argumente sind wirklich schwach. Für solche faulen Ausreden
müssen Sie sich einen Dümmeren suchen, aber den werden Sie kaum
finden.