Desktop-Auto-Login mit anderem Namen als pi

Folgende Änderungen in der Datei
/usr/bin/raspi-config
vornehmen. (Zeilenangaben passen zum Jessie im Dezember 2015)
Insgesamt kommt pi ab Zeile 699 öfters vor, auch an Stellen, um die Änderungen rückgängig zu machen. Für den grafischen Benutzer braucht man Abschnitt B4.
Wichtig: Jedes Update von rapsi-config ersetzt die Datei ohne Nachfrage!

pi durch neuen Nutzer ersetzten in Zeile 750:
if id -u pi > /dev/null 2>&1; then
und in Zeile 837 identisch.

In Zeile 757 ebenfalls pi ersetzten:
sed /etc/lightdm/lightdm.conf -i -e „s/^#autologin-user=.*/autologin-user=pi/“

Seit Jessie:
In der Datei
/etc/systemd/system/autologin@.service
pi in der Zeile 28
xecStart=-/sbin/agetty –autologin pi –noclear %I $TERM
ersetzen.

Quellen: http://jankarres.de/2013/09/raspberry-pi-standard-benutzername-pi-aendern/
https://www.raspberrypi.org/forums/viewtopic.php?t=125977&p=843850

Ich habe hier nur pi in den Befehlen geändert. So zeigt das Script weiterhin pi an, obwohl es die Aktionen für den neuen Nutzer durchführt.

DPMS unter Raspbian

Problem: bislang ist es mir nicht gelungen, das DPMS-Stromsparen des Bildschirms hinzukriegen. Er hängt mittels HDMI-DVI-Adapter am Rasp.

Lösung:
1) Minimal-Screensaver einstellen, der aber eigenen Prozess aufruft.
2) Skript per crontab prüfen lassen, ob der Screensaver an ist und dann den Schirm abschalten.
3) Skript zum Anschalten des Schirms auf globale Tastenkombination legen.

Daraus resultieren bei langen Screensaver-Wartezeiten (START) und wenigen Cron-Aufrufen (DIFFERENZ) Vor- und Nachteile:
Vorteile großer DIFFERENZ: man hat länger Zeit, nach START noch das Powersaving zu verhindern, zudem geht mit etwas Glück der Schirm nicht nach einem versehentlichen Tastendruck wieder an, falls START verstreicht, bevor das nächste Cronereignis eintritt. (Vorteil, weil es dauerndes An/Aus verhindert.)
Nachteile großer DIFFERENZ: dümmstenfalls addieren sich START und DIFFERENZ, bis der Schirm ausgeht, zudem geht er nach einem Tastendruck dümmstenfalls erst nach DIFFERENZ wieder an (deswegen ist die Tastenkombi notwendig).

Details zur Lösung:

Screensaver-Einstellungen allgemein:
nur 1 Screensaver
Screensaver: Deco
Schwärzen nach: START
Wechsel nach: 0 = nie
Sperren nach: 0 und nicht aktiviert!
WICHTIG: Aktiviert man die Sperre, klappt die Tastenkombination nicht. Je nach START und DIFFERENZ wartet man die Zeit halt ab, oder gibt sein Passwort blind ein. Das klappt, weil der Sperrdialog exklusiv den Fokus hat und der Cursor im Passwortfeld sitzt. Danach geht die Tastenkombination wieder. Wer seine Himbeere aber daheim betreibt, wird das Passwort nicht brauchen, dafür aber Strom sparen wollen.

Einstellungen des Screensavers deco:
Dauer: 1 min
Farben: 2
min width: 100
min heigth: 100
max depth: 1
kein Häkchen gesetzt

Datei schirm-an.sh im BENUTZER-Verzeichnis:
#! /bin/bash
nummer=`/usr/bin/sudo /bin/fgconsole`
/usr/bin/sudo /usr/bin/tvservice -p
/usr/bin/sudo /bin/chvt 6
/usr/bin/sudo /bin/chvt $nummer

Datei /home/BENUTZER/.config/openbox/lxde-rc.xml bearbeiten:
vor < !-- Keybindings for window switching --> wurde eingefügt:
    < !-- DPMS Screen ON -->
    < keybind key="W-F12">
      < action name="execute">
        < command>/home/BENUTZER/schirm-an.sh
      < /action>
    < /keybind>

Hier muss man Pfad und Dateinamen der Schirm-an-Datei anpassen!
Die gewünschte Tastenkombination muss man auch anpassen. W-F12 bedeutet Winkey+F12. C steht für Control, A für Alt und S für Shift.
Und aufpassen: da ich nicht wusste, wie man WordPress dazu bringt, die HTML-Tags, beginnend mit „< BEFEHL" als Text anzuzeigen, habe ich da immer ein Leerzeichen zwischen. Wenn man's rauskopiert, diese Leerzeichen löschen!

Datei dpms-sparen.sh im BENUTZER-Verzeichnis:
#! /bin/bash
aktiv=`/bin/ps xa | /bin/grep 'de[c]o -root -delay'`
status=`/usr/bin/sudo /usr/bin/tvservice -s | /bin/grep 'TV is off'`
if [ "$aktiv" != "" ]; then
  if [ "$status" == "" ]; then
    /usr/bin/sudo /usr/bin/tvservice -o;
  fi
else
if [ "$status" != "" ]; then
  nummer=`/usr/bin/sudo /bin/fgconsole`;
  /usr/bin/sudo /usr/bin/tvservice -p;
  /usr/bin/sudo /bin/chvt 6;
  /usr/bin/sudo /bin/chvt $nummer;
  fi
fi

Hier muss man den Dateinamen des Screensavers anpassen, wenn man nicht Deco benutzt.

Die Crontabelle editieren:
crontab -e
Dann eine dieser Zeilen einfügen, ggf. abgewandelt:
für Ausführung einmal pro Minute:
* * * * * /home/BENUTZER/dpms-sparen.sh
für Ausführung alle 5 Minuten:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/BENUTZER/dpms-sparen.sh

Hinweis:
Wer sich wundert, warum in den Skripten für wirklich jeden Befehl der absolute Pfad angegeben wurde: wird das Skript nicht von einem selbst aufgerufen, also bspw. vom Cron-Daemon, kennt der meine PATH-Variablen nicht, und scheitert.

Quellen:
http://raspberrycenter.de/forum/grrr-monitor-bleibt-trotz-dpms
http://ubuntuforums.org/showthread.php?t=1422861

MySQL-root-Passwort zurücksetzen

Root-Passwort vergessen, weil nie benutzt? Oder bei der unter 12.04 ziemlich komischen Setup-Routine was Falsches eingegeben?
Hier steht nun, was getan werden muss. Ein riesiges Problem ist, dass der mysqld neustartet, noch bevor der alte Prozess komplett weg ist. Meine Abhilfe: die „EXE“ umbenennen:
01) Alles als root => su
02) cd /usr/sbin/
03) mv mysqld _mysqld
04) killall mysqld
05) Prüfen, ob wirklich alle weg sind
06) mv _mysqld mysqld
07) su mysql => Start des mysql-Servers mit den richtigen Rechten, sprich im Kontext von User mysql
08) mysqld –skip-grant-tables &
09) mysql
10) mysql> UPDATE mysql.user SET Password=PASSWORD(‚NeuesPasswort‘) WHERE User=’root‘;
11) mysql> FLUSH PRIVILEGES;
12) Strg+c
13) killall mysqld
14) exit, erneut wieder su
15) mysqld –user=mysql &

Man kann das root-Passwort dann wieder ändern, aber erst erfolgreich, wenn er nicht mehr mit –skip-grant-tables läuft. Und vor allem: für alle root’s ändern!

Wahrscheinlich kann man es sich einfacher machen, besonders bei den Benutzerkontexten. Aber das ist mir jetzt egal. Zudem ist der Start mit –skip-grant-tables ein Sicherheitsrisiko, was mir bei meinem Desktop-PC aber egal war. Weitere Infos hier:
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

WLAN-Settings im Raspbian

Aussehen der Datei interfaces:
auto lo

iface lo inet loopback

iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
dns-nameservers xxx.xxx.xxx.xxx

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
dns-nameservers xxx.xxx.xxx.xxx
wpa-ssid „Meschen_lesbarer_Name“
wpa-psk „xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx“

Den wpa-psk berechnet man so:
wpa_passphrase WLAN-NAME PASSWORT (alles ohne Anführungszeichen)

Bluetooth-Tastatur

Raspbian: Raspbian GNU/Linux 7, Kernel 3.12.28+
BT-Dongle: Lindy Bluetooth 3.0 HS + WLAN Class2 (Lindy No.52213)
BT-Tastatur: Perixx Periduo-880 (mit echtem deutschen Tastatur-Layout und Touchpad!)

Verbinden (alles als root bzw. jeweils mit sudo):
Nach apt-get update und apt-get upgrade, um auf dem neuesten Stand zu sein:
1) apt-get install bluetooth bluez-utils blueman
2) lsusb um zu schauen, ob er den Dongle findet, hier heißt er „Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)“
3) Die Datei /usr/bin/bluez-simple-agent editieren, darin den Eintrag „KeyboardDisplay“ ersetzen durch „DisplayYesNo“, speichern.
4) hcitool scan sucht alle BT-Geräte. Die MAC-Adresse, z.B. AA:BB:CC:DD:EE:FF, der Tastatur (hier „KT-1332 Bluetooth Keyboard“) notieren!
5) bluez-simple-agent hci0 AA:BB:CC:DD:EE:FF eingeben, halt mit obiger MAC
=> DisplayPasskey (/org/bluez/xxxx/hci0/dev_AA_BB_CC_DD_EE_FF, 123456)
6) Die letzten 6 Zahlen sind die PIN => auf der Tastatur eingeben und Enter drücken
=> Anzeige von „Release“ und „New device (/org/bluez/5920/hci0/dev_AA_BB_CC_DD_EE_FF)“
7) Noch während die Anzeige der Tastatur blinkt folgenden Befehl eingeben:
bluez-test-input connect AA:BB:CC:DD:EE:FF yes
7) bluez-test-device trusted AA:BB:CC:DD:EE:FF yes eingeben, damit dem BT-Gerät dauerhaft vertraut wird.
8) Neustart, um zu testen, ob die Tastatur automatische wieder erkannt wird
=> war bei mir der Fall
Automatisch auch Maus unter X und XBMC-Mediaplattform vorhanden!
Falls der dbus nicht aktiv ist: update-rc.d -f dbus defaults eingeben