Archive for the 'linux' Category

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/

ArchLinux auf dem Raspberry Pi

Thursday, March 28th, 2013

Hatte hier noch ein paar 2GB SD-Karten ‘rumliegen, genauer gesagt micro-SD mit einem Adapter.
Das Image von Arch Linux ARM ist 1,9GB – passt! 😉
Ausgepackt und auf die Karte kopiert genau wie bei Raspbian:


unzip archlinux-hf-2013-02-11.zip
dd bs=1M if=archlinux-hf-2013-02-11.img of=/dev/mmcblk0

ArchLinux ARM (alarmpi) startet ungefähr doppelt so schnell wie Raspbian, alerdings ohne grafischen Desktop. Bildschirm, Tastatur, Maus werden nicht benötigt – man kann sich sofort übers Netzwerk per ssh anmelden. Benutzer: root Passwort: root.
Nach der Installation sind auf der 2GB Karte noch 1,2GB frei
In diesen 2 Dateien stellt man das System auf deutsche Tastatur um:

/etc/locale.conf
/etc/vconsole.conf

oder so:

localectl set-keymap de
localectl set-x11-keymap de

WLAN aktivieren
ip link set wlan0 up
wifi-menu wlan0

# eventuell nicht nötig:
systemctl enable dhcpcd@wlan0.service
systemctl enable net-auto-wireless.service

zusätzliche Software intallieren
z.B. tmux

pacman -S tmux

Weitere Tipps für ArchLinux-Anfänger:
https://wiki.archlinux.org/index.php/Beginners’_Guide

Raspberry Pi

Thursday, March 28th, 2013

Mein (erster) Raspberry Pi ist heute angekommen.

Gehäuse
Teko-Gehäuse passt, allerdings muss man bohren und sägen um an den GPIO Stecker zu kommen.

Netzteil

Glücklicherweise habe ich bereits von meinem HTC Mobiltelefon ein USB-Ladegerät/Netzteil mit 1A

SD-Karte
Kingston SD10V 8GB Class10

WLAN

Edimax EW-7811Un

Betriebssystem
Raspbian

unzip 2013-02-09-wheezy-raspbian.zip
dd bs=1M if=2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0

(direkt auf die Karte kopieren, nicht auf die Partition!)

Boot to LXDE Desktop: 40 Sekunden. Boot-Meldungen und Desktop erscheinen sowohl über HDMI als auch via Composite Video Out – keine manuelle Konfiguration nötig.
Bildschirm, Tastatur, Maus werden nicht benötigt – man kann sich sofort übers Netzwerk per ssh anmelden.
Benutzer: pi Passwort: raspberry

Erstaunliches Ergebnis von hdparm im Vergleich zum Kartenleser im Laptop:

Laptop:
/dev/mmcblk0:
Timing cached reads: 1624 MB in 2.00 seconds = 811.98 MB/sec
Timing buffered disk reads: 32 MB in 3.09 seconds = 10.35 MB/sec

Raspberry Pi:
/dev/mmcblk0:
Timing cached reads: 312 MB in 2.00 seconds = 155.81 MB/sec
Timing buffered disk reads: 56 MB in 3.07 seconds = 18.25 MB/sec

Linux Mint als LTSP Server für Diskless Workstation

Saturday, February 16th, 2013

Heute habe ich auf einem Linux Mint(Maya) PC einen LTSP Server für “Fat” Clients installiert.
Dabei gab es diese keine Hürde:

/usr/share/ltsp/plugins/ltsp-build-client/common/010-etc-hosts: line 3: /opt/ltsp/i386/etc/hosts: No such file or directory
error: LTSP client installation ended abnormally

und hier die Lösung dafür:
http://www.linuxmint-fr.org/forum/serveurs/108084-probleme-linux-mint-13-qmayaq-avec-ltsp-53.html

weiter ging es nach dieser Anleitung:
http://www.thefanclub.co.za/how-to/configure-update-auto-login-ubuntu-12-04-ltsp-fat-clients

apt-get install  ltsp-server-standalone
cd /etc/ltsp/
vi dhcpd.conf 
cd /etc/network/
vi interfaces 

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
  
service nbd-server restart
/etc/init.d/isc-dhcp-server start

Ein NFS Server wird nicht mehr benötigt. Das root-FS ist via nbd & squashfs gemounted und das $HOME des Benutzers wird per fuse.sshfs eingebunden.
Beim LDM Anmeldebildschirm unten links: Einstellungen->Sitzungsart wählen->Ubuntu 2D damit man nach dem Login auch die Icons an der linken Seite von Unitiy sieht.

TODO:
* flashplugin: es erscheint in about:plugins, wird aber nicht benutzt ?!
* auto-login
* KDM & NFS statt LDM für mehr Geschwindigkeit
* auch mal mit kubuntu und lubuntu ausprobieren
* nvidia-Trieber

pcal

Tuesday, February 12th, 2013

Für meinen Kalender verwende ich immer noch Papier. Früher habe ich korganizer zum drucken der Kalenderblätter benutzt, weil ich KDE Nutzer war. Leider hatte ich diverse Probleme mit akonadi und kmail. So musste ich korganizer deinstallieren. Als schlanke Alternative habe ich das Kosolenprogramm pcal entdeckt.

pcal -P a4 -t Helvetica-Bold/24 -d Helvetica-Narrow/14 -b Sun -b Sat  -F 1  7 2013 6 

-t …Font der Überschrift
-d …Font der Datumsnummern
-b …Samstag & Sonntag auch in schwarz statt grau
-F 1 …Die Woche mit Montag beginnen, statt mit Sonntag
7 …mit Monat Juli beginnen
2013 .. das Jahr
6 … Anzahl der Monate

Drucken ohne CUPS

Thursday, December 20th, 2012

Auf meinem Schreibtisch liegt seit ein paar Tagen ein kleiner mobiler Drucker: RW 420 von Zebra. Das Ziel: Von einem Android Gerät darauf drucken. Die Zebra Utility App hift momentan nicht, denn die App kann nur Blutooth und WLAN und der Drucker kann nur RS232 und USB.
Also den Drucker erst mal ans Linux Laptop angeschlossen. Linux Mint erkennt ihn nicht automatisch, aber ich konnte ihn mit Cups manuell einrichten (Zebra CPCL Label Printer). Danach konnte ich z.B. von LibreOffice aus drucken, auch Grafik mit 203dpi.
Der nächste Schritt war, es ohne CUPS zu probieren.
Der Drucker versteht “CPCL” – Dazu gibts beim Hersteller das Handbuch als pdf. Ein Hello World sieht z.B. so aus:

! 0 200 200 210 1
TEXT 4 0 30 40 Hello World
PRINT

Das habe ich mit

cat test.cpcl > /dev/usb/lp0 

geschickt, aber nix passierte. Im Handbuch steht CR+LF als Zeilenende wäre wichtig. hmmm….

hexdump -c test.cpcl
unix2dos test.cpcl
unix2dos: Datei test.cpcl wird ins DOS-Format konvertiert ...
hexdump -c test.cpcl
cat test.cpcl > /dev/usb/lp0

Es funktioniert! 🙂