ext4 Volume mit SliTaz 3.0(stable) mounten

Posted on 29. Februar 2012 Comments

Entweder von pkgs.slitaz.org die Pakete runterladen oder mit tazpkg über die Repositories das Paket linux-ext4 installieren. Dann sollte entweder sofort oder nach modprobe ext4 der mount Befehl funktionieren:

mount -t ext4 /dev/sda1 /mnt/harddisk

Wenn man das permanent haben möchte(z.B. Festplatteninstallation oder eigene Live-CD), natürlich wie gehabt ext4 in /etc/rcS.conf einfügen, bei mir z.B.:

[...]
LOAD_MODULES = "e1000 ext4"
[...]

Credits to mojo at vanilla.slitaz.org

Standarddrucker abhaengig vom Standort setzen

Posted on 24. Februar 2012 Comments

Auf der Arbeit sind die PCs fortlaufend beschriftet und die letzten 3 Zeichen ist der Raum, also z.B. PC22-123 ist der 22. PC in Raum 123. Die Räume sind dabei IMMER dreistellig, d.h. in Raum 42 wäre der Raum 042.

Mit einem kleinen Perlskript im Autostart bekommt man seinen gewünschten Drucker anhand des Hostnames:

use Sys::Hostname;
$host = hostname;
chomp($host);
$raumnr=substr($host,length($host)-3,length($host)-1);
print "Host: " . $host . "\n";
print "RaumNr: " . $raumnr . "\n";

if ($raumnr == 123) {
  system('rundll32 printui.dll,PrintUIEntry /y /n "Drucker_Raum_123"');
}
elsif (...)
else {
   print "Computername nicht im richtigen Format";
}

Den Hostname bekommt man vom System über sys::hostname. chomp() entfernt eventuelle newline characters. Mittels substr() bekommt man einen Teilstring zurück, der von der Länge-3 bis Länge -1 geht, also genau die letzten 3 Buchstaben bzw. Zahlen. Hier hat man dann die Raumnummer. Anhand derer wird mit der rundll ein Standarddrucker gesetzt(/y) der in Anführungszeichen hinter /n steht. Damit sich die Anführungszeichen nicht in die Quere kommen, nimmt man für den system() Befehl die einstelligen Hochkommata.

Weitere Schluesselworte fuer Thunderbird Anhang-Erinnerung unter Linux

Posted on 23. Februar 2012 Comments

Wenn man bei Thunderbird in einer neuen E-Mail z.B. das Schlüsselwort Anhang erwähnt, es aber keinen Anhang gibt bekommt man beim Abschicken eine Warnung, ob man nicht vergessen hat die Dateien anzufügen. Neulich habe ich eine formelle E-Mail geschrieben, in der ich schrieb „anbei finden Sie Datei xyz“. Leider ist anbei keines dieser Schlüsselwörter und so habe ich leider den Anhang vergessen. Damit das nicht nochmal passiert habe ich aus dem Konfigurationseditor* mal die Schlüsselwörter rausgesucht. Der Key heisst mail.compose.attachment_reminder_keywords und die Wörter werden mit Kommata getrennt. Unter Windows findet sich das wohl bequemer unter Extras/Einstellungen/Allgemein/Schlüsselwörter, der Konfigurationseditor funktioniert natürlich trotzdem.

* das, was bei Firefox about:config ist findet man bei Thunderbird unter Bearbeiten(Linux) bzw. Extras(Windows)/Einstellungen/Erweitert/Allgemein/Konfiguration bearbeiten

MAC-Adresse per Skript aus ifconfig

Posted on 9. Februar 2012 Comments

Soweit ich weiß, gibt es unter Linux keinen Befehl oder eine Datei in der die MAC-Adresse steht, nur ifconfig. Für die weitere Verwendung ist das natürlich unpraktisch und so habe ich hier eben ein bisschen was mit grep und regular expressions zusammengeskriptet/kopiert:

#!/bin/bash
ifconfig |grep $1 | grep -m 1 -Eo '[[:alnum:]][[:alnum:]](:[[:alnum:]][[:alnum:]]){5}'

Das am besten unter der Datei grepMacAdr speichern, noch schnell mit

chhmod +x  grepMacAdr

ausführtbar machen, dann erfolgt der Aufruf mit

./grepMacAdr eth0

eth0 ist hier das Netzwerkgerät. Wenn das bekannt ist kann auch direkt im Skript $1(=erster Parameter) durch die entsprechende Bezeichnung geändert werden.

Zur Erklärung: ifconfig ruft den Befehl auf, der alle Netzwerkgeräte samt Konfiguration ausgibt, von denen schneidet das Tool grep nur den Abschnitt heraus, der das übergebene Netzwerkgerät behandelt(bzw. die erste Zeile, da steht die MAC-Adresse im allgemeinen) und davon wiederrum wird mit einer Regular Expression(-E) dann nach dem Muster XX:XX:XX:XX:XX gesucht. Falls, was mit dem ersten grep falsch gelaufen ist, wird nur das erste ausgeben(-m 1). Ausgegeben wird dabei nur der Teil, der das Muster einhält, nicht die ganze Zeile(-o)

Ihr findet das Skript auch als fertige Datei hier.

Mit acp_commander root Zugriff auf Buffalo TeraStation Pro

Posted on 9. Februar 2012 Comments

Bei der Arbeit haben wir eine TeraStation Pro II und eine TeraStation Live. Dort kommt man leider nur per Web-Interface drauf, wir brauchten aber root haben also hab ich mich mal umgeguckt. Man kann natürlich die Firmware flashen, aber es geht auch noch einfacher. Mit dem Tool acp_commander und ein paar Linux-Befehlen kann man sich ebenfalls root Zugriff verschaffen.

Bei der TeraStation Live klappte folgendes:

java -jar acp_commander -t IPADRESSE -o

Vorrausgesetzt ist natürlich eine funktioniernde Java Installation. Wenn das unter Windows geschieht, muss das bin-Verzechnis der Java Installation im PATH sein(war bei mir nicht standardmässig der Fall). Für IPADRESSE ist die IP-Adresse des Geräts einzusetzen(wird evtl. auf Display angezeigt).

Wenn man folgende Meldung bekommt, sollte man der TeraStation eine statische IP geben, dem PC ebenfalls und die dann einfach direkt verbinden, denn irgendwas ist in den Router/W-LAN Einstellungen nicht in Ordnung bzw. zu restriktiv:

A SocketTimeoutException usually indicates bad firewall settings.
Check especially for *UDP* port 22936 and make sure that the connection to your LS is working.
ERROR: Exception: SocketTimeoutException (Receive timed out) [ACP Send/Receive (Packet:8020 = ACP_Discover)]

Wenn alles geklappt hat, kann man sich mit root und keinem Passwort über telnet anmelden:

telnet -l root IPADRESSE

oder über putty(telnet auswählen, Standard ist natürlich SSH). Jetzt kann man SSH nach belieben in /etc/sshd_config konfigurieren und dann mit /etc/init.d/ssh restart neustarten.

Die andere Kiste war nicht ganz so einfach zu öffnen, hier braucht man ein paar Linux-Befehle:

Setzen eines neuen root Passworts:

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "(echo ADMINPASS;echo ADMINPASS)|passwd"

Schaltet die Authentifizierung über PAM via SSH wieder an:

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS  -c "sed -i 's/UsePAM yes/UsePAM no/g' /etc/sshd_config"

Einstellung in der /etc/sshd_config, dass sich auch root direkt anmelden kann und nicht über su ein User zum root wird(gibt es unter busybox wohl nicht):

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/sshd_config"

Zu guter Letzt: SSH Server neu starten

java -jar acp_commander.jar -t IPADRESSE -ip IPADRESSE -pw ADMINPASS -c "/etc/init.d/sshd.sh restart"

Für ADMINPASS ist jeweils das Administratorpassowort einzusetzen und für IPADRESSE die IP-Adresse(s.o.). Auch hier muss der UDP Port frei sein, also am besten direkt über statische IPs mit nem Kabel von Computer zu TeraStation verbinden.

Man findet sonst auch noch interessante Informationen auf cpradio.org.

Credits to BigDiver und eine andere Quelle, die ich gerade nicht mehr wiederfinde.

Beste Podcast App fuer Android

Posted on 26. September 2011 Comments

Ich habe mir einige angeschaut und bin von Podkicker restlos begeistert. Wüsste nichts, was die hätten besser machen können.

qrcode

Features:

  • Verwaltung und Hinzufügen von Podcast-Feed via URL oder Empfehlungen
  • Neue Podcasts werden in einer Liste/Tab angezeigt, unabhängig vom Feed, auch automatische nach einer bestimmten Zeit
  • Integrierter Player, der sich merkt, wo man zuletzt war(-> kein nerviges Suchen mehr)
  • Download und von dort aus Hinzufügen in die Playlist
  • Löschen oder aus der Playlist nehmen, wenn der Podcast fertig gehört ist
  • Abspeichern/Laden von abonnierten Podcasts im OPML-Standard
  • RSS und Atom

 

update: inzwischen habe ich mir wegen der flattr-Unterstützung die Pro-Version gekauft. Mit Android 2.2 funktioniert das aber leider nicht wegen irgendwelchen Zertifikaten. Da werd ich nochmal nachforschen. Dafür spielt der Podcast weiter, wenn man den Stecker rausgezogen hat und ihn dann wieder reinsteckt, sehr praktisch!

update2: da nach einer Weile die flattr Unterstützung aufgrund API Änderungen auch bei Podkicker Pro unter Android 4.4 kaputt war, habe ich zu AntennaPod gewechselt, die inzwischen eine sehr brauchbare und schlichte Oberfläche erstellt haben. Es gibt außerdem ebenfalls eine flattr Unterstützung und es ist Open Source.

Arduino Uno mit Ubuntu 10.04 (Lucid Lynx)

Posted on 14. September 2011 Comments

Das Lucid Paket 0018 für Arduino von Ubuntu ist hoffnungslos veraltet, in dem Menü, in dem man sein Board auswählt, kommt der Uno noch garnicht vor. Allerdings kann man einfach die Maverik Pakete runterladen:

sudo apt-get install libjna-java

Dann die Pakete runterladen:

Die Pakete installieren:

sudo dpkg -i *.deb

Voila, jetzt erscheint auch der Uno in der Liste. btw, auch die ppa-Pakete bringen nichts, dort ist die neuste Version 0018. Mehr Infos im Arduino Playground.

dd Statusanzeige

Posted on 12. September 2011 Comments

dd ist das Kommandozeilen Kopiertool von *nix-Betriebssystemen. Im Gegensatz zu den meisten Programmen, hat es aber keine Statusanzeige oder gar einen Statusbalken um den Fortschritt anzuzeigen, so dass man kontrollieren kann, ob sich das Programm nicht vielleicht aufgehängt hat.

Mit diesem Trick kann man aus dd dennoch zu einer Ausgabe zwingen:

  1. dd Kopiervorgang starten, z.B.:
    $ dd if=/dev/sdb of=/dev/sdc
  2. Neue Konsole öffnen
  3. PID vom dd-Prozess herausfinden:
    $ ps -A |grep dd

    Die Ausgabe könnte z.B. so aussehen:

    $ 4905 pts/0   00:00:00 dd
  4. Statusreport-Signal an dd senden(PIDist die Nummer die Schritt 3. ergeben hat, z.B. 4095):
    $ kill -USR1 PID
  5. In der Konsole aus der ddgestartet wurde müsste jetzt eine Ausgabe kommen, z.B.
    75273+0 Datensätze ein
    75273+0 Datensätze aus
    38539264 Bytes (39 MB) kopiert, 27,4718 s, 1,4 MB/s

 

Ausserdem gibt es noch ein grafisches Tool für dd: air-imager

Credits to jma89 and h4shBrpwnz at linuxquestions.org

//update:
Das kleine Programm pipe viewer(pv) tuts auch und man bekommt sogar noch Datenrate und Fortschrittsbalken. Einfach installieren:

$ sudo apt-get install pv

Und dann über den geraden Strich über den eckigen Klammern an den dd Befehl hängen:

$ dd if=/mnt/sdx of=/mnt/sdy | pv

Credits to Peteris Krumin for finding this.

 

//update2:

Manchmal klappt das so nicht, z.B. beim Raspberry Pi (interne SD Karte auf USB Stick(/dev/sda) sichern). Dort muss man das folgendermaßen machen:

sudo dd if=/dev/mmcblk0 | pv | sudo dd of=/dev/sda

Thanks to from urfix.com

Standarddrucker von anderen Benutzern aendern

Posted on 12. September 2011 Comments

Drucker von anderen Usern zu ändern ist ja garnicht mal das Problem, man muss sich halt nur bei jedem User einzeln anmelden und den Drucker per Hand umstellen. Per Skript gibt es 2 Möglichkeiten: über rundll32 oder über die Registry.

1. rundll32-Methode (Danke an daedalus von administrator.de)

rundll32 printui.dll,PrintUIEntry /y /n "Druckername"

Einfach diesen Befehl in eine Textdatei schreiben und als .bat speichern. Das /n ist der Parameter für den Namen, der danach folgen muss, das /y heisst, dieser Drucker soll als Standarddrucker gesetzt werden. Das ist meiner Meinung nach die einfacherere Methode. Wenn der Druckername keine Leerzeichen enthält, können die Anführungszeichen auch weggelassen werden.

2. Registry-Methode (Danke an Micheal von Windows FAQ)

Da ist natürlich noch viel umständlicher ist in der Registry rumzupulen als den Drucker mal eben anzuklicken, kann man ein .reg-Skript schreiben dass den folgenden Inhalt hat:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Sofrware\Microsoft\Windows NT\CurrentVersion\Windows]"Device"="Standarddrucker,winspool,lpt01:"

Dabei steht der erste Wert für den Druckernamen, winspool ist die dll die für das Drucken zuständig ist und dann der Anschluss, wobei LPT: für Lokale und Ne: für Netzwerkdrucker und Software Drucker(z.B. PDF Generator) verwendet wird.

Um jetzt vom Adminstrator aus die Drucker zu ändern, kann man per runas die eben genannten Skripte starten, s. auch

runas /?

Aufrufe:

runas /user:username "C:\pfad\rundllskript.bat"

bzw.

runas /user:username "C:\pfad\registryskript.reg"

Ein Problem ergibt sich, wenn der User kein Passwort hat, da runas standardmässig, ausser bei Windows 2000, keine leeren Passwörter akzeptiert. Wenn man allerdings den Registry-Eintrag LimitBlankPasswordUse im Ordner HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa aus 0 ändert, ist auch das kein Problem mehr.(Tip aus der c’t 1/06)