Apr 27 2015

Gimp Resynthesizer Plugin unter openSuse und Gimp 2.8

Ich hatte vor längerer Zeit einmal geschrieben, wie man mittels Resynthesizer Plugin für Gimp etwas ohne große Spuren zu hinterlassen aus einem Bild entfernen kann. Dieses Plugin ist auch für openSUSE verfügbar.

Die Installation erfolgt über software.opensuse.org:

https://software.opensuse.org/package/gimp-plugin-resynthesizer

Dort auswählen:

gimp_resynthesizer_plugin_software_opensuse_org

 

und mittels 1-Klick Installier installieren. Nach einem Neustart von Gimp ist nun u.a. „Heal Selection“ unter Filter – Verbessern zu finden, was wohl die Rolle desResynthesizer Plugins übernimmt.

 

Und nochmal zwei schöne Beispiele:

gimp_res_fisch1 gimp_res_fisch2 gimp_res_keinfisch1 gimp_res_keinfisch2

 

Das 1. Beispiel ist zwar nicht perfekt, aber ich finde es dennoch erstaunlich, mit wie wenig Informationen ein so großer Teil des Bildes retuschiert werden kann.

 

Quellen:
http://commons.wikimedia.org/wiki/File:Goldfish2.cropped.jpg

http://commons.wikimedia.org/wiki/File:Heterodontus_francisci_catalina.jpg

Mrz 29 2015

Godot compilieren und Android Template / Vorlage erstellen

Linux (Ubuntu) vorbereiten


Für alle weiteren Schritte nötig
Benötigte Pakete wie scons und build-essential installieren:

sudo apt-get install scons ant pkg-config libx11-dev libxcursor-dev build-essential libasound2-dev libfreetype6-dev libgl1-mesa-dev libglu-dev libssl-dev libxinerama-dev

1. Godot Pfad anlegen und Godot-Source herunterladen:

mkdir ~/godot
cd ~/godot
wget https://github.com/okamstudio/godot/archive/master.zip

2. Entpacken nach ~/godot

unzip master.zip -d ~/godot
mv godot-master/* .

1-Zeiler – „Linux (Ubuntu) vorbereiten“:

sudo apt-get install scons ant gcc-multilib lib32z1 lib32stdc++6 pkg-config libx11-dev libxcursor-dev build-essential libasound2-dev libfreetype6-dev libgl1-mesa-dev libglu-dev libssl-dev libxinerama-dev && mkdir ~/godot && cd ~/godot && wget https://github.com/okamstudio/godot/archive/master.zip && unzip master.zip -d ~/godot && mv godot-master/* .

 

Java einbinden:


Für Android und Linux Compiling notwendig

Quelle: http://tecadmin.net/install-java-8-on-centos-rhel-and-fedora/

Linux x64 165.17 MB jdk-8u40-linux-x64.tar.gz  Download über wget Befehl

1. Download und entpacken:

cd /opt/
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u40-b25/jdk-8u40-linux-x64.tar.gz"
sudo tar xzf jdk-8u40-linux-x64.tar.gz

2. Version als aktuell verwendete setzen:

sudo su
cd /opt/jdk1.8.0_40/
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_40/bin/java 2
update-alternatives --config java

optional (wenn nötig) – oft wird nur die oben heruntergeladene Java Version im System gefunden, dann überspringen:

There are 3 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /opt/jdk1.8.0/bin/java
+ 2 /opt/jdk1.8.0_25/bin/java
3 /opt/jdk1.8.0_40/bin/java
Enter to keep the current selection[+], or type selection number: 3

3. Pfade setzen:

update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_40/bin/jar 2
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_40/bin/javac 2
update-alternatives --set jar /opt/jdk1.8.0_40/bin/jar
update-alternatives --set javac /opt/jdk1.8.0_40/bin/javac
exit

4. Java Version überprüfen:

java -version

java version „1.8.0_40“

Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

5. JAVA_HOME /JRE_HOME / PATH Variable setzen:

export JAVA_HOME=/opt/jdk1.8.0_40
export JRE_HOME=/opt/jdk1.8.0_40/jre
export PATH=$PATH:/opt/jdk1.8.0_40/bin:/opt/jdk1.8.0_40/jre/bin

1-Zeiler – „Java einbinden“:

cd /opt/ && sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u40-b25/jdk-8u40-linux-x64.tar.gz" && sudo tar xzf jdk-8u40-linux-x64.tar.gz && cd /opt/jdk1.8.0_40/ && sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_40/bin/java 2 && sudo update-alternatives --config java && sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_40/bin/jar 2 && sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_40/bin/javac 2 && sudo update-alternatives --set jar /opt/jdk1.8.0_40/bin/jar && sudo update-alternatives --set javac /opt/jdk1.8.0_40/bin/javac && export JAVA_HOME=/opt/jdk1.8.0_40 && export JRE_HOME=/opt/jdk1.8.0_40/jre && export PATH=$PATH:/opt/jdk1.8.0_40/bin:/opt/jdk1.8.0_40/jre/bin && java -version

 

Android SDK einbinden:


Für Android (apk) Export aus Godot

Quelle: http://maheo.eu/330-android-entwicklung-unter-opensuse-linux.php

1. SDK Download

–> http://dl.google.com/android/android-sdk_r24.1.2-linux.tgz (herunterladen)  Download über wget Befehl

mkdir ~/devl/
cd ~/devl/
wget http://dl.google.com/android/android-sdk_r24.1.2-linux.tgz
tar xzf android-sdk_r24.1.2-linux.tgz

( android-sdk_r24.1.2-linux.tgz in devl entpacken )

2. Pfad setzen

~/.bashrc/ bearbeiten (z.B. in Dolphin öffnen)

Hier nun irgendwo am Ende der Datei einfügen und speichern, ausloggen und wieder einloggen:

#AndroidDev PATH

PATH=$PATH:$HOME/devl:$HOME/devl/tools
export PATH

# For SDK version r_08 and higher, also add this for adb:
PATH=$PATH:$HOME/devl/platform-tools
export PATH

Alternativ im Terminal:

cp ~/.bashrc ~/.bashrc_backup
echo '#AndroidDev PATH' >> ~/.bashrc
echo 'PATH=$PATH:$HOME/devl/android-sdk-linux:$HOME/devl/android-sdk-linux/tools' >> ~/.bashrc
echo 'export PATH' >> ~/.bashrc
echo 'PATH=$PATH:$HOME/devl/android-sdk-linux/platform-tools' >> ~/.bashrc
echo 'export PATH' >> ~/.bashrc

 

3. Android Tool öffnen / testen

Nach einem Neustart – nun im Terminal:

android

Folgende Pakete installieren:

  • Tools
  • Android 4.0.3 (API 15)
  • Android 2.2 (API 8)
  • Android 4.4.2 (API 19)
  • Extras – Android Support Library

Bildschirmfoto4

und wieder schließen 😉

4. ADB installieren

sudo apt-get install android-tools-adb
# Testen mit dem Befehl adb

5. debug.keystore erstellen

cd ~/.android/
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

6. NDK Download – optional
( nur für Android-Vorlagen Compilierung notwendig s.u. )

Download NDK (440Mb): http://developer.android.com/tools/sdk/ndk/index.html  Download über wget Befehl

android-ndk-r10c-linux-x86_64.bin – es handelt sich dabei um eine mit 7 zip entpackbare Datei, welche sich aber auch über folgende Befehle ins aktuelle Verzeichnis entpacken lässt:

cd ~/devl/
wget http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin

chmod +x android-ndk-r10d-linux-x86_64.bin
./android-ndk-r10d-linux-x86_64.bin

7. NDK-Pfad im System einbinden – optional:
( nur für Android-Vorlagen Compilierung notwendig s.u. )

export ANDROID_NDK_ROOT=$HOME/devl/android-ndk-r10d/
export NDK=$HOME/devl/android-ndk-r10d/

8. SDK-Pfad im System einbinden

export ANDROID_HOME=$HOME/devl/android-sdk-linux/

 9. Godot konfigurieren:

Bildschirmfoto3

Nun können die .apk direkt aus Godot heraus erstellt werden.

2-Zeiler – „Android SDK einbinden“:

mkdir ~/devl/ && cd ~/devl/ && wget http://dl.google.com/android/android-sdk_r24.1.2-linux.tgz && tar xzf android-sdk_r24.1.2-linux.tgz && cp ~/.bashrc ~/.bashrc_backup && echo '#AndroidDev PATH' >> ~/.bashrc && echo 'PATH=$PATH:$HOME/devl/android-sdk-linux:$HOME/devl/android-sdk-linux/tools' >> ~/.bashrc && echo 'export PATH' >> ~/.bashrc && echo 'PATH=$PATH:$HOME/devl/android-sdk-linux/platform-tools' >> ~/.bashrc && echo 'export PATH' >> ~/.bashrc && sudo apt-get install android-tools-adb 

# Aus und wieder einloggen
# Nach der nächsten Zeile wird das Android Install Fenster aufpoppen.
# Hier bitte o.g. Pakete auswählen und installieren (Punkt: folgende Pakete installieren)

android && cd ~/devl/ && wget http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin && chmod +x android-ndk-r10d-linux-x86_64.bin && ./android-ndk-r10d-linux-x86_64.bin && export ANDROID_NDK_ROOT=$HOME/devl/android-ndk-r10d/ && export NDK=$HOME/devl/android-ndk-r10d/ && export ANDROID_HOME=$HOME/devl/android-sdk-linux/ && cd ~/.android/ && keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

 

Quellen:
http://drm.sourceforge.net/wiki/index.php/Building_on_Linux_for_Android
http://stackoverflow.com/questions/26967722/how-to-install-android-ndk-in-linux

 

Android Export Vorlage / Template erzeugen


ACHTUNG: wie ich herausgefunden habe, kann mit der aktuellen stable, welche auf der Download-Seite angeboten wird, nach einer abgewandelten Export-Vorlage kein Spiel erstellt werden. Es muss auch das Programm compiliert werden (siehe unten). Möglicherweise wird dies mit dem nächsten Update obsolet.

Normalerweise reichen die Export-Templates von der Godot-Download-Seite vollkommen aus. Wer allerdings zusätzliche Module wie Admob einbinden möchte, kommt um eine selbst erstellte Version nicht herum.

Punkt 6 und 7 von der „Android“ Anleitung oben müssen in diesem Fall zuerst noch durchgeführt werden!

1. Scons auf Android Ressourcen überprüfen

1.1. in den Godot-Source Ordner wechseln:

cd ~/godot

1.2. Prüfen, ob Scons die benötigten Android Ressourcen hat

scons

Hier muss „android“ in der Liste auftauchen

2. Android .SO erzeugen

scons platform=android

Das führt zu einer normalen .so im Verzeichnis /bin als wäre der Vorgang mit „tools=no target=debug“ durchgeführt worden.

Das Ergebnis ist daher eine sehr große Datei, da alle debug-Symbole enthalten sind.

Für die nächsten Vorgänge wird also
target=release_debug“ oder „target=release
empfohlen (siehe „zur Info“ unten)

3. Benötigte Unterordner in ~/godot anlegen:

mkdir platform/android/java/libs
mkdir platform/android/java/libs/armeabi

4. Datei (.so) kopieren / verlinken

Nun muss die .so in den Android-Ordner „libs/armeabi“ kopiert oder symbolisch verlinkt werden (bei Linux):

ln -s bin/libgodot.android.<Deine compilierte .so Version>.so platform/android/java/libs/armeabi/libgodot_android.so

Bitte den Pfad <Deine compilierte .so Version> anpassen.

Hinweis 1: es darf immer nur eine .so im Verzeichnis liegen. Daher muss bei anderen Build-Typen (release, debug etc.) diese Datei immer ausgetauscht werden.

Hinweis 2: die Datei im Ordner bzw. der Name des symbolischen Links MUSS „libgodot_android.so“ lauten. Andernfalls kommt es zu Fehlern.

Alternative —

X86 Alternative apk – einfach die o.g. Punkte gegen die folgenden austauschen:

2. Scons X86 Unterstützung (64bit)

Wer Unterstützung für x86 Android einbinden möchte, kann dies mit dem Compiler-Zusatz „x86=yes“ bei scons tun (siehe 2.)
Dies führt allerdings dazu, dass die .apk am Ende rund 6 MB größer ist.

3. Benötigte Unterordner in ~/godot anlegen

mkdir platform/android/java/libs
mkdir platform/android/java/libs/x86

4. Datei (.so) kopieren / verlinken

Nun muss die .so in den Android-Ordner „libs/x86“ kopiert oder symbolisch verlinkt werden (bei Linux)

ln -s bin/libgodot.android.<Deine compilierte .so Version>.x86.so platform/android/java/libs/x86/libgodot_android.so

Alternative ENDE

5. Toolchain Version anpassen – optional bei einem Versions-Fehler 

Es wird versucht, den Godot Android-Build aktuell zu halten, allerdings ändert Google seine Toolchain Version sehr oft. Sollte das Compilieren wegen einer falschen Toolchain Version abbrechen, kann diese erneurt werden.

5.1. Zuerst im NDK Ordner nach den aktuellen Versionen sehen.

~/devl/android-ndk-r10d/toolchains/
~/devl/android-ndk-r10d/platforms/

5.2. Nach „arm-linux-androideabi-4.8“ oder einer aktuelleren Version schauen (derzeitiger Stand: 4.9)

5.3. Umgebungs-Variablen setzen:

Achtung: bei einem 32bit NDK-Download lautet „linux-x86_64“ natürlich linux-x86

5.3. Für ARM:

export NDK_TOOLCHAIN=${NDK}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi
export NDK_SYSROOT=${NDK}/platforms/android-21/arch-arm
export NDK_TARGET${NDK}/toolchains/arm-linux-androideabi-4.9/

 5.3. Für x86:

export NDK_TOOLCHAIN=${NDK}/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android
export NDK_SYSROOT=${NDK}/platforms/android-21/arch-x86
export NDK_TARGET${NDK}/toolchains/arm-linux-androideabi-4.9/

NDK_SYSROOT könnte auch „android-9“ sein…

6. APK erstellen

Jetzt kommen wir zur eigentlichen Template-Erstellung

Godot benötigt eine frisch erstelle APK als Export Vorlage. Es öffnet diese APK, ändert ein paar Dinge im Innern, fügt die eigentlichen Programm Dateien hinzu und fügt alles wieder zusammen. Sehr praktisch das ganze.

Die Standard-Vorlage wurde mit folgendem Befehl compiliert:

cd ~/godot/platform/android/java
ant debug

#oder

ant release

Nun liegt im Ordner /godot/platform/android/java/bin die jeweilige APK (debug und / oder release), welche als Vorlage dient.

 

Hinweis: Cannot run program „~/devl/android-sdk-linux/build-tools/22.0.1/aapt“ 

Sollte es zu einem Fehler kommen, kann es sein, dass ein 64bit System verwendet wird und einige 32bit Pakete fehlen. Diese können mit folgendem Befehl nachinstalliert werden:

sudo apt-get install gcc-multilib lib32z1 lib32stdc++6

 

Die beiden Dateien müssen nun mit dem folgenden Namen in deb Godot Vorlagen Ordner kopiert werden::

android_debug.apk
android_release.apk

– Fertig –

 

Sollte „android“ wieder aus scons verschwinden, kann es sein, dass durch ein Update die Pfade entfernt wurden. Dann einfach nochmal folgenden Befehl im Terminal durchführen:

export ANDROID_NDK_ROOT=$HOME/devl/android-ndk-r10d/
export NDK=$HOME/devl/android-ndk-r10d/
export ANDROID_HOME=$HOME/devl/android-sdk-linux/

 

Zur Info:

Original Export Vorlage wurde wie folgend erstellen:

(debug)

scons platform=android target=release_debug
cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so
cd platform/android/java
ant release
cd bin && cp Godot-release-unsigned.apk ~/godot/templates/android_debug.apk

Ausgabe APK liegt in:

platform/android/java/bin/Godot-release-unsigned.apk
(release)

scons platform=android target=release
cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so
cd platform/android/java
ant release
cd bin && cp Godot-release-unsigned.apk ~/godot/templates/android_release.apk

Ausgabe APK liegt in:

platform/android/java/bin/Godot-release-unsigned.apk
(… wie zuvor)

1-Zeiler – „Android Export Vorlage / Template erzeugen“:

export ANDROID_NDK_ROOT=$HOME/devl/android-ndk-r10d/; export NDK=$HOME/devl/android-ndk-r10d/; export ANDROID_HOME=$HOME/devl/android-sdk-linux/; cd ~/godot; mkdir platform/android/java/libs; mkdir platform/android/java/libs/armeabi; mkdir ~/godot/templates; scons platform=android target=release_debug && cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so && cd platform/android/java && ant release && cd bin && cp Godot-release-unsigned.apk ~/godot/templates/android_debug.apk && cd ~/godot && scons platform=android target=release && cp bin/libgodot.android.opt.debug.so platform/android/java/libs/armeabi/libgodot_android.so && cd platform/android/java && ant release && cd bin && cp Godot-release-unsigned.apk ~/godot/templates/android_release.apk

 


Godot Linux Version Compilierung


Für jene, die Godot aus dem Source-Code selbst compilieren möchten:
Derzeit zwingend erforderlich, wenn eine eigene Export-Vorlage benutzt werden soll:

1. Scons auf X11 testen:

cd ~/godot/
scons

>>  muss x11 anzeigen <<

2. Compilierung durchführen

scons platform=x11

Die erstellte Datei liegt nun als .bin im /bin Ordner und kann von dort kopiert / ausgeführt werden.

Quellen:
https://github.com/okamstudio/godot/wiki/compiling_linux
http://ashonit.blogspot.de/2014/03/compiling-godot-from-source-on-kubuntu.html
https://github.com/Mavhod/GodotAdmob

Jan 09 2015

In eigener Sache: neues Theme

Lange Zeit habe ich CustomCommunity für WordPress als Theme genutzt. Da mit dem Sprung auf Version 2 sämtliche Einstellungen verloren gehen und die Konfigurationsmöglichkeiten stark verändert wurden, bin ich nun auf das Graphene-Theme umgestiegen, welches ich auf einem anderen Blog einsetze und sehr zufrieden damit bin.

Sollten nun unerwartete Effekte auftreten, dann bitte ich diese einfach kurz in der Kommentar-Leiste zu berichten. Vielen Dank.

Jan 01 2015

BenQ Monitor mit HDMI – Bild bleibt schwarz oder schwarze Rahmen

Wenn man sich einen neuen Monitor zulegt, sollte man eigentlich davon ausgehen, dass man lediglich die Geräte austauscht muss. Nicht so bei meinem BenQ Modell (GL2450). Da das zweite Problem (der große, schwarze Rahmen indirekt etwas mit Linux zu tun hat (bzw. mit der Catalyst Version von Linux), stelle ich es auch unter den Linux-Tags ein. Vielleicht hilft es ja wieder dem ein oder anderen.

Das 1. Problem:

Der Bildschirm bleibt schwarz, obwohl das Kabel erkannt wurde.

Hier liegt die Ursache in der Software des Bildschirms selbst: Es wird nur das Bild des VGA Anschlusses ausgegeben. Hat man den Monitor also lediglich an HDMI angeschlossen, wird das Signal nicht erkannt. Wer jetzt annimmt, man könnte mittels Menü-Taste den Eingang umstellen, irrt. Das Menü bleibt bei fehlendem Signal geschlossen.

Die Lösung:
Monitor über ein VGA Kabel (liegt der Verpackung bei) anschließen und dann mittels Menü-Taste auf System – Eingabe – HDMI wechseln. Dort kann man auch gleich den „Automatischen HDMI-Wechsel“ auf EIN stellen.

Das 2. Problem:

Das Bild wird nicht auf die volle Größe skaliert / es befindet sich ein dicker, schwarzer Rahmen um das Bild

Die Ursache bzw. der Sinn dahinter ist mir nicht ganz ersichtlich, allerdings wird im Catalyst Control Center bei der Skalierungs-Option ein Underscan-Wert vorgegeben. Wenn wir diesen auf 0 setzen, wird das Bild augenblicklich auf die maximale Größe skaliert.

Die Lösung:
Catalyst Control Center mit Administrations-Rechten öffnen und den Wert bei Skalierungsoptionen auf 0 schieben:
monitor_benq

Nov 30 2014

Cronjob für TTRSS auf Raspberry Pi / Banana Pi

cronjobWer ein Script regelmäßig aufrufen möchte, der bedient sich eines Cronjobs.

Hier ein Beispiel für einen Job alle 15 Minuten zur Aktualisierung der Newsfeeds bei Tiny Tiny RSS.

Für Raspberry Pi:

crontab -e

dort eintragen:

*/15 * * * * cd /var/www/ttrss && /usr/bin/php update.php --feeds --quiet > /dev/null

Für Banana Pi:

crontab -e

dort eintragen:

*/15 * * * * cd /var/www/ttrss && su -m nobody -c "/usr/bin/php update.php --feeds --quiet > /dev/null"

Da wir uns bei dem Banana Pi standardmäßig als root einloggen, müssen wir dem Crontab einen „normalen“ User als Aufruf mitgeben (mehr dazu unten).

Tipp:

Wer bei Banana Pi den Nano Editor nutzen möchte, kann auch folgenden Befehl nutzen:

env EDITOR=nano crontab -e

Anmerkung:

Ruft man update.php als root-Benutzer auf, dann erhält man folgenden Fehler / Hinweis:

Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade.
Please fix errors indicated by the following messages:

 * Please don't run this script as root.

You might want to check tt-rss wiki or the forums for more information.
Please search the forums before creating new topic for your question.

Das lässt sich mittels folgendem Befehl umgehen, indem wir für den Aufruf auf einen non-root User wechseln.

su -m nobody -c "/usr/bin/php /home/apache/html/rss/update.php --feeds --quiet"

Anmerkung 2:

Bei folgendem Fehler sind die Verzeichnis-Rechte noch nicht vergeben:

Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade.
Please fix errors indicated by the following messages:

 * Image cache is not writable (chmod -R 777 cache/images)
 * Upload cache is not writable (chmod -R 777 cache/upload)
 * Data export cache is not writable (chmod -R 777 cache/export)
 * Javascript cache is not writable (chmod -R 777 cache/js)
 * ICONS_DIR defined in config.php is not writable (chmod -R 777 feed-icons).
 * LOCK_DIRECTORY defined in config.php is not writable (chmod -R 777 lock).

You might want to check tt-rss wiki or the forums for more information.
Please search the forums before creating new topic for your question.

Das könnt ihr mit dieser Zeile ändern:

chmod -R 777 /var/www/ttrss/cache/images && chmod -R 777 /var/www/ttrss/cache/upload && chmod -R 777 /var/www/ttrss/cache/export && chmod -R 777 /var/www/ttrss/cache/js && chmod -R 777 /var/www/ttrss/feed-icons && chmod -R 777 /var/www/ttrss/lock

Anmerkung 3:

Der PHP Pfad muss natürlich stimmen. Das könnt ihr mittels folgendem Befehl testen:

which php

Sollte der Fehler „php not found“ erscheinen, dann müssen wir noch php5 und php5-cli nachinstallieren:

apt-get install php5-cli php5

Nov 29 2014

Lighttpd Webserver + PHP5 + MySQL + FTP Server unter Bananian

Hier habe ich bereits beschrieben, wie man den Lighttpd Webserver, PHP5 und MySQL Server unter Raspbian installiert. Da sich die Installation unter Bananian kaum unterscheidet, werde ich mich sehr kurz halten.

Zuerst die Paketliste aktualisieren:

apt-get update

Nun alle benötigten Pakete installieren:

apt-get install lighttpd php5 php5-cli php5-cgi mysql-server mysql-client phpmyadmin

Bei der MySQL Installation ein Passwort vergeben und als Server-Software Lighttpd wählen.

Bei phpmyadmin: Konfigurieren der Datenbank für phpmyadmin mit dbconfig-common? – JA

Für den FTP Server verweise ich auf diese ausgezeichnete Anleitung:
http://willy-tech.de/ftp-server-auf-raspberry-pi-mit-proftpd/
oYoX:   FTP-Server Auf Raspberry Banana Pi Mit ProFTPD (219,0 KiB, 2.304 Klicks)

Fertig 🙂
banana

Nov 29 2014

Wlan auf Bananian / Banana Pi einrichten

Da ich noch einen Nano Wlan-Adapter von meinem Raspberry herum liegen habe, werde ich diesen nun an meinem Banana Pi betreiben. Das gute Stück hat keine 3 Euro auf eBay gekostet und sieht so aus:
wpid-camera_20141128192341065.jpg
Der Händler hat ihm den allumfassenden Namen „150Mbps 150M Mini USB WiFi Wireless Adapter Network LAN Card 802.11n/g/b EP98“ gegeben… aber das nur am Rande.

Wer auf Nr-Sicher gehen möchte, schaut sich zuerst die Liste mit unterstützten Sticks an.

Installation

Zuerst müssen wir 3 Pakete (und deren Abhängigkeiten) installieren (vielen Dank Thomas):

also im Terminal:

apt-get install wireless-tools iw wpasupplicant

Nach dem Anschließen des Wlan-Sticks an unseren Banana Pi können wir mittels SSH und folgendem Befehl nachsehen, ob er erkannt wurde:

dmesg
# bzw.
dmesg|grep WLAN

unter anderem wird folgendes (bei dmesg) erscheinen:
usbcore: registered new interface driver rtl8192cu

Wenn also der neue Treiber im System eingebunden wurde, kann dieser mit diesen beiden Befehlen im System als Netzwerk-Gerät verankert werden:

ifconfig
# sollte nun noch kein "wlan0" erscheinen, dann noch folgenden Befehl:
ifconfig wlan0 up

Konfiguration

Damit der Wlan-Zugang auch genutzt wird, müssen wir natürlich noch die Zugangsdaten im System hinterlegen. Dazu öffnen wir die Konfigurations-Datei mit folgendem Befehl:

nano /etc/network/interfaces

Hängt bitte die Code-Zeilen unten nur an – NICHT die vorhandenen Zeilen löschen, da ihr euch sonst nur noch sehr schwer / gar nicht mehr mit dem Banana Pi verbinden könnt.

Hier können wir auf Wunsch auch gleich eine feste IP Adresse vergeben. Dazu unten mehr.

Für eine dynamische IP hängen wir folgendes an:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "NAME-WLAN-NETZWERK"
wpa-psk "WLAN-KEY"

Passt hier bitte folgende Zeilen an:
wpa-ssid – Name eures Wlan-Netzwerks (wie er freigegeben wurde)
wpa-psk – das Wlan Passwort

Für die statische IP Adresse hängen wir alternativ folgenden Code an:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.xx.yy
netmask 255.255.255.0
gateway 192.168.0.1
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "NAME-WLAN-NETZWERK"
wpa-psk "WLAN-KEY"

Passt hier bitte folgende Zeilen an:
adresss – die gwünschte IP des Banana Pi
netmask – kann meistens bleiben
gateway – die IP eures Routers
wpa-ssid – Name eures Wlan-Netzwerks (wie er freigegeben wurde)
wpa-psk – das Wlan Passwort

STRG + O zum Speichern
STRG + X zum Schließen von Nano

Nun startet ihr noch das Netzwerk neu:

service networking restart

Wenn ihr nun das Netzwerk-Kabel abzieht, dann wird automatisch über Wlan eine Verbindung hergestellt.

Wenn nicht:
Dann liegt wahrscheinlich ein Treiber-Problem vor. Mehr dazu unter folgendem Link
https://wiki.debian.org/rtl819x

Hier noch eine gute Anleitung für Wlan auf dem Raspberry Pi: http://www.datenreise.de/raspberry-pi-wlan-einrichten-edimax/
oYoX:   Wlan Auf Dem Raspberry Banana Pi (243,1 KiB, 3.109 Klicks)

Downloads

  Wlan Auf Dem Raspberry Banana Pi (243,1 KiB, 3.109 Klicks)

Nov 29 2014

Banana Pi in Betrieb nehmen

Nachdem ich nun schon eine Weile den den Raspberry Pi in Gebrauch habe, wird es Zeit für ein kleines „Upgrade“. Soweit vollführt der rPi alle seine Aufgaben brav, doch macht sich bei seiner Hauptaufgabe (Tiny Tiny RSS Server) die etwas schwache Hardware bemerkbar.

Ich habe mich nun für einen Banana Pi als Nachfolger entschieden. Doppelte Prozessor-Leistung und Ram bei gleicher GPIO-Belegung (für meinen Einsatz als Steuerung der Funsteckdosen nicht unbedeutend) zu einem sehr guten Preis. Dieser Einplatinen-Rechner ist bereits für 37 Euro zu haben (z.B. bei dem eBay Händer Snogard). Dazu gleich noch ein Case, da die Maße geringfügig von denen des Raspberry Pi abweichen (wodurch dessen Gehäuse nicht passt). Den Rest erbt der Banana Pi (kurz Nana) vom Raspberry Pi.

Aber keine lange Rede, legen wir los.

Wir benötigen:

wpid-img_20141128_165618.jpg


Ich habe mich für Bananian (bzw. hier von der Entwickler-Seite) entschieden – eine Leichtgewicht-Debian-Distribution. Leichtgewicht, da nur die allernötigsten Programme mitgeliefert werden – optimiert auf den Server-Betrieb ohne Desktop. Also herunterladen und entpacken…

wpid-camera_20141128192341065.jpg
Zusätzlich werde ich noch ein 433Mhz Funkmodul zur Steuerung der Steckdosen verbauen. Dabei kommen mir die beiden Klappen des Gehäuses sehr entgegen, in welchen ich das Modul verstauen werde.

wpid-img_20141128_165716.jpg

Installation

(Quelle: forum-bananapi.de – oYoX.de:   Forum Bananapi De Thread Raspbian Image Installieren (209,9 KiB, 2.359 Klicks))

1. Image herunterladen und entpacken.
2. SD Karte in den Rechner/Reader stecken 😉

– Aus eigener Erfahrung rate ich zur 2. Variante –

Variante 1

3. Pfad zur SD Karte herausfinden:

lsblk

Ausgabe:

sdd      8:48   1   1,9G  0 disk 
└─sdd1   8:49   1   1,9G  0 part /var/run/media/marco/7412-0E09

4. In den Ordner mit dem Image wechseln (mittels cd)

cd Downloads/

5. Nun das Image auf die SD Karte schreiben.
ACHTUNG – stellt sicher, dass der Pfad bei OF tatsächlich auf die SD Karte zeigt.

sudo dd if=bananian-1411.img of=/dev/sdd bs=2M

Der Entwickler empfiehlt:

sudo dd if=bananian-1411.img of=/dev/sdd bs=1M && sync

Variante 2

1. ImageWriter für openSUSE installieren

sudo zypper install imagewriter

2. ImageWriter starten (Suse Studio Imagewriter)
3. Die entprechende img Datei auswählen – sollte diese nicht sichtbar sein, dann im Datei öffnen Dialog den Filter entfernen:
imagewriter_filter
4. Die SD Karte im Dropdown Menü wählen und auf Write klicken.
5. Warten…

Und weiter bei beiden Wegen:

6. Nun die SD Karte in den Banana Pi einstecken und das Netzteil anschließen (micro USB neben dem HDMI Port – der andere Anschluss ist für OTG).

Die grüne LED sollte blinken – bei mir leuchtet ebenfalls die rote LED dauerhaft.
Der Netzwerk-Anschluss leuchtet blau sobald der Banana Pi verbunden ist.

Konfiguration

1. Sucht nun die IP im Router heraus (der Name sollte „bananapi“ lauten)

Jetzt verbinden wir uns mit dem Banana Pi über die Konsole unseres Rechners:

2. öffnet nun ein Terminal und verbindet euch:

ssh root@192.168.xx.yy

oder

ssh -l root 192.168.xx.yy

Das Passwort lautet „pi“

optional: Problemlösung
Ich hatte an dieser Stelle das Problem, dass meine Verbindung mit folgenden Fehler immer wieder abgelehnt wurde:

Read from socket failed: Connection reset by peer

Als Ursache vermute ich eine Unterbrechung des Installations-Vorgangs nach dem 1. Start… also einfach nochmal das Image aufspielen und den Banana Pi beim ersten Start nicht unterbrechen – ein Bildschirm als Ausgabemedium eignet sich beim feststellen des Installations-Vorgangs 😉

3. Die folgende Frage beantwortet ihr mit yes:

The authenticity of host '192.168.xx.yy (192.168.xx.yy)' can't be established.
RSA key fingerprint is öööööööööööööööööööööööööööööööööööööö.
Are you sure you want to continue connecting (yes/no)? yes

Und schon seid ihr verbunden:

------------------------------------------------------------------------ 
Welcome to Bananian Linux!
For news and updates check: https://www.bananian.org
Any questions? Read the FAQ first: https://www.bananian.org/faq

Run 'bananian-config' to set up Bananian Linux
Run 'bananian-update' to check for distribution updates
------------------------------------------------------------------------

4. gebt nun den folgenden Befehl zum Konfigurieren eures Banana Pi ein:

bananian-config

Nun meine Konfiguration als Beispiel:

Your current keyboard layout is 'us'. Do you want to change it? (y/n) n
# Tastatur Layout - da wir das Terminal unseres Rechners benutzen, ist das zweitrangig

Your current timezone is 'Etc/UTC'. Do you want to change it? (y/n) y
-> Europe -> Berlin
# Damit die Uhrzeit unseres Banana Pi stimmt

Your current locale is 'en_US.UTF-8'. Do you want to change it? (y/n) y
-> [*] de_DE.UTF-8 UTF-8 -> de_DE.UTF-8 
# Verwendete Sprache bzw. aktuelles Gebietsschema für die Anzeige

Your current hostname is 'bananapi'. Do you want to change it? (y/n) n
# Name des Banana Pi im Netzwerk

Video acceleration is currently disabled. Do you want to enable it? (y/n) n
# Video-Beschleunigung... für den Server-Betrieb vollkommen unnötig.

USB OTG is currently enabled. Do you want to disable it? (y/n) n
# http://praxistipps.chip.de/usb-otg-was-ist-das_11936 

Do you want to expand the root file system (recommended)? (y/n) y
# Die Festplatten-Kapazität auf das Maximum ausdehnen

mittels folgendem Befehl noch den Banana Pi neu starten und das war es erstmal mit der Konfiguration.

shutdown -r now

Software installieren

das bleibt jedem selbst überlassen, ich für meinen Teil werde die folgende Software installieren und dafür das jeweilige Tutorial auch wieder auf oYoX veröffentlichen 😉

lighttpd / php / mysql (Webserver u.ä.)
– vpn (verschlüsselter Tunnel)
ttrss (Newsfeed-Server) + Cronjob
fail2ban (Bruteforce-Angriffe blockieren)
openssl (verschlüsselte Verbindung)
– ftp-server (wie der Name sagt) PDF-Anleitung:   Forum Bananapi De Thread Raspbian Image Installieren (209,9 KiB, 2.359 Klicks)

Downloads

  Forum Bananapi De Thread Raspbian Image Installieren (209,9 KiB, 2.359 Klicks)

Nov 27 2014

TTRSS Android Client (News+) – update

Lange habe ich den Standard-Client von Tiny Tiny RSS auf Android benutzt, doch seit der Entwickler diesen leider wöchentlich immer weiter nach seinen eigenen Wünschen umgestaltet und dabei wichtige Features entfernt, war es Zeit für eine Alternative.

Der „TTRSS-Reader“ von Nils Braden konnte mich in einem Test nicht so recht überzeugen, da alles etwas behäbig wirkt.

newsplus
Letzten Endes habe ich mich für „News+“ von Noinnion entschieden. Ein äußerst schöner Client, der neben TTRSS auch viele weitere Dienste über Plugins einbinden kann.

Also zuerst „News+“ installieren, danach das TTRSS Plugin einbinden und in diesem dann nur noch die Zugangsdaten des Tiny Tiny RSS Servers eingeben. Fertig.

Wer seinen Server im „single user“ Modus aufgesetzt hat, kann im Android Client einfach als Name „admin“ und als Passwort „password“ eingeben.
Die Synchronisation erfolgt nur auf einem Weg – zum Server d.h. Feeds, die mit Android erstmal abgerufen wurden, werden in News+ so noch nicht als gelesen markiert, wenn diese zwischenzeitlich im Browser gelesen wurden.

Wer eine 2-Wege Synchronisierung nutzen möchte, der benötigt zudem ein Addon für Tiny Tiny RSS auf dem Server. Dieses einfach herunterladen und in /var/www/***TTRSS-PFAD***/plugins/api_newsplus entpacken. /  Addon für Tiny Tiny RSS (16,2 KiB, 452 Klicks)

Nun kann das Plugin in den Tiny Tiny RSS Einstellungen (auf dem Server) aktiviert werden. Bei wem das nicht hilft, der kann das Plugin auch automatisch für alle User aktivieren. Dazu die config.php im root-Verzeichnis eures TTRSS Servers öffnen und folgende Zeile suchen:

define('PLUGINS'

dort tragt ihr (getrennt durch ein Komma) einfach noch , api_newsplus ein. Sie sieht dann ähnlich der folgenden Zeile aus:

define('PLUGINS', 'modauthx, sammy, updater, api_newsplus');


Fehlerbehebung:

Es kann vorkommen, dass nach dem Installieren der Api ein „Authentication Error : NOT_LOGGED_IN“ erscheint. Die Ursache liegt wohl in der Session ID. Abhilfe kann in diesem Fall die Beta-Version des TTRSS Plugins für Android schaffen.   TtRssExtension Beta (1,0 MiB, 695 Klicks)

Eine andere Ursache kann ein „auth-plugin“ in der config.php sein, welches trotz single-user Zugriff aktiviert ist.

Die Lösung ist denkbar einfach:
in der config.php des TTRSS Servers das entsprechende Authentication Plugin aus der Liste entfernen.

define('PLUGINS', 'updater, digest, auth_remote, auth_internal, googlereaderimport');

Bitte TTRSS in diesem Fall auf einem anderen Weg (z.B. mittels htaccess) absichern.

Update:
Das News+ TTRSS Plugin selbst hat einen Fehler, so verbleiben Daten-Fragmente auch nach der Abmeldung zurück, welche bei einem Login mit geänderten Daten dann falsche Werte liefern. Solltet ihr also die Login-Daten ändern müssen (wegen einer fehlerhaften Eingabe oder geändertem Server), dann empfehle ich stark, das News+ TTRSS Plugin erst zu deinstallieren und anschließend neu zu installieren.
Betrifft v1.0.5 und v1.0.5beta

Noch ein Link zum News+ Forum (englisch): https://groups.google.com/forum/#!forum/news_plus

Downloads

  Addon für Tiny Tiny RSS (16,2 KiB, 452 Klicks)
  TtRssExtension Beta (1,0 MiB, 695 Klicks)

Nov 06 2014

encFS gilt als unsicher – was nun

altes_schlossWer auf seine Daten von überall zugreifen möchte, wird um einen Online-Speicher (Cloud) nicht herum kommen. Nun habe ich hier mehrere Anleitungen veröffentlicht, wie man seine Daten in der Cloud mittels Verschlüsselung absichern kann. Heute erhielt ich den Hinweis von Christian, dass die eingesetzte Verschlüsselungsmethode nach einem bezahlten Audit als unsicher gilt.

Sobald mehrere Versionen einer Datei vorliegen, kann die Verschlüsselung geknackt werden. In der Cloud liegen ganz schnell verschiedene Fassungen der ein und selben Datei, denn die jeweilige Sync-Software lädt natürlich jede geänderte Datei (sofort) auf den Server.

Nach dem Ende von TrueCrypt bin ich nun etwas ratlos, was eine geeignete / sichere Methode ist, seine Dateien zu verschlüsseln – Vorschläge bitte als Kommentar 😉 Alternativ greift man wieder zur portablen Festplatte.

Weitere Informationen

Ältere Beiträge «

» Neuere Beiträge