Archiv für die Kategorie 'Linux'

eclipse/Aptana stürzt unter KDE 4.7 ab

Folgender Fehler erscheint in der Konsole nach dem Start sofern der Aufruf über die Konsole erfolgt:

*** glibc detected *** /usr/bin/java: free(): invalid pointer: 0x0000000004690d20 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x74c06)[0x7fd4ddc15c06]
/usr/lib64/jvm/java-1.7.0-sun-1.7.0/jre/lib/amd64/server/libjvm.so(+0x43f8d5)[0x7fd4dd4ad8d5]
/home/svewap/opt/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/223/1/.cp/libswt-pi-gtk-3659.so(Java_org_eclipse_swt_internal_gtk_OS__1g_1data_1input_1stream_1read_1line+0xe7)[0x7fd4d08c6d04]
[0x7fd4d93bbca8]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:02 422141                             /usr/lib64/jvm/java-1.7.0-sun-1.7.0/jre/bin/java
00600000-00601000 rw-p 00000000 08:02 422141                             /usr/lib64/jvm/java-1.7.0-sun-1.7.0/jre/bin/java
00601000-0504d000 rw-p 00000000 00:00 0                                  [heap]
a0000000-b0000000 rw-p 00000000 00:00 0

Lösung

Folgende Anweisung muss immer vor dem Start ausgeführt werden:

unset MALLOC_CHECK_

Das kann man bei Aptana beispielsweise erreichen, wenn man diese Anweisung in die “studio” bash script Datei hineinschreibt.

Replace with regular expressions in kwrite

Example:

02763 Zittau

Find what: ([0-9]{5})(\ )
Replace with: \1;
Result:  02763;Zittau

Xen: Nachträglich zusätzliche IP einer DomU zuweisen

Folgendes in die Konsole eingeben:

route add <ipadresse> dev vif<nummer>

Samsung Galaxy I7500 unter Linux als Modem benutzen (Tethering)

Leider funktioniert dies zur Zeit nur via wvdial und nicht mit dem knetworkmanager.

Meine samsung.conf sieht folgendermaßen aus:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 +FCLASS=0
Modem Type = USB Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyACM0
Username = surfo2
Password = o2
#Baud = 460800
Baud = 921600
DialCommand = ATDT
FlowControl = NOFLOW
Stupid Mode = 1
Init3 = AT+CGDCONT=1,"IP","surf02"

Da Linux den Modem schon mal unter /dev/ttyACM0 und /dev/ttyACM1 mounted, könnte es praktisch sein, 2 oder mehr Konfigurationsdateien anzulegen, in denen jeweils unterschiedliche Pfade stehen. Das spart Zeit.

Man sollte nicht vergessen unter YAST, sofern man OpenSUSE verwendet, die Netzwerkeinstellungen auf die traditionelle Art per ifup umzustellen, da sonst das ip routing nicht umgestellt werden kann.

Die samsung.conf irgendwo speichern, Handy im vollen Betriebsmodus per USB Kabel an den Laptop anschließen und per Konsole

wvdial --config samsung.conf

aufrufen. Es sollte dann folgendes erscheinen. Eventuell könnte es bei der Abfrage der IP-Adresse ein wenig dauern. Sollte der Modem keine IP liefern, könnte in Neustart des Rechners das Problem lösen.

Wichtig: Das Handy muss frisch angeschlossen werden! Das heißt, sollte der Verbindungsaufbau nicht klappen oder zusammenbrechen, das Handy vom PC trennen und neu anschließen.

wvdial --config samsung.conf
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 +FCLASS=0
atq0 v1 e1 +fclass=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet"
at+cgdcont=1,"ip","internet"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
atdt*99#
CONNECT 115200
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sat May 15 17:57:34 2010
--> Pid of pppd: 24016
--> Using interface ppp0
--> local  IP address 10.169.249.131
--> remote IP address 10.64.64.64
--> primary   DNS address 193.189.244.225
--> secondary DNS address 193.189.244.206
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect

Foto-PDFs mit ImageMagick verkleinern

Wenn man ein PDF, das aus einer Aneinanderreihung von Bildern besteht, verkleinern möchte, geht dies nur, indem man die Qualität der Bilder verringert. Man muss natürlich einen geeigneten Grad finden, der den Betrachter noch zufrieden stellt aber das Ziel erfüllt.

Folgendes bash script in ein Verzeichnis mit der PDF-Datei speichern, die Parameter den Wünschen nach anpassen und ausführen. Ein bisschen Basteln ist angesagt.

#!/bin/sh

for file in `ls *.pdf`; do
 convert -density 400 -colorspace RGB $file -resize 1000 `echo $file | sed 's/\.pdf$/\.jpg/'`
 convert `echo $file | sed 's/\.pdf$/\*.jpg/'` `echo $file | sed 's/\.pdf$/\-new.pdf/'`
done

eclipse auf 64bit linux

Da es unter 64bit immer noch zu Problemen, unter anderem von grafischen Fehlern, mit eclipse kommt, betreibe ich eclipse immer noch unter 32bit auf dem System. Dazu sind nur wenige Handgriffe nötig:

  • Installation einer Java 32 bit Version parallel zur 64 bit Version. Dies ist kein Problem, da man unter OpenSuSE beispielsweise die Sun-Version und eine OpenSource Version parallel installieren kann.
  • eclipse 32 bit herunterladen
  • Das folgende Startskript im Ordner der eclipse-Installation erzeugen und zum Starten von eclipse jedes Mal aufrufen


#!/bin/sh
JAVA_HOME="/usr/lib/jvm"
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
exec ./eclipse

Der Pfad sollte natürlich angepasst werden.

Canon PIXMA MX850 unter OpenSuSE

Da CUPS über keine Treiber für das Canon PIXMA MX850 Multifunktionsgerät verfügt, kann man den Drucker über den Treiber des ip5300 betreiben. Bei der Installation unter YAST den Treiber einfach manuell auswählen und fertig.

pulseaudio: High-priority scheduling enabled in configuration but not allowed by policy.

pulseaudio[4914]: main.c: High-priority scheduling enabled in configuration but not allowed by policy.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-source” (argument: “device_id=0 source_name=alsa_input.pci_8086_293e_sound_card_0_alsa_capture_0 tsched=1″): initialization failed.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-sink” (argument: “device_id=0 sink_name=alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0 tsched=1″): initialization failed.
pulseaudio[4970]: pid.c: Daemon already running.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-sink” (argument: “device_id=0 sink_name=alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0 tsched=1″): initialization failed.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-source” (argument: “device_id=0 source_name=alsa_input.pci_8086_293e_sound_card_0_alsa_capture_0 tsched=1″): initialization failed.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-sink” (argument: “device_id=0 sink_name=alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0 tsched=1″): initialization failed.
pulseaudio[4912]: alsa-util.c: Error opening PCM device hw:0: Keine Berechtigung
pulseaudio[4912]: module.c: Failed to load module “module-alsa-source” (argument: “device_id=0 source_name=alsa_input.pci_8086_293e_sound_card_0_alsa_capture_0 tsched=1″): initialization failed.

Die Lösung des Problems

Der User muss der Gruppe “Audio” angehören. Eventuell den Gruppen “pulse*” zudem.