Kategorie: Linux

ArduIDE – Die alternative IDE für Arduino unter Linux

Seit einer Weile beschäftige ich mich ja mit Arduino. Als überzeugter Linux Benutzer (ich muss mich schließlich schon im Geschäft immer wieder mit Windows und seinem nervigem Update Verhalten herumärgern!) wollte ich natürlich auch eine native Anwendung haben. Arduino bietet zwar auch eine IDE an. Mit der kann man zwar die Anfangsbeispiele noch gut nachprogrammieren. Aber sobald man ernsthaft etwas programmieren möchte wird es einfach nervig. Keine Auto Completion und die Syntax Highlighting kommt auch erst wenn man das Wort zu Ende geschrieben hat. Kurzum die bequemen Sachen die man beispielsweise von Visual Studio (ja ich benutze das recht gerne!) kennt gibt es dort alles nicht. Der einzige Vorteil ist: Der Compiler unterstützt alle offiziellen Boards.

Also hab ich vor längerer Zeit mal diesen Beitrag angeschaut und versucht mit MarioMole glücklich zu werden. Nachdem ich aber nun mit dem GSM Modul arbeiten möchte, brauch ich zwingend noch die 1.0.5er Arduino Version. Und irgendwie hat das mit MarioMole nie so richtig bei mir funktioniert. Also mal den Komodo Edit ausprobiert, hat aber auch nicht funktioniert. Stino für Sublime Text wäre noch eine Möglichkeit gewesen. Ich war aber immer zu faul Sublime wieder zu installieren. Außerdem fand ich den Startvorgang immer enorm langsam. Da ist unter Windows Notepad++ immer noch schneller und unter Linux ein Gedit auch schneller. Dann hab ich die letzten Tage noch den Geany ausprobiert. Ein sehr schicker Editor mit leichten IDE Fähigkeiten. Ich hab nach dieser Anleitung versucht das Ding zum Laufen zu bekommen, hat bei mir (Ubuntu 14.04) aber leider nicht geklappt. Zumindest als ich ein Standard GSM Beispiel ausprobiert habe. Also wieder weg und dann mal richtig gegoogelt: „Alternative Arduino IDE Linux“ und die folgende Seite gefunden.
Dann einfach mal die Anleitung zum Installieren Schritt für Schritt nachgemacht und mir sozusagen die IDE selbst aus den Quellen kompiliert. Beim ersten Starten wollte ich die Arduino 1.0.5er Installation von Ubuntu Quellen angeben. Die wurde aber nicht akzeptiert.
Also einfach die 1.0.5 von Arduino geladen in mein Home entpackt und plötzlich funktioniert es auch schon. Der alles entscheidende Test war mal wieder das Kompilieren eines GSM Beispiels und Hochladen. Hat funktioniert. Es gibt auch einen Serial Monitor in dieser IDE. Den hab ich noch nicht ganz kapiert, aber auf jeden Fall hab ich endlich mal eine funktionierende IDE für Linux, die sogar relativ schick aussieht und stabil läuft.

Java Leute hätten mir ja wieder Eclipse empfohlen, aber ich mag kein Java. Das wirft immer seltsame Fehlermeldungen und naja die Runtime lässt sich seit Jahren unter Windows 7 nicht als normaler Benutzer updaten (ich geb ja schon meine Admin Credentials ein!).

Das ino Projekt wäre noch eine interessante Kommandozeilen Sache gewesen. Aber ich möchte gerne eine grafische IDE haben, die einfach das macht, was ich erwarte. Das Kompilieren und Uploaden soll einfach funktionieren. Das Programmieren ist ja auch schon schwer genug.

In diesem Fall: Daumen hoch an die Entwickler von ArduIDE. Schöne IDE und sie funktioniert sogar!

//Update vom 8.3.2015:
Nachdem ich gestern den ganzen Tag mit der IDE gearbeitet habe, gibt es doch noch ein paar Nachteile. Wenn man auf Hochladen (Upload) klickt wäre es schön, wenn er automatisch in die Ausgabe springen würde. Denn manchmal klappt das Hochladen einfach nicht, weil vielleicht die USB Kommunikation wieder auf einen anderen Port gewechselt hat. Oder es liegt ein Fehler im Code vor.
Und die Autocompletion fehlt immer noch. Allerdings gefällt mir die IDE trotzdem sehr gut. Der Code wird relativ gut dargestellt und vor allem auf schwarzem Hintergrund. Da lässt es sich einfach gut lesen und bearbeiten. Wenn der Editor noch mit der Zeit erweitert wird, könnte es noch richtig gut werden. Ich kann den ArduIDE aber weiterhin empfehlen. Mit 1.0.5 von Arduino funktioniert es richtig gut.

Bluetooth unter Ubuntu xfce abschalten

Privat hab ich ja schon länger Ubuntu im Einsatz. Es ist zwar manchmal doof, aber so im Großen und Ganzen funktioniert es einfach zuverlässig und verrichtet wunderbar seinen Dienst. Auf einer Partition hab ich auch noch Windows 8 drauf. Das erstaunliche war bisher: Windows hält im Akkumodus deutlich länger durch. Das liegt vielleicht zum einen am besseren Optimus Support der Intel und Nvidia Grafikkarte. Doch unter Windows ist auch nie der Bluetooth Stack aktiviert, so verbraucht der Chip einfach mal keinen Strom.
Unter Ubuntu war bisher immer der Bluetooth Stack aktiv. Aber ich hab den auch nie gebraucht. Also gestern mal ein bisschen gegoogelt und siehe da: Bluetooth kann man sogar dauerhaft abschalten.

Dazu muss man nur folgenden Haken entfernen:

>Einstellungen >Sitzungen und Startverhalten >automatisch gestartete Anwendungen >Blutooth-Verwaltung

Und danach noch einen Befehl in die /etc/rc.local eintragen.
Also einfach mal

sudo vi /etc/rc.local

eingeben und dort den gesamten Inhalt durch diesen ersetzen oder „rfkill block bluetooth“ an die entsprechende Stelle reinkopieren, wenn schon ein paar Befehl drin stehen:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

rfkill block bluetooth

exit 0

Und siehe da: Der Befehl wirkt und Bluetooth wird nun nicht mehr automatisch gestartet. Da ich aktuell meinen Laptop auf Strom laufen lasse, kann ich den Unterschied noch nicht verifizieren. Ein abgeschalteter Bluetooth Chip wird aber sicher zum Stromsparen beitragen. Vielleicht komm ich dann in Zukunft statt 1,5 Stunden mal 2 Stunden ohne Akku aus. ;)

Steam und rm -rf /

Eigentlich sollte man sich nicht darüber lustig machen. Daten zu verlieren ist wirklich herb, besonders, wenn danach auch das Backup in Form der angeschlossenen externen 3 TB Festplatte leer ist.
Aber irgendwie scheint es Steam geschafft zu haben, in der Linux Version sein Skript so zu schreiben, dass beim Ausführen wirklich alle Daten weg sind. Wie Golem berichtet benutzen sie dafür folgenden Befehl:

emnach enthält es die Zeile rm -rf „$STEAMROOT/“*, die mit dem Kommentar # Scary! versehen sein soll.

Das erschreckende an diesem Befehl ist: Sollte die Umgebungsvariable $STEAMROOT nichts zurückgeben, wird aus dem Befehl ein böses:

rm -rf /

Und das bedeutet salopp gesagt: „read mail really fast“ und löscht dabei wirklich das komplette Verzeichnis der eigenen Platte. Da /home quasi auch nur ein Unterordner von / ist, wird das auch gelöscht. Ein eingehängtes Speichermedium wird meistens unter /media geführt und ist damit natürlich auch betroffen. :( Für bestimmte Verzeichnisse braucht man eben auch noch erweiterte Rechte, aber die wichtigsten Daten wie Dokumente, Fotos, Bilder und Co. sind danach einfach weg.

Der Ausdruck „read mail really fast“ kommt aus den Geschichten um den zynischen B.O.F.H. der gerne mal seine User geärgert hat, indem er ihnen einfach das Home Verzeichnis gelöscht hat.

„Sie wollen mehr Speicher? Gerne, sie haben nun erneut 100 MB freien Speicher“
„Aber ich habe doch nur 100 MB Speicher! Aaaargh!“
„Haha“

Nun verstehe ich die ganzen Entwickler, warum sie so ungern Spiele auf Linux portieren. Da kann man viel zu schnell Dinge kaputt machen! :)

//Update vom 20.01.2015: Valve behebt den Bug und prüft nun ob $STEAMROOT/ leer ist. Allerdings schreibt sie trotzdem noch $STEAM_SAVE unter Umständen ins /. Ein Kommentar dazu.

Arch Linux – WLAN mit dem Network Manager

Dieses Arch Linux hat ja eine sehr schöne grafische Shell. Also eigentlich eine ganz normale Bash aber sie sagt einem auch gleich hilfreiche Fehlermeldungen wenn etwas falsch gelaufen ist. Nur WLAN ist echt so eine Sache. Standardmäßig könnte man ja „wifi-menu“ verwenden. Damit werden alle aktuellen WLAN Netzwerke in Reichweite gescannt und man bekommt ein DOS Box ähnliches Menü zur Auswahl und Eingabemöglichkeit des Schlüssels. Doch zumindest bei mir hat dieses nicht wirklich funktioniert als ich mich mit meiner Fritzbox verbinden wollte. Vielleicht lag es aber auch daran, dass im Schlüssel ein @ und ! enthalten ist. Das sind ja Zeichen die gerne mal für verschiedene Funktionen verwendet werden.

Wenn das WLAN am Laptop nicht funktioniert ist er quasi auch nicht internetfähig. Es ist ja schon sinnvoll dass man den Laptop mitnehmen kann und kabellos Netz bekommen kann. Doch das Arch Linux Wiki ist ziemlich toll und gibt auch eine gute Übersicht welche Möglichkeiten es fürs Netzwerk gibt. Auch wenn ich Kommandozeilen manchmal ganz nett finde für Netzwerk Dinge ist ein grafisches Tool einfach bequemer.

Und so hab ich mich diesmal für den „Network Manager“ entschieden. Der ist grafisch und kenne ich schon von Ubuntu und GNOME 3 und funktioniert eigentlich sehr gut. Natürlich ist in Arch Linux und XFCE 4 immer noch ein Handgriff mehr erforderlich, da ja auch immer mal wieder Pakete fehlen. Aber mit einer guten Anleitung und etwas ausprobieren kommt man dann schließlich zum Ziel.

Hier mal zusammen gefasst welche Pakete man braucht:
network-manager-applet –> Damit das Applet überhaupt verfügbar ist.
xfce4-notifyd –> Den Notify Daemon von xfce4
gnome-keyring –> Den Gnome Keyring. Erst dann werden die Schlüssel abgefragt.

Und das Ganze alles mit Pacman gibt folgende Zeile:

sudo pacman -S network-manager-applet xfce4-notifyd gnome-keyring

Eventuell muss auch noch vorher network-manager installiert werden. Aber das ist ja recht einfach.

Und schon haben wir mal wieder Internet über WLAN. :)

Arch Linux – DVDs abspielen

DVDs sind ja scheinbar immer verschlüsselt. Windows und Mac können diese eigentlich immer von Haus aus abspielen und haben dazu die passenden Codecs auch schon an Bord. Linux ist ja freie Software und hat deshalb unfreie Software nicht immer zwingend mit an Bord. Codecs sind leider meist unfreie Software. Deshalb hab ich vorhin beim Abspielen einer DVD mit dem VLC Player auch ein Problem gehabt. Er wollte die DVD einfach nicht abspielen. Das war damals unter Ubuntu aber auch ein Problem und deutet immer auf ein Codec Problem hin.
Aber nun hatte ich ja Zeit und hab ein bisschen gegoogelt und diesen Tipp gefunden. Einfach die richtigen Codecs installieren und den eigenen Benutzer zur Gruppe „optical“ hinzufügen.

pacman -S libdvdread libdvdcss libdvdnav
gpasswd -a USERNAME optical

USERNAME durch den eigenen Benutzername ersetzen!

Das Ganze vielleicht auch noch mit sudo machen, das ist aber dann selbsterklärend. Ist ja schließlich Arch Linux und nicht Windows. Und schon wieder was gelernt.