Brother MFC-J430W Linux Treiber
Von Brother wird für den MFC-J430W ein Installationsprogramm angeboten, welches LPR, CUPS und Scanner Treiber installiert. Das Programm kann man hier herunterladen.
Von Brother wird für den MFC-J430W ein Installationsprogramm angeboten, welches LPR, CUPS und Scanner Treiber installiert. Das Programm kann man hier herunterladen.
Wenn man unter Linux Synology CloudStation zum Syncen von Dateien nutzt und auch versteckte Dateien (die mit einem „.“ anfangen) gesynct haben möchte, dann muss man dies im CloudStation Client aktivieren. Dazu die Einstellungen des CloudStation Client und dann die Synchronistationregelndes gewählten Verzeichnisses öffnen. Dort findet sich unten ein Kästchen (Dateien und Ordner mit dem Präfix „.“ synchronisieren), hier einen Haken setzen und mit „Übernehmen“ bestätigen.
Um per adb ein Android Device zu sichern, gibt es eine kleine GUI-Anwendung, die den Aufruf von adb für einen übernimmt: HoloBackup
Wer manuell auf der Kommandozeile sichern will, eine Anleitung findet man bei android-hilfe.de.
Ich hatte hier beschrieben, wie man eine Datasource inklusive neuem JDBC-Treiber per CLI im JBoss einrichten kann. Heute wollte ich mit einer Wildfly 8.2 Installation diese Schritte durchführen, leider funktionierte es nicht, es gibt einen Bug, der das verhindert. Eine Variante, die funktioniert, ist über die Web Management Console. Eine Anleitung habe ich hier gefunden. Nachfolgend habe ich das nochmal bei nachgestellt und Screenshots davon erstellt.
Zuerst muss ein passender JDBC-Treiber installiert werden, falls noch nicht vorhanden. Dazu öffnet man die Managementconsole, in der Regel ist sie unter Port 9990 zu finden, bei mir lokal unter http://localhost:9990/. Falls noch kein Managementuser vorhanden ist, muss man noch einen anlegen und sich dann mit diesem anmelden. Der Applikationsserver muss natürlich laufen. Dann öffnet man den Reiter Deployments.
Ein Klick auf den Button Add öffnet den Wizard zum hinzufügen eines neuen Deployments. Hier wählt man die JAR-Datei des entsprechenden JDBC-Treibers aus und bestätigt mit Next.
Im folgenden Fenster kann man den Namen und den Runtime-Namen noch anpassen. Zusätzlich kann man durch Auswählen von Enable den Treiber gleich aktivieren. Die Eingaben bestätigt man durch Save.
Der installierte JDBC-Treiber sollte jetzt angezeigt werden.
Nun wechselt man auf den Reiter Configuration. Hier wählt man bei den Subsystems -> Connector -> Datasources aus. Falls man die Konfiguration noch nicht angepasst hat, sollte die Beispieldatasource ExampleDS noch aufgeführt werden. Um jetzt eine eigene hinzuzufügen wählt man Add aus.
Name und JNDI Adresse der neuen Datasource werden jetzt abgefragt. Der JNDI-Name hat der Adresse zu entsprechen, die man später in der persistence.xml unter dem Element jta-data-source einträgt. Die Eingaben sind mit Next zu bestätigen.
Hier wählt man den passenden JDBC-Treiber aus und bestätigt die Eingabe wieder mit Next.
In diesem Fenster werden die Verbindungdaten zur Datenbank eingetragen. Mit Test Connection können die Eingaben überprüft werden. Das Anlegen der Datasource ist mit Done abzuschliessen.
Da die Datasource noch nicht aktiviert ist, wählt man sie aus und klickt auf Enable.
Das Fenster mit Confirm schliessen.
Nun steht die Datasource mit dem passenden Treiber im Wildfly zur Verfügung.
Die passenden persistence.xml, die im META-INF des WARs liegen muss, sieht bei mir so aus:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="primary"> <jta-data-source>java:jboss/datasources/dblocator</jta-data-source> <properties> <!-- Properties for Hibernate --> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="false" /> </properties> </persistence-unit> </persistence>
Neuer Rechner, neues Glück. Wildfly 8.2 auf einem Ubuntu-Rechner hat jetzt noch ein anderes Verhalten an den Tag gelegt. Das Deployen eines JDBC-Treibers war dort über den oben beschriebenen Weg nicht persistent möglich. Nach jedem Neustart des Wildfly war der JDBC-Treiber weg und musste neu deployt werden.
Von JBoss gibt es hier eine gute Anleitung, wie man einen JDBC-Treiber permanent deployt. Anschliessend kann man eine Datasource einrichten, wie oben beschrieben über die webbasierte Managementconsole.
Für PostgreSQL habe ich unter wildfly/modules/org/postgres/main/modules.xml folgendes eingetragen:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="org.postgres"> <resources> <resource-root path="postgresql-jdbc4-9.2.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Unter wildfly/modules/org/postgres/main/ liegt in diesem Fall der JDBC-Treiber für Postgres mit dem Dateinamen postgresql-jdbc4-9.2.jar.
Zum Aktivieren des JDBC-Treibers für Postgres habe ich folgende Zeile in der JBoss CLI genutzt:
/subsystem=datasources/jdbc-driver=postgres:add(driver-name=postgres,driver-module-name=org.postgres,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource)
Das JBoss CLI nutzt man, in dem man den Wildfly startet, im wildfly/bin Verzeichnis jboss-cli.sh startet und sich dann mit connect mit der Wildfly-Managementconsole verbindet.
Wer ein Synology NAS besitzt kann sich recht einfach einen eigenen Git-Server einrichten. Leider war die Anleitung zur Nutzung des Git-Servers für mich etwas irreführend, daher habe mir Infos zusammengesucht und beschreibe hier nochmal, wie man Git zusammen mit der Synology nutzen kann. Die meisten Infos habe ich von hier erhalten.
Um den Git-Server zu installieren, öffnet man in der DSM-Oberfläche als Admin das Paketzentrum und sucht nach Git. Beim Git-Server klickt man auf „Installieren“.
Falls nach dem Installieren nicht automatisch das folgende Fenster geöffnet wird, sucht man in der DSM-Oberfläche im Hauptmenü nach dem Git-Server und klickt das Symbol an. Es öffnet sich das folgende Fenster in dem man die User auswählt, die Zugriff über den Git-Server auf Git-Repositories auf der Synology erhalten sollen. Haken unter „Zugriff erlauben“ für den oder die Benutzer setzen und dann „Übernehmen“ auswählen.
Falls noch nicht geschehen, aktiviert man den Windows Dateidienst. Die Git-Repositories werden direkt auf der Synology im Home-Verzeichnis des Synology-Benutzers angelegt, den man benutzt. Um sich die Arbeit zu vereinfachen kann man sich das Home-Verzeichnis des Synology-Benutzers auf seinem Client-Rechner einbinden. Dazu hat man verschiedene Möglichkeiten, ich habe den Windows-Dateidienst gewählt. Zum Aktivieren die Systemsteuerung starten und „Dateidienste“ auswählen.
Dort nun einen Haken bei „Windows Dateidienst aktivieren“ setzen und auf „Übernehmen“ klicken.
Für den Zugriff über Linux sollte man WebDAV aktivieren. Interessanterweise wurde mir mein home-Verzeichnis nicht angeboten, als ich unter Linux per SMB die Verbindung hergestellt habe. Daher noch auf den WebDAV Reiter wechseln und WebDAV aktivieren.
Bei mir ist meine Synology unter \\CalibanStation erreichbar. Um nun das Home-Verzeichnis nutzen zu können, öffnet man einen Windows-Explorer und gibt in der Adresszeile die Adresse der eigenen Synology in der Form \\Servername oder \\IP-Adresse ein. In meinem Fall \\CalibanStation. In der Ansicht sollte das „home“-Verzeichnis auftauchen. Das öffnet man nun und legt ein „git“ Verzeichnis an. Es sollte dann ähnlich wie im folgenden Screenshot aussehen:
Für die weiteren Arbeiten benötigt man Git. Als Windows-Anwendung kann man dazu TortoiseGit nutzen, welches man hier herunterladen kann. Nachdem TortoiseGit installiert ist, wechselt man in das git-Verzeichnis auf dem geöffneten Synology-Home-Verzeichnis. Hier legt man nun ein neues Unterverzeichnis an, z.B. „MeinGitProjekt“ und wechselt in das neue Verzeichnis. Wenn man im Windows-Explorer nun die rechte Maustaste klickt, sollte im Kontextmenü ein Eintrag „Git Create Repository here…“ aufgeführt sein. Diesen anwählen. Nun wird man gefragt, ob man ein „Bare“ Repository anlegen will. Ein solches Repository ist für den Server gedacht und entsprechend aktivieren wir hier die Option. Dann mit „Ok“ generieren lassen.
Ein neues Git-Repository ist damit auf dem Server angelegt. Eine Arbeitsversion kann man wie folgt auf den Client-Rechner auschecken.
In seinem Arbeitsverzeichnis auf dem Client-Rechner betätigt man die rechte Maustaste und wählt im erscheinenden Kontextmenü den Eintrag „Git Clone…“ aus. Der Zugriff auf das Git-Repository „MeinGitProjekt“ erfolgt per SSH. Als URL gibt man folgendes ein, benutzername muss auf den eigenen Benutzernamen angepasst werden, calibanstation als Adresse für das eigenen Synology NAS anpassen und zu guter letzt noch MeinGitProjekt dem Namen des eigenen Git-Repositories auf dem NAS anpassen:
ssh://benutzername@calibanstation/volume1/homes/benutzername/git/MeinGitProjekt
Bei meinem Beispiel sehen die Daten in den Fenstern von TortoiseGit wie folgt aus:
TortoiseGit meckert den ihm unbekannten Host Key an. Da ich meinem Synology NAS vertraue, bestätige ich die Abfrage mit „Ja“.
Nun werde ich nach dem Passwort des hier verwendeten Synology Benutzers benutzername gefragt. Eingeben und mit „Ok“ bestätigen, anschliessend wird das Git-Repository auf dem Client-Rechner ausgecheckt.
Fertig!
Unter Ubuntu benutze ich den Datei-Explorer. Im Datei-Explorer gibt es in der Seitenleiste einen Bereich „Netzwerk“. Dort sollte „Mit Server verbinden“ erscheinen. Den Eintrag auswählen. Falls der Eintrag nicht vorhanden ist, im Menü „Datei“ ist der Eintrag vorhanden.
Ich nutze hier WebDAV (wie weiter oben schon erwähnt), da mein home-Verzeichnis bei SMB nicht mit angezeigt wurde. Als Serveradresse gibt man „smb://IP-Adresse:Port“ ein, in meinem Beispiel entsprechend „davs://192.168.1.23:15237/“. Auf „Verbinden“ klicken. Hat man Benutzernamen und Passwort noch nicht hinterlegt, wird man nun danach gefragt. Hier sind Benutzername und Passwort des entsprechenden Synology-Benutzers einzutragen.
Nun sollte man alle Verzeichnisse angezeigt bekommen, die man in der Synology auf seinen Benutzeraccount zugeordnet hat. Es sollte auch das home-Verzeichnis angezeigt werden. Für die weiteren Arbeiten wechseln wir jetzt auf ein Terminal. Im Terminal wechselt man in das gerade gemountete Verzeichnis, welches im Gnome Virtual File System zu finden ist:
cd /run/user/1000/gvfs/
Hier sollte jetzt das gemountete Verzeichnis zu sehen sein:
/run/user/1000/gvfs$ ll insgesamt 0 dr-x------ 3 calibanatspace calibanatspace 0 Dez 24 23:15 ./ drwx------ 9 calibanatspace calibanatspace 260 Dez 24 23:15 ../ drwx------ 1 calibanatspace calibanatspace 0 Dez 20 01:56 dav:host=192.168.1.23,port=15237,ssl=true/
Wechseln in das gemountete Verzeichnis, inklusive Sprung direkt ins home-Verzeichnis:
cd dav\:host\=192.168.1.23\,port\=15237\,ssl\=true/home/
Falls noch nicht vorhanden, legt man hier ein Hauptverzeichnis für seine Git-Repositories an. Bei mir habe ich ein neues Verzeichnis „git“ angelegt, in dem alle weiteren Git-Repositories angelegt werden:
mkdir git
Um nun ein neues Git-Repository anzulegen, lege ich ein Unterverzeichnis unter dem git-Verzeichnis an und erzeuge ein bare-Git-Repository:
mkdir git/MeinGitProjekt cd git/MeinGitProjekt git --bare init
Das leere Git-Repository kann nun in einem anderen Verzeichnis geclont werden. benutzername, IP-Adresse und Repositoryname sind entsprechend anzupassen.
cd ~/git git clone ssh://benutzername@192.168.1.23/volume1/homes/benutzername/git/MeinGitProjekt
Wenn man Ubuntu (14.10) frisch in einer Virtualbox installiert, hat man erstmal nur die minimalste Auflösung von 640 x 480. Um das zu ändern in Ubuntu ein Terminal öffnen und folgende Zeilen eingeben:
sudo apt-get install virtualbox-guest-dkms
Anschliessend das virtualisierte Ubuntu neu starten und man bekommt eine grössere Auflösung angezeigt.
Die Lösung zum Problem habe ich hier gefunden gehabt.
Ich war auf der Suche nach einem Applikationsserver oder Servletcontainer, den ich embedded laufen lassen kann. Ziel ist es, eine quasi Standalone-Webanwendung hinzubekommen, die keinen installierten Applikationsserver benötigt. Am Ende sollte ein java -jar anwendungs.jar reichen, um eine Webanwendung zu starten. Ich hab Jetty ausprobiert.
Um Jetty als embedded Servletcontainer laufen lassen zu können, habe ich folgende pom.xml zusammengestellt:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>de.yellowshoes.jettyembedded</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>test</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.1.5.v20140505</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.3</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>de.yellowshoes.jettyembedded.test.HelloWorld</mainClass> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>de.yellowshoes.jettyembedded.test.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Noch kurz die wichtigsten Teile der pom.xml erklärt.
Damit werden die notwendigen Jar-Dateien von Jetty als Abhängigkeiten für das Projekt definiert:
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.1.5.v20140505</version> </dependency>
Mit dem exec-maven-plugin kann man per Maven eine beliebige Javaklasse (wenn sie denn eine main-Methode implementiert) über Maven Kommandozeile aufrufen. Im Beispiel wird versucht eine Klasse de.yellowshoes.jettyembedded.test.HelloWorld aufzurufen. Der Aufruf über die Kommandozeile sieht dann beispielsweise so aus: mvn clean compile exec:java
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.3</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>de.yellowshoes.jettyembedded.test.HelloWorld</mainClass> </configuration> </plugin>
Um ein Standalone-Jar zu erzeugen, nutze ich hier das Share-Plugin. Damit wird das Jar gebaut und alle definierten Abhängigkeiten entpackt und mit ins erzeugte Jar eingefügt. Der Aufruf zum Bauen des Jar sieht so aus: mvn clean install
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>de.yellowshoes.jettyembedded.test.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
Die erzeugte Jar-Datei sollte jetzt test-0.0.1-SNAPSHOT.jar heissen und mittels java -jar test-0.0.1-SNAPSHOT.jar gestartet werden können….wenn man die fehlende Klasse HelloWorld hätte 🙂
package de.yellowshoes.jettyembedded.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler; public class HelloWorld extends AbstractHandler { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); } public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new HelloWorld()); server.start(); server.join(); } }
Zuerst installiert man sich KeePass per Pacman
sudo pacman -S keepass
Anschliessend im Firefox die Erweiterung KeeFox installieren, dann Firefox neustarten.
Nun im KeePass Installationsverzeichnis ein plugins Verzeichnis anlegen. Dort wird gleich eine Datei reinkopiert, die für die Verbindung zwischen KeePass und KeeFox benötigt wird
sudo mkdir /usr/share/keepass/plugins
Nun folgenden Befehl ausführen, um eine Datei aus der KeeFox Installation ins Plugins-Verzeichnis der KeePass Installation zu kopieren. gf5ewe6 muss dabei entsprechend angepasst werden.
sudo cp ~/.mozilla/firefox/gf5ewe6.default/extensions/keefox@chris.tomlinson/deps/KeePassRPC.plgx /usr/share/keepass/plugins/
In den KeeFox Einstellungen die folgenden Werte eintragen:
Falls KeePass gestart ist beendet man es nun und startet es neu. Jetzt sollte folgende Fenster aufgehen. Über die Eingabe der roten Buchstabenfolge im unteren Fenster authorisiert man die Verbindung zwischen KeePass und KeeFox.
Anschliessend sollte folgende Fenster angezeigt werden. Entsprechend wählt man hier den passenden Button. Jetzt sollten die Accountdaten aus KeePass auch in Firefox zur Verfügung stehen.
Standardmässig scheint es nicht möglich zu sein, Win8.1 unter VirtualBox zu installieren oder das Update darauf durchzuführen. Damit es installiert werden kann, im Terminal folgenden Befehl ausführen:
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata [vmname] VBoxInternal/CPUM/CMPXCHG16B 1
[vmname] ist dabei der Name der virtuellen Maschine, z.B. „Win8“. Enthält der Name Leerzeichen, ist er auf jeden Fall in Anführungszeichen zu setzen.
Gefunden auf http://www.winboard.org/win8-installation/150773-upgrade-von-8-auf-8-1-unter-virtualbox-cpu-nicht-unterstuetzt.html
Über die JBoss CLI kann man für seine Applikationen Loggingkonfigurationen definieren, die in der Applikation genutzt werden können.
Zuerst richtet man einen Handler ein, der für das Schreiben in einer Datei zuständig ist:
/subsystem=logging/periodic-rotating-file-handler="DBLOCATOR":add(formatter="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n", append=true, file={"relative-to"=>"jboss.server.log.dir", "path"=>"dblocator.log"}, suffix=".yyyy-MM-dd", name="DBLOCATOR")
Anschliessend definiert man einen Logger, den man später in der Applikation ansprechen kann:
/subsystem=logging/logger=de.sauerspace.dblocator:add(level=INFO, handlers=["DBLOCATOR"], use-parent-handlers=false)
In der Applikation bekommt man den passenden Log4J Logger dann über folgende Anweisung:
Logger log = Logger.getLogger( "de.sauerspace.dblocator" );