Kategorie-Archiv: Linux

Inkscape öffnet CorelDraw Dateien

Ich war gerade etwas verwundert. Beim Suchen von etwas älteren Dateien hat Inkscape auch .cdr Dateien (Corel Draw Format) aufgelistet. Diese lassen sich Problemlos öffnen. Das dies jetzt funktioniert war mir neu.

Der Inkscape Vektor Illustrator ist Open Source Software und hat bei mir Corel Draw, z.B. für das Design von Werbeanzeigen, Logos und Websites, mittlerweile vollständig verdrängt.

Festplattenaktivität kontrollieren

Manchmal reagiert der Computer sehr langsam und man fragt sich wieso. Meistens schaut man dann in top oder gnome-system-monitor nach, welche Prozesse die CPU gerade am meisten belasten. Es kann aber auch sein, dass gerade ein Programm die Festplatte stark belastet und deshalb alle anderen Programme ausbremst.

Nun habe ich endlich herausgefunden, wie man in solchen Fällen den Übeltäter finden kann:  „atop“ ist ähnlich wie „top“, hat jedoch deutlich mehr funktionen. Unter anderem kann man mit der Taste „D“  die Prozessliste nach Festplattenaktivität sortieren lassen – genau das, was wir brauchen.

Außerdem interessant ist übrigens „ionice“ mit dem man die IO-Priorität (also die Priorität für Festplattenzugriffe) setzen kann. Somit kann man z.B. im Hintergrund ein Backup machen oder riesige Kopieraktionen starten und trotzdem noch normal weiterarbeiten.

EDIT:  Der Link im Kommentar von Stephan hat sehr gute weiterführende Infos zum Finden von Prozessen welche die Festplatte „lahmlegen“.

Beispiele:


sudo aptitude install sysstat
pidstat `pgrep verdächtigerProzess`
iostat

Abhängigkeiten beim Selbstkomplieren

Kurzer Tipp: Wenn man unter Ubuntu eine Software mit configure / make kompilieren will und der configure Aufruf Pakete vermisst, was sich z.B. in Meldungen wie:

No package ‚gtk+-2.0‘ found
No package ‚gdk-2.0‘ found
No package ‚gconf-2.0‘ found

äußert, dann kann man die entsprechenden Debian bzw. Ubuntu  Pakete ganz leicht identifizieren, in dem Namen den Package Name nimmt, „.pc“ anhängt und das in der Ubuntu Paketsuche bei „Search the contents of packages“ eingibt. Einen  analogen Service gibt es auch für Debian. Die suche gibt dann die Namen der entsprechenden -dev Pakete aus. Im obigen Fall (Abhängigkeiten für tangogps) wären das die Pakete libgtk2.0-dev und libgconf2-dev

Eigentlich sollten beim folgenden „make“ Aufruf dann garkeine Fehler mehr auftreten, dachte ich. Falls doch z.B. includes nicht gefunden werden:

geo_photos.c:14:21: error: sqlite3.h: No such file or directory

dann kann man auch wunderbar nach dieser Datei (/usr/include/sqlite3.h) suchen.

APTonCD HowTo

The Linux system is highly modular: When installing a software, most of the time, some other libraries or software packages are needed. That’s why most Linux distributions use a package manager (for example APT) to make software installation easy. Usually, the user only selects the program she or he wants and everything is downloaded and installed automatically. Problems arise, when we try to install software on a computer that does not have a good internet connection: Here this automatic downloading cannot take place and we have to find a way to download all needed packages somewhere else and supply them to this computer.

APTonCD is a Tool to create a Package-CD for APT based Linux Distributions. It uses the cached installation files in /var/cache/apt/archives and create a .iso CD/DVD image. The disk is automatically recognized when inserted in a Ubuntu system and offers an easy way to provide computers without or with a slow internet connection with updates and/or addionall software.

The challenge is now, to fill the cache directory with all needed files. When installating a Ubuntu system, it does automatically an upgrade from the internet. These files, for example, are not stored in the apt-archive. Addionally, sometimes /var/cache/apt/archives could be cleared to gain diskspace. All this problems have to be avoided.

That’s why we should use a master-system when supplying offline systems with update CDs.

We can use SUN VirtualBox to create a virtual machine for this purpose – but of cause also a real system can be used.

  1. make sure, to disconnect the system (VirtualBox: deacitvate Network, otherwise: unplug cables) [not sure]
  2. for VirtualBox: make sure, to have enough free diskspace (> 5 GB) is using the DVD version
  3. install Ubuntu (same version as used on the offline computers)
  4. choose same language
  5. optional: replace sources.list by a one which uses an apt-cacher server – if available in your comany’s network
  6. optional: add addionall sources
  7. run „aptitude update“
  8. run „aptitude upgrade“
  9. install add addional software – aptitude -d install could be used, which will only download the packages
  10. install aptoncd package
  11. create CD/DVD
  12. insert in the offline computer, Ubuntu will automatically use the disk
  13. install packages files / metapackage created by aptoncd

Okular

Im Februar hatte ich verzweifelt eine Software zum Kommentieren von PDFs und zum setzen von Lesezeichen gesucht:

Der Dokumentenbetrachter von KDE4 – Okular – erfüllt das ziemlich genau!

Unter Ubuntu 8.04 kann man ihn per „aptitude install kde4-okular“ installieren und dann mit /usr/lib/kde4/bin/okular

Kommentare und Bookmarks werden momentan intern von Okular gespeichert und  dem Dateinamen zugeordnet. Wenn man eine PDF Datei z.B. umbenennt, sind diese Dinge nicht mehr sichtbar. Ich weiß nicht, ob es schon möglich ist, diese Anmerkungen auch im PDF zum verschicken zu speichern.

Bash Scripting: Abbrechen bei Fehlern

Bash Scripts sind ne tolle Sache. Leider können Sie schnell ein Eigenleben entwickeln: Wenn ein Befehl schief läuft, wird der nächste ausgeführt. Falls die Befehle dann noch relativ viele Ausgaben produzieren, bekommt man vermutlich garnicht mal mit, dass etwas schiefgelaufen ist.

Abhilfe schafft der Modus „-e“. Schreibt man zu Beginn des Scriptes „set -e, so wird der Script abgebrochen, sobald einer der Befehle einen anderen Code als 0 (true) zurück liefert. Das ist wesentlich einfacher, als bei jedem Befehl manuell über die Variable $? den Rückgabewert des zuletzt aufgerufenen Befehls abzufragen.

GPS logger und Panoramio

Mein bei eBay ersteigerter GPS Logger (ca. 35 EUR) ist gestern angekommen. Dank des bt747 Projektes ist dieser auch unter Linux wunderbar einsetzbar. Das Gerät hat etwa die Größe einer Zigarettenschachtel und kann Positionsdaten samt Uhrzeit aufzeichnen und später zum PC übertragen. Die bt747 Software kann direkt .kml-Dateien erstellen die man dann wunderbar in Google Earth laden kann.

Eine freie Software um Bildern anhand der Uhrzeit automatisch die GPS Daten zuzuordnen, habe ich bisher noch nicht gefunden. Trotzdem habe ich mich mal auf Panoramio angemeldet und damit begonnen ein paar alte Fotos geographisch zu positionieren.

Likewise Open Source Software

Likewise produziert Software um Windows / Linux Integration zu Vereinfachen. Teilweise Open Source.

Hier ein paar Interessante Links:

http://www.likewisesoftware.com/products/likewise_open/

http://likewiseopenagt.sourceforge.net/

at

at ist ein toller Befehl.

Cron ist unter Linux dafür zuständig, aufgaben – meist wiederkehrende – zu bestimmten Zeitpunkten auszuführen. At arbeitet mit cron zusammen und dient dazu, quasi AdHoc cron-Jobs anzulegen.

Will man z.B. heute Abend um acht Uhr automatisch seinen Computer herunterfahren lassen, könnte man (als root) folgendes eingeben:

/root/myfolder# at 8pm
warning: commands will be executed using /bin/sh
at> halt

(nun Strg+D drücken)

Da durch wird unter /var/spool/cron/atjobs eine Datei erzeugt die z.B. folgenden Inhalt hat:

#!/bin/sh
# atrun uid=0 gid=1003
# mail root 0
umask 22
USER=root; export USER
MAIL=/var/mail/root; export MAIL
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; export PATH
PWD=/var/spool/cron/atjobs; export PWD
LANG=en_US.UTF-8; export LANG
PS1=\\h:\\w\\\$\ ; export PS1
SHLVL=1; export SHLVL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
OLDPWD=/root; export OLDPWD
cd /root/myfolder || {
echo 'Execution directory inaccessible' >&2
exit 1
}
halt

Wie man sieht, werden auch aktuelle Umgebungsvariablen beim anlegen des at-Jobs sowie das aktuelle Verzeichnis gespeichert und bei der verzögerten Ausführung des Befehls wiederhergestellt.

Die Angabe des Ausführungszeit für at ist so ausgelegt, dass man sie relativ leicht erlernen kann. Wenn sie auch zuerst etwas gewöhnungsbedürftig ist.

Konkrete Anwendung: Da hier die Internetverbindung sehr langsam ist, sind Downloads nur nachts möglich.

Dazu habe ich zuerst mit „at 8pm“ den Befehl wget eingerichtet um den Download abends zu starten. Außerdem habe ich mit „at 8 am + 1 day“ den Befehl „killall wget“ geplant, um bei Betriebsbeginn alle Downloads zu beenden, falls der Download über Nacht nicht beendet werden konnte.

UPDATE (danke an Bernd) : Obwohl der Pfad /var/spool/cron/atjobs dannach aussieht, als würde at cron-Jobs anlegen, so ist doch der Daemon „atd“ für die Ausführung zuständig. Hatte ich übersehen.

Texlipse

Rechtschreibprüfung in Texlipse

Auf der Suche nach einem guten LaTeX-Editor welcher unter Linux lauffähig ist, bin ich vor einiger Zeit auf das Eclipse Plugin TeXlipse gestoßen. Seit kurzer Zeit benutze ich das auch wieder intensiv. Beim kopieren und einfügen scheint zwar manchmal ein Bug aufzutreten, den ich noch nicht näher einordnen konnte, ansonsten entdeckt man aber ständig neue, praktische Features.

Beispielsweise kann über Shift+Ctrl+6 (im Menü LaTeX: Check Spelling) die Rechtschreibprüfung aspell aufgerufen werden. Falsche Wörter werden dann unterstrichen. Mit Strg+Leertaste kann man dann die Korrekturvorschläge abrufen oder neue Wörter dem Wöterbuch hinzufügen.