command line - Schnipsel

Sunday, April 15. 2012

Kleinigkeiten, die ich immer wieder nachsuchen muss: 

Recursively rename all files containing "dings" into "bums"
for i in `find .` ; do mv $i `echo $i | sed 's/dings/bums/'` ; done 

Recursively list all files '.forward' containing string 'bin'
find -type f -name '.forward' -exec grep -H -n 'bin' {} \;

in eine Logdatei protokollieren, was ein Programm so treibt:
strace -e trace=open -o logfile.log ./xyz

umount /dev/sdc1 scheitert, weil irgendeine Datei offen ist, wer hat sie?  
fuser -m /dev/sdc1

Recursively chmod only directories
find . -type d -exec chmod 755 {} \;

Recursively chmod only files
find . -type f -exec chmod 644 {} \;

Recursively chmod only files with extension .php
find . -type f -name '*.php' -exec chmod 644 {} \;

Recursively find all files > some size
find . -type f -size +10000000k -exec ls -lh {} \;

Recursively find all files > some size named like something and delete
find . -type f -size +100000k -name access.log -exec rm -i {} \;

Password generator
openssl rand -base64 32|head -c 12;echo 

View the contents of a certificate signing request (csr)
openssl req -text -noout -in host.csr
 
View x509 certificate details
openssl x509 -in filename.crt -noout -text 
 
View the fingerprint to verify ssh goes to the right machine directly
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

alle an einem best Datum geaenderten Dateien auflisten:
ls -AlturR --time-style=long-iso  | grep ^.*2004\-03\-19.2.* >/home/dp/katalog_040319_2x:xx:xx.txt 

Haeufigkeit bestimmter Eintraege in messages nach Tagen sortiert ausgeben
grep DPT=1434 /var/log/messages >/var/log/SQL.slammer.txt
for i in 24 25 26 27 28; do j=`grep Jan\ $i SQL.slammer.txt -c`;echo $i, $j;done

user passwd fuer geschuetztes web-verzeichnis mit .htaccess anlegen
htpasswd -b /usr/local/httpd/.htpasswd user pass 

haessliches XML lesbar formatieren
xmllint –format ugly.xml –output pretty.xml

 

KDE clipboard history aus cli löschen
qdbus org.kde.klipper /klipper clearClipboardHistory

 

 

 

 

 

KDE 4.7 Entdeckungen

Monday, March 19. 2012

wheezy hat mir gestern ein riesiges update eingespielt und KDE ist von 4.6.5 auf 4.7.4 aktualisiert worden. Ein paar Beobachtungen und Entdeckungen:

Klipper hat hat im Menü einen Eintrag "Show Barcode", der mir nie vorher aufgefallen war. Klickt man drauf, bekommt man ein kleines Fenster mit dem titel "Mobile Barcode" und zwei versch Barcode-Anzeigen, die linke davon QR-Code. Was das?
Damit kann man mit drei Handgriffen kurze Texte vom Rechner auf das Smartphone befördern:

  • Textstelle auf dem Rechner selektieren oder sonstwie in die Zwischenablage befördern
  • Klick auf die Schere, Show Barcode
  • Codes im Fenster auf dem Android mit zB. Goggles knipsen

Goggles zeigt den Text direkt an, Standardoptionen sind Übersetzen und Kopieren und dazu erscheint gleich noch eine Liste mit Google-Suchergebnissen dazu. Ziemlich cool.

Durch Ausprobieren komme ich auf eine maximale Textlänge von 1656 Zeichen, wird die überschritten, bleibt das Barcode-Fenster dann leer. Ulkig, wie nun ausgerechnet dies Limit zu Stande kommt? 0678h

Activities bzw der Activities-Manager drängelt sich mit rot-blau-grünem Pünktchen-Logo links unten auf die Taskbar, noch vor den Application Launcher aka Start-Button. Das hat etwas pädagogisch-aufdringliches und geht sowas von gar nicht, zum Glück lässt es sich fix entfernen. Activities sind bei mir ein Luxus-Überzug der virtuellen Desktops, die Einstellung hiess "Different widgets for each desktop". Als solcher liefern sie mir, was mir an den Dektops immer gefehlt hat, nämlich je Desktop eigene Ablage für Programm-Links und Dokumente (statt die in einem Desktop abgelegten Sachen dann auch in allen anderen angezeigt zu bekommen.)

Strigi hatte ich unter KDE 4.4 deaktiviert, da er endlos und immer von neuem wieder zu indizieren schien und sehr viel Platz beanspruchte. Gestern habe ich ihn probehalber wieder reaktiviert, er indizierte Stunden und ich fand ihn am nächsten Morgen suspended vor. Jetzt indiziert er wieder, frisst 588 MB für 70k Dateien, mal abwarten... Tage später, 2 gib für 220k Dateien und er ist immer noch nicht durch, habe ich ihn erstmal wieder suspended. Wirklich fix ist er nicht gerade.
In dem Zusammenhang, wenn virtuoso-t so ca. 97% der cpu verbraet: virtuoso gone crazy

KWin - The KDE Crash Handler. Ich habe also testweise mal den Blur-Effekt aktiviert und auf dem Advanced-Reiter der SystemSettings/Workspace Appearance/Desktop Effects den Haken bei Enable direct rendering herausgenommen. Apply, Pling, KWin crasht. Mit Enable direct rendering scheint Blur aber zu funktionieren.

Mauszeiger - beim Neustart sehe ich, dass das eingestellte Cursor Theme jetzt auch im Login-Fenster benutzt ist. Fein.

KDE Daemon - der meldet sich jetzt mit Kwallet-Anfragen nach jedem Login, offenbar, weil etwas in KDE versucht, zwei LUKS / dm-crypt - verschlüsselte Festplatten zu mounten. Was ganz unerwünscht und unnötig ist, denn die beiden Platten sind da schon eingebunden und KDEs Hardwaretester solid weiss das auch:
solid-hardware list details (was eine lange und ausführliche Liste der erkannten Hardware ausgibt) führt die beiden Platten als 

StorageVolume.usage = 'Encrypted'  (0x5)  (enum)
StorageVolume.fsType = 'crypto_LUKS'  (string)
und kennt auch ihren mount point. Da forsche ich noch...
 
Diese Config-datei könnte relevant sein: 
/.kde/share/config/kded_device_automounterrc
 
Da war ich schon dicht dran, letztlich gebracht hat es, in System Settings/Hardware/Removable Devices den Haken vor "Mount all removable media at login" wegzunehmen. Warum auch eine interne Platte da als removable behandelt wird, leuchtet mir nicht ein, aber ich bin erstmal zufrieden, die Klickerei los zu sein.
 
KDE debug - Meldungen steuert /usr/bin/kdebugdialog
output geht nach ~/.xsession-errors
 
akonadiserver - in der .xsession-errors fanden sich viele Hinweise, dass akonadiserver nicht gestartet werden konnte. Das Programm akonadictl [start|stop|status|restart] gab entsprechende Fehlermeldungen. Letztlich half:
mv ~/.local/share/akonadi ~/.local/share/akonadi_weg
und mit dem nächsten Start von KDE initialisierte sich der akonadiserver korrekt und startet auch. Mehr zu akonadi gibt es hier und hier.

Dolphin: Copy file path to klipper

Monday, February 20. 2012

On windows I used to like the Windows Explorer as a file manager, at least in the shape it had with w2k. And there has been  toy pack by Microsoft which, among other more or less useful add ons, allowed me to add an "send to clipboard" entry to the context menue of any file which would push the file's path into the clipboard and thus helped me to avoid typing it. I missed it ever since I changed to linux/KDE as my desktop environment. Yes, you can get the folder path but that's not all I wanted.

However I found hob to fix this and add such an entry to the dolphin file manaer's context menue, and it was easy, too.

The thing that needs to be added is called a ServiceMenu in KDE jargon, I let locate find me where those sort of files live on my system and it returned a number of them at /usr/share/kde4/services/ServiceMenus/. I assume there are other folders you could put them , i.e. below ~/.kde/, but I was in a hurry and just got root to create /usr/share/kde4/services/ServiceMenus/sendPathToClipboard.desktop The name is not important as long as it is unique and ends in .desktop.

Opened it in an editor and this is what I put there:

[Desktop Entry]

Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/octet-stream
Actions=sendToClipboard
 
[Desktop Action sendToClipboard]
Name=send Path to Clipboard
Exec=qdbus org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents %u
Icon=klipper
 
Save it, open dolphin, right click on some file and in the Actions submenu appears a new entry. With a fancy klipper icon athe the start of the line - I just guessed that part of the .desktop file and it worked immediately.
Some infos to this are here (though related to KDE3 so it didnt work  as dcop isn't used in KDE4 and here (dcop has been replaced by qdbus with KDE4)

 

 

(Page 1 of 1, totaling 3 entries)