Kenn mich nicht aus...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Hudriwurz
User
Beiträge: 4
Registriert: Samstag 29. Juni 2013, 21:06

Hallo
Ich bin völlig neu in der Linuxwelt und hab' mir gedacht, ich probier' den Raspberry Pi aus, weil er so schön klein und stromsparsam ist.
Jetzt habe ich auch ein PIFACE - Modul dazu und kann es über die IDLE - Shell ansprechen. piface laden und initialisieren und dann die LEDs daruf ein und aus schalten. Auch der Emulator funktioniert gut.

sudo modprobe spi-bcm2708

Im File piface.py steht:

Code: Alles auswählen

from time import sleep
import piface.pfio as pfio
pfio.init()
pfio.LED(1).turn_on()
ich lade das mit der Shell (FILE - OPEN) und drücke RUN
Fehermeldung in der Shell:

File "/home/pi/Desktop/piface.py", line 2, in <module>
import piface.pfio as pfio
ImportError: No module named pfio

Was ist hier das Problem?
BlackJack

@Hudriwurz: Das Problem ist, dass Du *Dein* Modul `piface` genannt hast und in Deinem Modul gibt es kein `pfio`-Modul was man importieren könnte. Benenne Deine Datei um und lösche falls nötig die dazugehörige ``*.pyc``-Datei.
Hudriwurz
User
Beiträge: 4
Registriert: Samstag 29. Juni 2013, 21:06

Hallo nochmal.

Mir geht langsam die Luft aus. Ich stamme aus der Windows-Welt. Seit meiner Geburt beschäftige ich mich mit MS - Produkten. Weil Linux so irgendwie ganz anders ist, stellen sich mir einige Fragen:
Kennt jemand eine Zusammenfassung der folgenden Fragen (mit Antworten dazu) und kann mir einen Link dazu geben?:

In der DOS-Welt gab (gibt) es:

eine autoexec.bat - PRGs die (beim Start) gestartet werden sollen, werden da eingetragen.
eine config.sys - Treiber die geladen werden sollen, werden da eingetragen.

eine Systemvariable: path
Hier kann man abfragen bzw. bestimmen, wo das System nach Komponenten sucht.

Kann mir jemand die Linux-Entsprechungen nennen? Das wäre nett.

Wie kann ich abfragen, ob Treiber (z.B. Piface) geladen wurden oder nicht? (Ein shell-command, der alle geladenen Treiber auflistet).

Ich bin mir wirklich sicher, dass es irgendwo schon so eine abgespeckte WIN-Linux - Gegenüberstellung gibt, die man als Newby wirklich mehr als brauchen kann.

Ich bedanke mich vorerst und hoffe, nicht 'verbal' für die ach so allgemeinen und sicher schon oft diskutierten Fragen, zerrissen zu werden.

Danke

Hudriwurz
BlackJack

@Hudriwurz: Das Skript ``/etc/rc.local`` wird am Ende von jedem „Startvorgang” ausgeführt, ist also so ähnlich wie die ``autoexec.bat``. Wichtig: Das Skript muss *enden*. Wenn man von dort zum Beispiel etwas startet, was dauerhaft läuft, muss man das asynchron starten (mit ``&``), sonst kann der Bootvorgang an der Stelle stecken bleiben.

Dann gibt es noch die ``/etc/profile`` die bei jedem Anmelden für den jeweiligen Benutzer ausgeführt wird. Da stehen schon ein paar Sachen drin. Unter anderem werden alle Skripte in ``/etc/profile.d/`` im Kontext der ``/etc/profile`` ausgeführt („ge-sourced”). Jeder Benutzer hat dann noch einmal eine eigene ``.profile`` in seinem Heimatverzeichnis. Und eine ``.bashrc`` die jedes mal wenn eine Bash-Shell gestartet wird, ausgeführt wird. Da kann man jeweils auch noch mal Umgebungsvariablen setzen oder manipulieren.

In ``/etc/modules`` kann man Kernelmodule angeben die beim Hochfahren geladen werden sollen.

``PATH`` heisst bei Linux auch so:

Code: Alles auswählen

pi@raspbmc:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/u
sr/games:/opt/vc/bin:/home/pi/.xbmc-current/xbmc-bin/bin
Alle geladenen Kernelmodule auflisten:

Code: Alles auswählen

pi@raspbmc:~$ lsmod 
Module                  Size  Used by
bcm2708_wdog            2740  1 
tun                    13408  2 
ipv6                  232892  32 
xt_state                 660  0 
iptable_mangle           736  0 
iptable_nat             2408  0 
nf_nat                 10526  1 iptable_nat
nf_conntrack_ipv4       8768  3 nf_nat,iptable_nat
nf_defrag_ipv4           716  1 nf_conntrack_ipv4
nf_conntrack           51300  4 nf_nat,xt_state,iptable_nat,nf_conntrack_ipv4
iptable_filter           616  0 
ip_tables              10480  3 iptable_filter,iptable_mangle,iptable_nat
x_tables               10436  5 ip_tables,xt_state,iptable_filter,iptable_mangle
,iptable_nat
8192cu                417460  0 
spidev                  3932  0 
spi_bcm2708             4104  0 
joydev                  8808  0 
i2c_bcm2708             2820  0 
i2c_core               20536  1 i2c_bcm2708
Nur die Namen:

Code: Alles auswählen

pi@raspbmc:~$ lsmod | cut -f 1 -d ' ' | tail -n +2
bcm2708_wdog
tun
ipv6
xt_state
iptable_mangle
iptable_nat
nf_nat
nf_conntrack_ipv4
nf_defrag_ipv4
nf_conntrack
iptable_filter
ip_tables
x_tables
8192cu
spidev
spi_bcm2708
joydev
i2c_bcm2708
i2c_core
Test ob ein bestimmtes Modul dabei ist:

Code: Alles auswählen

pi@raspbmc:~$ lsmod | cut -f 1 -d ' ' | tail -n +2 | grep spi_bcm2708 > /dev/null 
pi@raspbmc:~$ echo $?
0
pi@raspbmc:~$ lsmod | cut -f 1 -d ' ' | tail -n +2 | grep nicht_geladen > /dev/null 
pi@raspbmc:~$ echo $?
1
Hudriwurz
User
Beiträge: 4
Registriert: Samstag 29. Juni 2013, 21:06

Super Danke, für die Antworten.

Das hilft mir schon viel weiter.

Schlimm ist nur, dass ich das /etc/rc.local editieren konnte. Leider konnte ich es nicht speichern. Wie kann ich denn irgendwas speichern, in Linux. Immer meint das Ding: 'Die Datei kann nicht zum Schreiben geöffnet werden'.

Ich war also schon knapp dran. Ich hab's über den Dateimanager einfach geöffnet (im Leafpad).

Speichern geht da einfach nicht.

Bitte nochmal helfen.

Danke

Hudriwurz
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Unter Linux ist man nunmal nicht staendig ein User mit uneingeschraenkten Rechten. Du hast keine Schreibrecht fuer `/etc/rc.local`, denn die hat im Normalfall nur `root`.

Soll heissen: Oeffne sie als `root`, dann kannst du auch speichern.

Bevor du das tust solltest du aber ganz stark nachdenken, ob das Programm (und sowas kuerzt man wirklich nicht PRG ab ..) auf Systemebene laufen soll, oder nur fuer bestimmte Nutzer. Fuer letzeres hat BlackJack schon ein paar Ansaetze genannt, aber die Desktopumgebungen (KDE, Gnome, ...) haben hier auch noch ein System. Das ist nicht wirklich redundant denn bei den Desktopumgebungen weiss man, dass hier schon ein X-Server laeuft.
Hudriwurz
User
Beiträge: 4
Registriert: Samstag 29. Juni 2013, 21:06

@cofi

na da tauchen wieder Vokabel auf, die völlig neu in meiner Welt sind. Bitte entschuldige das PRG. Eine alte Gewohnheit aus Clipper-Zeiten.
Einen guten Tip wie: 'öffne sie als root' kann ich nicht nachvolllziehen. So 'daneben' bin ich, was Linux (Unix) angeht.
Und es ist mir fast peinlich das hier zu fragen, aber: 'Wie werde ich denn root'. Angesichts einer hübschen, nackten Frau werde ich vielleicht rot. Aber root?

Vielen Dank für die geduldige Hilfe

Hudriwurz
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ist eine Suche nach "linux start program as root" zu viel verlangt?
Das Leben ist wie ein Tennisball.
Antworten