Archive for the 'linux' Category

Linux: Sound neustarten ohne reboot

Monday, February 17th, 2014

sudo /sbin/alsa force-reload

killall pulseaudio

meine erste kivy app

Wednesday, January 29th, 2014

meine erste kivy app ist ein control panel (incl. throttle quadrant) für FlightGear:

repo on gitorious.org

wiki page

forum post

www.kivy.org

screenshot

[solved] (k)ubuntu 13.04: wakes from suspend immediately

Monday, January 20th, 2014


cat /proc/acpi/wakeup

/etc/rc.local

echo USB0 > /proc/acpi/wakeup
echo USB1 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
echo USB3 > /proc/acpi/wakeup
echo EUSB > /proc/acpi/wakeup
echo PS2K > /proc/acpi/wakeup

exit 0

Home Cockpit Baubericht (Teil 3)

Thursday, December 26th, 2013

Am 23.12. kamen endlich die Inkrementalgeber(rotary encoder). Seit dem weiß ich, wie groß ich die Löcher dafür bohren muss. Am gleichen Tag habe ich alle Taster und Schalter eingebaut und 2 von den insgesamt 6 Inkrementalgebern mit meinen C-Testprogramm auf den Atmega32 ausprobiert.

Am 24.12. habe ich mit der Tastaturmatrix angefangen. Zunächst nur 3×3 verkabelt und dann dafür ein Testprogramm geschrieben. 3 der Schalter hatte ich aus alten Walkera Sendern ausgeschlachtet – sie sehen schön aus – sind aber alle defekt. Ich musste alle wieder ausbauen. :-(

Den 25.12. habe ich damit verbracht, den Rest der 8×7 Matrix und die LEDs zu verkabeln. Die Taster von Rafi haben eine rote 3mm LED in der Ecke – ich hätte aber lieber eine flächige Beleuchtung in grün. Kurz vor dem verkabeln der LEDs habe ich mich entschlossen die roten LEDs nicht zu verwenden und stattdessen superhelle grüne LEDs von hinten an die Taster zu kleben. Mit einem 460 Ohm Vorwiederstand sind es nur 6mA pro LED – Das schafft der 74HC595 ohne zusätzlichen Treiber.

Bis auf Kleinigkeiten (Deckel, Rückwand, ..) ist die Hardware nun fertig. In der Software folgt demnächst:

* Entprellen der Taster
* Abfrage aller Inkrementalgeber
* serielle USB Kommunikation mit dem PC, bidirektional
* “Treiber” Software auf dem PC

pic

p2

p3

74HC595

p5

Linux Workstations klonen, Test in KVM

Monday, November 25th, 2013

In meinem virtuellen Netzwerk aus virtuellen Linux PCs teste ich gerade verscheidene Programme zum klonen von Systemen/Festplatten.
Testsystem: Ubuntu 12.04

remastersys (neuer Fork: OS4 System Imager) funktioniert gut und ist einfach zu bedienen. Es erstellt eine “Custom Live/Install DVD” als iso Datei – ähnlich der normalen ubuntu Installations DVD. Davon werden dann die Ziel PCs installiert. Der verwendete ubuntu-installer stellt dabei ein paar Fragen: Sprache, Zeitzone. Username und Passwort muss man aber nicht festlegen – das wird im remastersys-Modus “backup” vom Quellen-PC übernommen.
Die Fragen des Installers kann man vermutlich durch eine Kickstart Datei vermeiden – das muss ich noch testen.
remastersys entfert die ssh-host keys so dass man sich am Ziel PC nicht per ssh anmelden kann :-(

Fix:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''

oder
dpkg-reconfigure openssh-server

In einem Klassenraum Scenario muss man also mit der DVD oder USB-Stick zu den PCs gehen um sie zu installieren. Es gibt eine Anleitung für die Installation von ubuntu via PXE & tftp, aber leider nur für die netboot Variante. mit einer Normalen ubuntu DVD oder einer remastersys-DVD ist mir das noch nicht gelungen. pxelinux + memdisk zum booten von iso-Images habe ich probiert, klappt aber nicht – ist auch unrealistisch weil der Ziel PC dafür sehr viel RAM benötigt.

Als zweites Programm habe ich Clonezilla probiert. Clonezilla gibt es als Live CD/Stick oder als Sever Edition(SE). Von der Server Edition gibt es auch eine (DRBL-)Live CD. Leider bootet Clonezilla nicht in meiner VirtualBox Umgebung – Eine gute Motivation um mich mal wieder mit kvm zu beschäftigen: Wenn man virt-manager als root startet, dann kann man sich dort auch bequem seine virtuellen Netze zusammen klicken.
Bestehende Images aus VirtualBox kann man über den Umweg eines raw Image
in das qcow Format konvertieren.

In KVM bootete clonezilla problemlos. Ob ich Clonezilla so weit vereinfachen kann, dass ein Lehrer damit klar kommt ist noch fraglich.

was ich noch nicht getestet habe:

* m23
* ubuntu MASS
* rear – Relax and Recover
* mkCDrec
* FAI
* Linbo

Linux, Xorg: intel und nvidia gleichzeitig nutzen

Friday, November 8th, 2013

/etc/X11/xorg.conf


Section "ServerLayout"
    Identifier     "myLayout"
    Screen  0  "screen1" 0 0
    Screen  1   "screen2" RightOf "screen1"
EndSection

Section "Device"
    Identifier  "Nvidia"
    Driver      "nvidia"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "Intel"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Monitor"
   Identifier  "monitor1"
EndSection

Section "Monitor"
   Identifier  "monitor2"
EndSection

Section "Screen"
   Identifier  "screen1"
   Device      "Nvidia"
   Monitor     "monitor1"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Modes       "1920x1080"
   EndSubSection
EndSection

Section "Screen"
   Identifier  "screen2"
   Device      "Intel"
   Monitor     "monitor2"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Modes       "1024x768"
   EndSubSection
EndSection

Testing LTSP & Epoptes with VirtualBox

Wednesday, October 30th, 2013

Virtual Box
(Version 4.1.12)

virtueller LTSP Server:
Linux Mint 13
20GB Festplatte
128MB Grafikspeicher
4GB RAM, 4 Prozessoren
Netzwerk:
Adapter 1: NAT – Zugang zum Internet, dhcp-client, IP: 10.0.2.15
Adapter 2: Internes Netzwerk, ‘intnet’ – virtuelles LAN für die Terminals

virtuelle Terminals:
keine Festplatte
256MB RAM, 1 CPU
Bootreihenfolge: Netzwerk,
Netzwerk:
Adapter 1: Internes Netzwerk, ‘intnet’

(eins erzeugen, testen, dann klonen)

LTSP Server
apt-get install ltsp-server-standalone (5.3.7)
cp -R /usr/share/ltsp/plugins/ltsp-build-client/Ubuntu /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint
ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/maya
sed -i ‘s/DIST=${DIST:-“$(lsb_release -s -c)”}/DIST=${DIST:-“precise”}/’ “/usr/share/ltsp/plugins/ltsp-build-client/LinuxMint/000-basic-configuration”
ln -s /usr/share/ltsp/plugins/ltsp-build-client/Debian-functions /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint-functions
ltsp-build-client –arch i386

/etc/ltsp/dhcpd.conf – unverändert

apt-get remove network-manager

/etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

service networking restart
service isc-dhcp-server restart

/var/lib/tftpboot/ltsp/i386/lts.conf :

[Default]
LDM_GUESTLOGIN=True
#LDM_DIRECTX=True
LDM_PASSWORD=secret

#[ltsp20]

http://manpages.ubuntu.com/manpages/precise/man5/lts.conf.5.html

nützlich für LDM_AUTOLOGIN : ltsp-shutdown.desktop

LDM_GUESTLOGIN ähnlich ist wie LDM_AUTOLOGIN aber mit der zusätzlichen Möglichkeit sich mit seinem eingnem Namen anzumelden.
Default username ist der Name des Terminals (ltsp20,ltsp21, …)

/home/ltsp20 usw. werde nicht automatisch aufgeräumt.
Eine Lösung dafür:
[Ltsp-discuss] Guest sessions

Create /opt/ltsp/i386/usr/share/ldm/rc.d/S00-guest-sessions, with the
following contents:

case “$LDM_USERNAME” in
guest*)
ssh -S “$LDM_SOCKET” “$LDM_SERVER” ‘cd; rm -rf .* *; rsync -a /etc/skel/ .’
;;
esac

Save and run `sudo ltsp-update-image`, if you’re using NBD.

That’s it, now all user accounts where the username starts with
“guest*”, will have their documents and settings erased on login.

alkisg: Although that rm -rf should really be find . -delete

adduser ltsp20
adduser ltsp21
… (Passwort: secret)

epoptes
(Version 0.5.5)
www.epoptes.org

apt-get install epoptes
gpasswd -a lehrer epoptes

fix for Mate Desktop logout
cd /home/lehrer/Downloads/~epoptes/epoptes/trunk/epoptes-client/
cp endsession /usr/share/epoptes-client
cp endsession /opt/ltsp/i386/usr/share/epoptes-client

cp /etc/resolv.conf /opt/ltsp/i386/etc/
ltsp-chroot passwd
ltsp-chroot apt-get install openssh-server epoptes-client
ltsp-update-image -a i386
service nbd-server restart

PXELINUX Boot Menu

cd /var/lib/tftpboot/ltsp/i386/
cp /usr/lib/syslinux/menu.c32 .
cd pxelinux.cfg
vi default

#default ltsp
default menu.c32

MENU TITLE Titel
timeout 300

label ltsp
menu default
menu label Linux Terminal
kernel vmlinuz
append ro initrd=initrd.img root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7 nbdroot=:ltsp_i386

label xp
menu label Windows XP (ohne Internet)
localboot 0

http://www.syslinux.org/wiki/index.php/Menu.c32

Flightgear

Sunday, June 30th, 2013

After one touch & go and one go-around I made a very nice manual(VFR) landing at EDDF as you can see in this video @40m00s. Later that day I finally found out how to use the 777 autopilot for autolandings (LOC, APP) and even did one auto-takeoff (TO/GA) Ctrl-t.

I also made flightgear more convenient for me with some changes in
/usr/share/games/flightgear/preferences.xml. I added userarchive=”y” for the comm & nav frequencies and radials. Now my valuese are saved when I quit flightgear.

And I added some values to ~/.fgfs/autosave.xml so that the map starts always transparent and with traffic enabled.


  
    
      true
      true
    


Android .apk verändern und signieren

Wednesday, April 17th, 2013

einmalig: Einen keystore erzeugen:
mkdir keys
keytool -genkey -alias anddev.keystore -keyalg RSA -validity 20000 -keystore keys/anddev.keystore

Wenn man z.B. test.apk verändern möchte:
apk-Datei auspacken (unzip) , verändern und wieder einpacken(zip)
Danach:

jarsigner -verbose -keystore keys/anddev.keystore -signedjar test_singed.apk test.apk anddev.keystore
zipalign 4 test_singed.apk test_signed_and_aligned.apk

Quelle

pycallgraph und PosteRazor

Saturday, April 13th, 2013

Um ein python Programm zu dokumentieren habe ich längere Zeit nach “python cross reference” oder “python xref” gesucht und nicht passendes gefunden. Ich hätte nach “python call graph” suchen sollen.
pycallgraph liefert schon recht hilfreiche Ergebnisse als png-Bild. PosteRazor hilft dabei es auf mehrere A4 Seiten zu verteilen, damit man es ausdrucken kann.

easy_install pycallgraph
apt-get install posterazor

pycallgraph –include=my1.* –include=my2.* –include=my3.* ./my1.py
PosteRazor pycallgraph.png

http://pycallgraph.slowchop.com/pycallgraph/wiki/documentation/0.5.1
http://ejrh.wordpress.com/2011/12/23/call-graphs-in-python/
http://everflux.de/posterdruck-verteilung-auf-a4-blatter-ubuntu-linux-windows-661/