Auch wenn die meisten Webentwickler mit dem Internet Explorer aufgrund der unzureichenden Umsetzung der Standards und des katastrophalen Sicherheitsmodells auf Kriegsfuss stehen surfen im insbesonderen amerikanische Nutzer oft noch mit diesem Browser.
Neu entwickelte Webseiten müssen also auch noch mit diesen IE Versionen getestet werden. Dafür ist allerdings nicht zwangsläufig die Installation von Windows notwendig. Das Projekt IEs4Linux installiert die Versionen 5, 5.5 und 6 des Internet Explorers vollautomatisch unter Linux. Der kostenlose Programm Wine gaukelt dem IE Versionen dabei die richtige Systemumgebung vor.
Die Verfügbarkeit dieses Browsers ist nicht nur für Entwickler ein Segen. Auch wenn fremde Webseiten nur mit dem Internet Explorer funktionieren (ja solche gibt es immer noch) lässt sich der unter Linux laufende IE einsetzen. Allerdings sollte man sich überlegen, ob die Seite wirklich unverzichtbar ist und man nicht auch woanders, wo man Besucher und die Standards respektiert, fündig wird.
Darüber hinaus muss natürlich ein anständiger Browser her. Mein Favourit ist dabei Mozilla Firefox, dessen größter Vorteil eindeutig die zahllosen Plugins sind.
Donnerstag, 23. November 2006
Emuliert
Sonntag, 5. November 2006
Extrahiert
Wenn man Linuxhilfe benötigt, wird man oft dazu aufgefordert Konfigurationsdateien bei Services wie zum Beispiel pastebin oder nopaste zu hinterlegen. Viele machen es den Helfern aber unnötig schwer. Eingestreute Kommentar- und Leerzeilen verschlechtern die Übersichtlichkeit für den Profi. Daher sollte diese vorher entfernt werden:
Zum Vergleich meine vollständige /etc/rc.conf
Und die gekürzte Fassung
Versicht ist allerdings bei Shellscripten geboten, da die Shebang hierbei auch entfernt wird.
egrep -v '^[[:space:]]*$|^[[:space:]]*#' /path/to/file
Zum Vergleich meine vollständige /etc/rc.conf
# /etc/rc.conf: Global startup script configuration settings
# UNICODE specifies whether you want to have UNICODE support in the console.
# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and
# KEYMAP in the /etc/conf.d/consolefont and /etc/conf.d/keymaps config files.
UNICODE="no"
# Set EDITOR to your preferred editor.
# You may use something other than what is listed here.
#EDITOR="/bin/nano"
EDITOR="/usr/bin/vim"
#EDITOR="/usr/bin/emacs"
# XSESSION is a new variable to control what window manager to start
# default with X if run with xdm, startx or xinit. The default behavior
# is to look in /etc/X11/Sessions/ and run the script in matching the
# value that XSESSION is set to. The support scripts are smart enough to
# look in all bin directories if it cant find a match in /etc/X11/Sessions/,
# so setting it to "enlightenment" can also work. This is basically used
# as a way for the system admin to configure a default system wide WM,
# allthough it will work if the user export XSESSION in his .bash_profile, etc.
#
# NOTE: 1) this behaviour is overridden when a ~/.xinitrc exists, and startx
# is called.
# 2) even if ~/.xsession exists, if XSESSION can be resolved, it will
# be executed rather than ~/.xsession, else KDM breaks ...
#
# Defaults depending on what you install currently include:
#
# Gnome - will start gnome-session
# kde-<version> - will start startkde (look in /etc/X11/Sessions/)
# Xsession - will start a terminal and a few other nice apps
#XSESSION="Gnome"
XSESSION="kde-3.5"
Und die gekürzte Fassung
UNICODE="no"
EDITOR="/usr/bin/vim"
XSESSION="kde-3.5"
Versicht ist allerdings bei Shellscripten geboten, da die Shebang hierbei auch entfernt wird.
Freitag, 28. Juli 2006
Entkommen
In einer perfekten Welt wären Verbindungsprobleme nicht existent und Netzwerke würden immer funktionieren. Leider leben wir nicht in einer solchen und so muss man mit den Auswirkungen dieser Fehler klar kommen. Unterbricht eine SSH Verbindung weil die Gegenstelle nicht mehr reagiert (und auch keine ICMP Message schickt, die anzeigt, dass die Verbindung unterbrochen ist), so wartet der Client unter Umständen eine kleine Ewigkeit bis der Timeout zuschlägt und das Terminal wieder freigibt. Die übliche Abbruchmethode für Konsolenprogramme via CTRL+C funktioniert nicht, da der SSH Client dieses Tastenkombination einfach an den Server durchleitet. Das gleiche gilt für Telnet, dass auch oft benutzt wird um andere Dienste wie zum Beispiel HTTP oder POP3 zu testen.
Das Terminal zu schliessen oder den Prozess zu töten kann natürlich keine Lösung sein, zumal die Entwickler dieser Clients bereits an dieses Problem gedacht haben. Sowohl für SSH als auch für Telnet existiert ein so genannter Escape Character, um aus der Session zu entkommen und Zugriff auf das Programm zu erhalten.
Dieses Zeichen ist für SSH in der Voreinstellung die Tilde (~). Auf einer deutschen Tastatur ist sie über AltGr+ zu erreichen. Natürlich kann auch ein anderes Zeichen definiert werden. Die SSH Manpage sagt dazu:
Folgende Befehle sind dann laut Manpage möglich
Ein Zirkumflex (^) steht übrigens für die Taste Ctrl (Strg). Funktionieren diese Kombinationen nicht, so ist auf dem Client PC vielleicht deadkeys als Tastaturlayoutvariante eingestellt. In diesem Fall muss die Tilde zwei mal gedrückt werden um diese Kommandos ausführen zu können. Soll die Tilde auf der Shell der Gegenseite ankommen ist sogar ein viermaliger Druck notwendig.
Telnet zeigt das Escape Zeichen beim Verbindungsauf an:
Dieses eckige Klammer (]) ist auf Tastaturen mit englischem Layout leicht zu erreichen und es muss tatsächlich nur Ctrl (Strg) und die ]-Taste gedrückt werden. Beim deutschen Layout wird zusätzlich noch AltGr gebraucht, wodurch die Kombination fast schon zum Affengriff wird. Dort muss Strg+AltGr+9 gedrückt werden, damit man in den Kommandomodus von telnet wechselt. Natürlich lässt sich auch dieses Zeichen ändern:
Mit einem einfachen Druck auf Return wechselt telnet vom Prompt zurück in die Verbindung.
Das Terminal zu schliessen oder den Prozess zu töten kann natürlich keine Lösung sein, zumal die Entwickler dieser Clients bereits an dieses Problem gedacht haben. Sowohl für SSH als auch für Telnet existiert ein so genannter Escape Character, um aus der Session zu entkommen und Zugriff auf das Programm zu erhalten.
Dieses Zeichen ist für SSH in der Voreinstellung die Tilde (~). Auf einer deutschen Tastatur ist sie über AltGr+ zu erreichen. Natürlich kann auch ein anderes Zeichen definiert werden. Die SSH Manpage sagt dazu:
-e escape_char
Sets the escape character for sessions with a pty (default: `~'). The
escape character is only recognized at the beginning of a line. The
escape character followed by a dot (`.') closes the connection; followed
by control-Z suspends the connection; and followed by itself sends the
escape character once. Setting the character to ``none'' disables any
escapes and makes the session fully transparent.
Folgende Befehle sind dann laut Manpage möglich
The supported escapes (assuming the default `~') are:
~. Disconnect.
~^Z Background ssh.
~# List forwarded connections.
~& Background ssh at logout when waiting for forwarded connection / X11 ses-
sions to terminate.
~? Display a list of escape characters.
~B Send a BREAK to the remote system (only useful for SSH protocol version 2
and if the peer supports it).
~C Open command line. Currently this allows the addition of port forward-
ings using the -L and -R options (see above). It also allows the cancel-
lation of existing remote port-forwardings using -KR hostport. !command
allows the user to execute a local command if the PermitLocalCommand
option is enabled in ssh_config(5). Basic help is available, using the
-h option.
~R Request rekeying of the connection (only useful for SSH protocol version
2 and if the peer supports it).
Ein Zirkumflex (^) steht übrigens für die Taste Ctrl (Strg). Funktionieren diese Kombinationen nicht, so ist auf dem Client PC vielleicht deadkeys als Tastaturlayoutvariante eingestellt. In diesem Fall muss die Tilde zwei mal gedrückt werden um diese Kommandos ausführen zu können. Soll die Tilde auf der Shell der Gegenseite ankommen ist sogar ein viermaliger Druck notwendig.
Telnet zeigt das Escape Zeichen beim Verbindungsauf an:
$ telnet www.google.de 80
Trying 72.14.221.104...
Connected to www.google.de.
Escape character is '^]'.
Dieses eckige Klammer (]) ist auf Tastaturen mit englischem Layout leicht zu erreichen und es muss tatsächlich nur Ctrl (Strg) und die ]-Taste gedrückt werden. Beim deutschen Layout wird zusätzlich noch AltGr gebraucht, wodurch die Kombination fast schon zum Affengriff wird. Dort muss Strg+AltGr+9 gedrückt werden, damit man in den Kommandomodus von telnet wechselt. Natürlich lässt sich auch dieses Zeichen ändern:
-e escapechar
Sets the initial telnet escape character to escapechar. If escapechar is
omitted, then there will be no escape character.
Mit einem einfachen Druck auf Return wechselt telnet vom Prompt zurück in die Verbindung.
Mittwoch, 12. Juli 2006
Debil
Sorry. Aber ich muss jetzt meinem Ärger mal eben Luft machen. Ich benutze im Büro Debian, weil eigentlich alle Linux Büchsen hier damit laufen. Bei dieser Distribution sind in der Datei /etc/apt/sources.list URIs eingetragen, von denen sich das System Paketlisten besorgen kann (vergleichbar mit den RSYNC mirrors bei Gentoo). Dort sind bei mir sowohl einige HTTP als auch FTP Sourcen eingetragen. Das man bei Debian immer zig Einträge in dieser Datei braucht, damit man seine Software zusammenbekommt (mplayer, acroread, etc.), empfinde ich zwar als ziemlich störend, aber es hat immerhin einen nachvollziehbaren Grund (Lizenzgeraffel, falls sich jemand dafür intressiert).
Das Netz hier ist ziemlich dicht, nach außen geht es nur über den HTTP oder FTP Proxy. Das ganze lässt sich auch im Konfigurationsfile (/etc/apt/apt.conf) das Paketmanagement Frontends apt einstellen:
Dann aber wurde der FTP Proxy im Zuge einer Umstellung abgeschaltet. Glücklicherweise ist FTP ins Internet damit noch nicht gekappt, denn der HTTP Proxy beherrscht auch dieses Protokoll. Die FTP-in-HTTP-Verpackung sieht dann zum Beispiel in etwa so aus:
Diese Umstellung sollte kein Problem darstellen, da der entsprechenden Konfigurationszeile das Zugriffsschema voransteht (http:// oder ftp://). Also war ftp://foobar:2121 einfach durch http://barfoo:8080 zu ersetzen. Der Erfolg blieb leider aus und es hagelte nur Connection Timeouts. An dieser Stelle ist der erste Gedanke natürlich: was passiert da auf dem Netz? Ethereal zeigt dann, dass apt offentlich versucht FTP mit dem HTTP Proxy zu sprechen. Klarer Fall: da hab ich etwas falsch konfiguriert. Nach mehrmaliger Prüfung war aber beim besten Willen kein Fehler zu finden. Alle Quellen im Netz hatten es auch so eingestellt. Fast vom Stuhl gefallen bin ich, als ich folgenden Abschnitt in man sources.list lesen konnte.
Hallo? Geht's noch ein bischen schizophrener? Wenn etwas in einer Environment Variable gesetzt ist funktioniert es. Im applikationseigenen Konfigurationsfile wird nicht angenommen. Allein das ist schon krank, aber es geht ja noch weiter. Die Proxyurl, vor der eindeutig http:// steht, dann ohne jegliche Fehlermeldung zu etwas anderem zu verwursten und dann zu behaupten der Server wäre kaputt setzt dem ganzen die Krone auf. Eine leidlich vollständige Dokumentation entbindet nicht davon einigermaßen sinnvolle Fehlermeldungen auszugeben.
Danke. Jetzt geht's mir besser.
Nachtrag
Natürlich will ich nicht nur meckern, sondern auch eine konkrete Problemlösung anbieten. Systemweite Environment Variablen werden bei Debian normalerweise in /etc/environment gesetzt. Allerdings werden diese offensichtlich nur bei einem Login und nicht bei einem Benutzerwechsel zu root ausgelesen. Daher sollte man den Proxy zusätzlich in /root/.profile setzen.
Das Netz hier ist ziemlich dicht, nach außen geht es nur über den HTTP oder FTP Proxy. Das ganze lässt sich auch im Konfigurationsfile (/etc/apt/apt.conf) das Paketmanagement Frontends apt einstellen:
Acquire::ftp
{
Proxy "ftp://foobar:2121";
ProxyLogin
{
"USER $(SITE_USER)@$(SITE)";
"PASS $(SITE_PASS)";
};
};
Acquire::http::Proxy "http://barfoo:8080";
Dann aber wurde der FTP Proxy im Zuge einer Umstellung abgeschaltet. Glücklicherweise ist FTP ins Internet damit noch nicht gekappt, denn der HTTP Proxy beherrscht auch dieses Protokoll. Die FTP-in-HTTP-Verpackung sieht dann zum Beispiel in etwa so aus:
GET ftp://ftp.de.debian.org HTTP/1.1
...
Diese Umstellung sollte kein Problem darstellen, da der entsprechenden Konfigurationszeile das Zugriffsschema voransteht (http:// oder ftp://). Also war ftp://foobar:2121 einfach durch http://barfoo:8080 zu ersetzen. Der Erfolg blieb leider aus und es hagelte nur Connection Timeouts. An dieser Stelle ist der erste Gedanke natürlich: was passiert da auf dem Netz? Ethereal zeigt dann, dass apt offentlich versucht FTP mit dem HTTP Proxy zu sprechen. Klarer Fall: da hab ich etwas falsch konfiguriert. Nach mehrmaliger Prüfung war aber beim besten Willen kein Fehler zu finden. Alle Quellen im Netz hatten es auch so eingestellt. Fast vom Stuhl gefallen bin ich, als ich folgenden Abschnitt in man sources.list lesen konnte.
It is possible to proxy FTP over HTTP by setting the ftp_proxy environment variable to a http url - see the discussion of the http method above for syntax. You cannot set this in the configuration file and it is not recommended to use FTP over HTTP due to its low efficiency.
Hallo? Geht's noch ein bischen schizophrener? Wenn etwas in einer Environment Variable gesetzt ist funktioniert es. Im applikationseigenen Konfigurationsfile wird nicht angenommen. Allein das ist schon krank, aber es geht ja noch weiter. Die Proxyurl, vor der eindeutig http:// steht, dann ohne jegliche Fehlermeldung zu etwas anderem zu verwursten und dann zu behaupten der Server wäre kaputt setzt dem ganzen die Krone auf. Eine leidlich vollständige Dokumentation entbindet nicht davon einigermaßen sinnvolle Fehlermeldungen auszugeben.
Danke. Jetzt geht's mir besser.
Nachtrag
Natürlich will ich nicht nur meckern, sondern auch eine konkrete Problemlösung anbieten. Systemweite Environment Variablen werden bei Debian normalerweise in /etc/environment gesetzt. Allerdings werden diese offensichtlich nur bei einem Login und nicht bei einem Benutzerwechsel zu root ausgelesen. Daher sollte man den Proxy zusätzlich in /root/.profile setzen.
export http_proxy="http://barfoo:8080"
export ftp_proxy="http://barfoo:8080"
Dienstag, 2. Mai 2006
Umgeschaltet
Der i810 Treiber mit dem ich mein Spielzeug unter X.org betreibe hat die Fähigkeit den externen Monitorausgang und den TFT des Laptops gleichzeitig zu versorgen. Diese Versorgung hört bei DRI allerdings prinzipbedingt auf. Dies betrifft zum Beispiel die Anzeige von Videos, die ohne DRI (je nach Anzeigegröße) nur zäh abgespielt werden würden.
Denkbar folgendes Problem für die Praxis: man will einen Film auf einem Beamer über den Monitorausgang ansehen, es erscheint jedoch nur ein blaues Overlaybild.
Das ganze würde ich natürlich nicht schreiben, wenn ich nicht auch eine Lösung parat hätte. Es ist möglich DRI-Ziel umzuschalten. Mit
aktiviert man DRI auf dem VGA-Ausgang und mit
holt man es wieder auf Laptopbildschirm zurück. Ich weiss nicht, ob dies auch bei anderen Treibern als dem i810 oder in anderen Konfigurationen funktioniert. Über entsprechende Hinweise würde ich mich freuen.
Denkbar folgendes Problem für die Praxis: man will einen Film auf einem Beamer über den Monitorausgang ansehen, es erscheint jedoch nur ein blaues Overlaybild.
Das ganze würde ich natürlich nicht schreiben, wenn ich nicht auch eine Lösung parat hätte. Es ist möglich DRI-Ziel umzuschalten. Mit
xvattr -a XV_PIPE -v 0
aktiviert man DRI auf dem VGA-Ausgang und mit
xvattr -a XV_PIPE -v 1
holt man es wieder auf Laptopbildschirm zurück. Ich weiss nicht, ob dies auch bei anderen Treibern als dem i810 oder in anderen Konfigurationen funktioniert. Über entsprechende Hinweise würde ich mich freuen.
Sonntag, 30. April 2006
Eingerichtet
Billige Tintenstrahldrucker werden von den Herstellern zum Selbstkostenpreis (oder sogar darunter) unters Volk geworfen, um dann mit den Tintenpatronen Gewinn zu machen. Natürlich soll man ein so subventioniertes Stück Hardware nicht auch noch ins Netz einbinden können, denn dafür haben die Hersteller teure netzwerkfähige Geräte. Soviel vorweg, nun zur eigentlichen Aufgabenstellung. Gegeben:
Die Aufgabe:
Das WinXP Notebook soll auf dem am Linux Router angeschlossenen Multifunktionsgerät drucken und scannen können.
"Eingerichtet" vollständig lesen »
- HP 1510 PSC (Tintenstrahldrucker, Scanner, Kopierer)
- Linux Router, der als Druckserver fungieren soll
- per WLAN angebundenes WinXP Notebook
Die Aufgabe:
Das WinXP Notebook soll auf dem am Linux Router angeschlossenen Multifunktionsgerät drucken und scannen können.
"Eingerichtet" vollständig lesen »
Montag, 24. April 2006
Muschel Tricks
Das die Bourne Shell Platzhalter erlaubt dürfte niemanden wirklich überraschen.
Diese Platzhalter können bei beliebigen Befehlen verwendet werden, so zum Beispiel auch bei scp. Wie kopiert man aber nun am geschicktesten IMG_0082.JPG und IMG_0084.JPG auf einen entfernten Rechner? Benutzt man hier Platzhalter
so wird zuviel kopiert. Glücklicherweise kann man sich hier einer Zeichenklasse bedienen, wie sie von regulären Ausdrücken bekannt ist.
Gerade bei vielen Dateinamen die sich nur gering unterscheiden kann dieser kleine Trick einiges an Tipparbeit ersparen.
uwe@krusty ~/temp/test $ ls IMG_*
IMG_0082.JPG IMG_0088.JPG IMG_0090.JPG IMG_0092.JPG IMG_0096.JPG
IMG_0084.JPG IMG_0089.JPG IMG_0091.JPG IMG_0095.JPG IMG_0098.JPG
uwe@krusty ~/temp/test $ ls IMG_00?2.JPG
IMG_0082.JPG IMG_0092.JPG
Diese Platzhalter können bei beliebigen Befehlen verwendet werden, so zum Beispiel auch bei scp. Wie kopiert man aber nun am geschicktesten IMG_0082.JPG und IMG_0084.JPG auf einen entfernten Rechner? Benutzt man hier Platzhalter
uwe@krusty ~/temp/test $ scp IMG_008?.JPG 192.68.68.235:
IMG_0082.JPG 100% 1062KB 1.0MB/s 00:00
IMG_0084.JPG 100% 335KB 335.1KB/s 00:00
IMG_0088.JPG 100% 1302KB 1.3MB/s 00:00
IMG_0089.JPG 100% 1071KB 1.1MB/s 00:00
so wird zuviel kopiert. Glücklicherweise kann man sich hier einer Zeichenklasse bedienen, wie sie von regulären Ausdrücken bekannt ist.
uwe@krusty ~/temp/test $ scp IMG_008[24].JPG 192.68.68.235:
IMG_0082.JPG 100% 1062KB 1.0MB/s 00:00
IMG_0084.JPG 100% 335KB 335.1KB/s 00:00
Gerade bei vielen Dateinamen die sich nur gering unterscheiden kann dieser kleine Trick einiges an Tipparbeit ersparen.
Sonntag, 23. April 2006
Recoded
Irssi hat in seiner neuen Version endlich eine Option bekommen um den Augenkrebs, den UTF-8 benutzende Mitmenschen verursachen, Einhalt zu gebieten. Und nach guter Irssi-Tradition ist dieses Feature natürlich wieder kaum dokumentiert. Deshalb hier eine kleine Anleitung.
Zeichensatzkonvertierung einschalten
Zeichensatz der per Default ausgegeben wird: iso-8859-15
Zeichensatz des Terminals: iso-8859-15
Einstellungen speichern
Und man ist zumindest im IRC von dieser Pest befreit.
Zeichensatzkonvertierung einschalten
/set recode on
Zeichensatz der per Default ausgegeben wird: iso-8859-15
/set recode_out_default_charset iso-8859-15
Zeichensatz des Terminals: iso-8859-15
/set term_charset iso-8859-15
Einstellungen speichern
/save
Und man ist zumindest im IRC von dieser Pest befreit.
Montag, 9. Januar 2006
Archiviert
Eigentlich sollte dieser Eintrag schon vor mehr einem halben Jahr erscheinen. Anlass war damals eine Klausur zu der wir zwar keine Bücher mitnehmen durften, aber jegliches kopiertes oder selbst geschriebenes Material. Was liegt also näher die vorhandenen Bücher unter den Scanner zu legen, alle relevanten Seiten in ein PDF zu packen und das dann einfach auszudrucken? Das erste Problem deutet sich an, wenn man die Gesamtgröße des Projekts überblickt. Die Seiten (allesamt mit 300 DPI im Graustufenmodus gescannt) belegen deutlich über 100 Megabytes und spätestens wenn das ganze dann an den Drucker geschickt wird ist einem klar, dass es wohl keine gute Idee war die Sache auf diese Weise anzugehen. Ganz zu schweigen vom Backup, dass diesen zusätzlichen Brocken auch nicht eben mal so schluckt (ja - ich sichere noch auf CDs). Wie kann man die Dokumente komprimieren, sodass sie vom Drucker in einer annehmbaren Geschwindigkeit ausgegeben wird, auf der Platte keine Unmengen an Speicherplatz fressen und gleichzeitig noch lesbar bleiben?
"Archiviert" vollständig lesen »
"Archiviert" vollständig lesen »
Geschrieben von Uwe Weissenbacher
in FHF, Linux
um
17:24
| Kommentare (0)
| Trackbacks (0)
Tags für diesen Artikel: LaTeX, offene Formate
Freitag, 30. Dezember 2005
Verspielt
"Verspielt" vollständig lesen »
Donnerstag, 20. Oktober 2005
Verknüpft
Heute etwas, dass mich schon mehrfach in den Wahnsinn getrieben hat, bis ich die Ursache und damit auch die Problemlösung gefunden habe. Firefox schlägt beim Download einer Datei immer ein Programm vor mit dem man die Datei öffnen kann. Dumm nur, wenn die vorgeschlagene Applikation nicht die gewünschte ist und man das Wunschprogramm jedes mal erneut von Hand auswählen muss. Dabei hält sich Firefox (wie andere GTK Anwendungen auch) an einen Standard, der aber leider noch nicht flächendeckend eingesetzt wird (KDE zum Beispiel benutzt ein eigenes System um Programme mit Mime-Typen zu verbinden). Die ganze Geschichte beginnt im Verzeichnis /usr/share/applications/ in dem jede Anwendung eine Datei ablegt, die beschreibt wie sich die Applikation in das System einbindet. Daraus wird zum einen (je nach Windowmanager) das Startmenü und zum anderen mittels update-desktop-database die Datei /usr/share/applications/mimeinfo.cache generiert. Und genau diese legt dann das systemweite Verhalten fest.
Das verbreitete Windows Video Format wmv (Windows Media Video) hat bei mir zum Beispiel folgenden Wert:
Also hat der Totem-Media-Player den Vorzug gegenüber dem mplayer, was natürlich ein Unding ist ;-). Selbstverständlich kann man die Reihenfolge umdrehen, allerdings wird diese Änderung mit einem Lauf von update-desktop-database wieder überschrieben. Und da Portage dieses Dienstprogramm nach der Installation bestimmter Pakete ungefragt aufruft scheidet diese Alternative von vorneherein aus (wenn jemand weiss wie man update-desktop-database feste Vorgaben bezüglich der Reihenfolge machen kann, möge er mir dies mitteilen). Also bleibt noch die Möglichkeit es auf User-Basis zu konfigurieren. Die dazugehörige Datei heisst $HOME/.local/share/applications/mimeinfo.cache und kann, sofern sie noch nicht existiert, aus /usr/share/applications/ kopiert werden. Die hier gemachten Änderungen werden dann nicht mehr automatisch überschrieben.
Das verbreitete Windows Video Format wmv (Windows Media Video) hat bei mir zum Beispiel folgenden Wert:
video/x-ms-wmv=totem.desktop;mplayer.desktop;
Also hat der Totem-Media-Player den Vorzug gegenüber dem mplayer, was natürlich ein Unding ist ;-). Selbstverständlich kann man die Reihenfolge umdrehen, allerdings wird diese Änderung mit einem Lauf von update-desktop-database wieder überschrieben. Und da Portage dieses Dienstprogramm nach der Installation bestimmter Pakete ungefragt aufruft scheidet diese Alternative von vorneherein aus (wenn jemand weiss wie man update-desktop-database feste Vorgaben bezüglich der Reihenfolge machen kann, möge er mir dies mitteilen). Also bleibt noch die Möglichkeit es auf User-Basis zu konfigurieren. Die dazugehörige Datei heisst $HOME/.local/share/applications/mimeinfo.cache und kann, sofern sie noch nicht existiert, aus /usr/share/applications/ kopiert werden. Die hier gemachten Änderungen werden dann nicht mehr automatisch überschrieben.
Freitag, 14. Oktober 2005
IBM DB2 UDB und Gentoo Linux
Große kommerzielle Applikationen auf Linux werden üblicherweise nur für bestimmte Distributionen zertifiziert. Das heisst es gibt nur für diese Plattformen Herstellersupport (was im Firmenumfeld natürlich immens wichtig ist). Im Falle von IBMs Datenbank heissen diese beiden Distributionen SuSE und Red-Hat. Beide basieren auf RPM als Paketmanager und auch DB2 wird mit mit Hilfe dieses Systems installiert. Da ich DB2 aber für ein Praktikum benötige habe ich mich in das Abenteuer gestürzt das Ganze auf Gentoo zum Laufen zu bringen.
Der gesamte Artikel bezieht sich auf DB2 V8.1 Personal Edition für Linux. "IBM DB2 UDB und Gentoo Linux" vollständig lesen »
Der gesamte Artikel bezieht sich auf DB2 V8.1 Personal Edition für Linux. "IBM DB2 UDB und Gentoo Linux" vollständig lesen »
Donnerstag, 22. September 2005
Gebebt
Wie man hier oder hier nachlesen kann gibt es mit Quake3 unter Linux ein Problem mit der Mausbeschleunigung. Wie man das testet? Einfach die Maus an den linken Rand des Mauspads legen und dann langsam nach rechts bewegen bis man im Spiel eine komplette Drehung durchgeführt hat. Dann die Maus wieder schnell bis zum linken Rand des Mauspads zurückschieben und wenn man im Spiel nun deutlich mehr als nur eine Umdrehung gemacht hat, dann ist die Beschleunigung aktiviert. Dieses Verhalten macht das Zielen in Quake 3 dann auch ziemlich schwierig. Wie kann man diesem Problem zu Leibe rücken?
"Gebebt" vollständig lesen »
"Gebebt" vollständig lesen »
Dienstag, 20. September 2005
Interpretiert
Ein kleiner Tipp aus der Reihe: hab ich wieder nicht dran gedacht. Ein ZIP Archiv mit diversen Files und unter anderen einem Shellskript ausgepackt. Das Skript mit chmod +x ausführbar gemacht und aufgerufen.
Aha. Sollte der Autor etwa das Skript vergeigt haben? Zur Erklärung: die erste Zeile eines Shellskripts (auch Shebang genannt) legt den Interpreter fest mit dem das Skript ausgeführt werden soll.
Sieht eigentlich alles in Ordnung aus und das grosse Rätselraten beginnt bis ich die Datei letztendlich in vim öffne und mir einmal mehr die Fußzeile ins Auge springt:
Moment mal? DOS Zeilenumbrüche? Wie kommen die da hin? Mit
kann man die Datei direkt in vim wieder ins UNIX Format konvertieren und speichern. Ein abschließender Testlauf bestätigt dann den Erfolg der Maßnahme. Den eigentlichen Trick bei der Sache habe ich aber erst etwas später gefunden. Unzip besitzt eine Kommandozeilenoption dafür:
Nächstes Mal weiss ich es besser...
$ ./skript.sh
: bad interpreter: No such file or directory
Aha. Sollte der Autor etwa das Skript vergeigt haben? Zur Erklärung: die erste Zeile eines Shellskripts (auch Shebang genannt) legt den Interpreter fest mit dem das Skript ausgeführt werden soll.
$ head -n1 ./skript.sh
#!/bin/bash
Sieht eigentlich alles in Ordnung aus und das grosse Rätselraten beginnt bis ich die Datei letztendlich in vim öffne und mir einmal mehr die Fußzeile ins Auge springt:
[converted][dos]
Moment mal? DOS Zeilenumbrüche? Wie kommen die da hin? Mit
:set fileformat=unix
:wq
kann man die Datei direkt in vim wieder ins UNIX Format konvertieren und speichern. Ein abschließender Testlauf bestätigt dann den Erfolg der Maßnahme. Den eigentlichen Trick bei der Sache habe ich aber erst etwas später gefunden. Unzip besitzt eine Kommandozeilenoption dafür:
-a
convert text files. Ordinarily all files are extracted exactly as they are stored (as ``binary'' files). The -a option causes files identified by zip as text files (those with the `t' label in zipinfo listings, rather than `b') to be automatically extracted as such, converting line endings, end-of-file characters and the character set itself as necessary...
Nächstes Mal weiss ich es besser...
Geschrieben von Uwe Weissenbacher
in Linux
um
10:09
| Kommentare (3)
| Trackback (1)
Tags für diesen Artikel: Linux, Shellscript
Freitag, 16. September 2005
Gewechselt reloaded
Das man bei KDE das Wallpaper bei jedem Start einfach wechseln kann ist ja nun nichts neues mehr. Dennoch ist die Methode nicht gerade elegant und als ich etwas in den Gentoo Foren in den Documentation, Tips & Tricks herumgestöbert habe ist mir ein Beitrag aufgefallen. Um einen Vorgang unter KDE zu automatisieren wurde DCOP in benutzt und mir kam sofort in den Sinn das sich garantiert auch mein Problem mit Hilfe von DCOP lösen lassen würde. Knapp zehn Minuten API Studium später war dann die erste saubere Version meines Wallpaper Changers fertig gestellt.
(der tail/head-teil ist auch raus, nachdem mir wieder eingefallen ist, dass das ganze mit sed sehr viel einfacher geht :-))
#!/bin/bash
SOURCELOC="$HOME/wallpapers/"
FLIST=`ls ${SOURCELOC}`
NUM=`echo -e "${FLIST}"|wc -l`
PAPER=$(( ${RANDOM} % ${NUM} ))
FNAME=`echo -e "${FLIST}"|sed -n "${PAPER}p"`
# true : primaere farbe
# false: sekundaere farbe
dcop kdesktop KBackgroundIface setColor black true
# Modes
# 1 zentriert
# 2 gekachelt
# 3 zentrierte kacheln
# 4 zentriert und skaliert (korrektes seitenverhaeltnis)
# 5 gekachelt (korrektes seitenverhaeltnis)
# 6 skaliert
# 7 zentriert mit autom. anpassung
# 8 skaliert und beschnitten
dcop kdesktop KBackgroundIface setWallpaper ${SOURCELOC}${FNAME} 4
(der tail/head-teil ist auch raus, nachdem mir wieder eingefallen ist, dass das ganze mit sed sehr viel einfacher geht :-))
(Seite 1 von 2, insgesamt 29 Einträge)
nächste Seite »


Kommentare