====== Betriebssystem Linux ======
Es wird die [[Linux]] Distribution [[Devuan]] Daedalus installiert, als graphische Oberfläche kommt XFCE zum Einsatz.
Vor Herausgabe eines Computers: [[Checkliste abarbeiten]]
===== Features =====
* Geringer Resourcenverbrauch
* Sprachumschaltung im Anmeldebildschirm
* Tastaturumschaltung je Programm
Weitere geplante Features:
* Lokale Sprachlernprogramme
Da es manchmal nachgefragt wird, gibt es auch einige Informationen zu [[Ubuntu]] und [[Mint]].
Eine weitere in Betracht zu ziehende Oberfläche ist [[Mate]].
TODO
===== Basisinstallation =====
* Installation von NetInst-USB-Stick
* Bei Tasksel auswählen
* Debian Desktop Environment
* XFCE
* [[SSH]] Server
* Standard-Systemwerkzeuge
* Automatikauswahl für Paketabhängigkeiten einstellen
APT::Install-Recommends "0";
APT::Install-Suggests "0";
* ''sources.list'' anpassen, z.B.:
deb http://deb.devuan.org/merged daedalus main non-free-firmware
deb http://deb.devuan.org/merged daedalus-security main non-free-firmware
deb http://deb.devuan.org/merged daedalus-updates main non-free-firmware
* Nachinstallieren
* ''apt-get install joe ntpdate inkscape scribus''
* Firmware-Linux
* Locales konfigurieren
* Benutzermanager: ''gnome-system-tools''
* Icons: ''apt-get install gnome-extra-icons gnome-icon-theme-extras''
* Bevorzugte Anwendungen einstellen
* Browser Startseite auf fhpi einstellen
aptitude install policykit-1-gnome
Im Menü fehlt das Icon für //Suspend//. Das kann man korrigieren indem man einen
Link in ''hicolor/48x48/apps'' anlegt:
cd /usr/share/icons/hicolor/48x48/apps
ln -s xfsm-suspend.png system-suspend.png
===== Erweiterte Installation =====
* Inkscape: Vektorgraphiken bearbeiten
* Scribus: Desktop-Publishing
* Build-Essential: Basis für die Programmierumgebung (z.B. C)
aptitude install geany inkscape scribus build-essential
Firefox benutzbar machen
aptitude install xul-ext-adblock-plus xul-ext-cookie-monster xul-ext-noscript
Damit z.B. Handys als USB-Laufwerk gemountet werden können, sind noch weitere
Pakete erforderlich, ob ''jmtpfs'' wirklich benötigt wird ist nochmals zu klären:
aptitude install gvfs-backends jmtpfs gmtp libmtp-runtime
Mit dem Programm ''gmpt'' (direkt aufrufen) kann man direkt Dateien vom Telefon
herunterladen. Insbesonders kann auf ein Aquaris Ubuntu Phone zugegriffen werden.
Weitere ggf. interessante Software:
* FreeCAD
* LibreCAD (2D)
* OpenSCAD - 3D Modeller per Kommandosprache
* Blender
Software für das Internet
aptitude install thunderbird hexchat hexchat-otr mumble gajim
Als Twitter-Client kann z.B. ''corebird'' verwendet werden.
Dieser kann auch mehrere Accounts verwalten!
===== Konfigurationstips =====
Bildschirm nie sperren, das ist z.B. bei den Foyer-PCs sinnvoll, da man dort
sowieso kein Kennwort benötigt und die Benutzer in der Bildschirmschonerabfrage
mangels Kennwort hängen bleiben:
* Einstellungen
* Energieverwaltung
* Sicherheit
* Nie
XFCE: Script beim beenden der Session, z.B. zum Aufräumen
#!/bin/bash
# Add your own pre-session logic here
/usr/bin/xfce4-session
# Add your own logout logic here
# clear Firefox
rm ~/.mozilla/firefox/*.default/*.sqlite
LightDM-Panel einstellen
indicators=~clock;~spacer;~host;~spacer;~session;~power
==== Sprachumschaltung der Oberfläche ====
Sprachumschaltung: Die Sprachauswahl sollte im LightDM oben rechts angezeigt werden.
Zuvor müssen natürlich die gewünschten Sprachen über ''locales'' installiert worden
sein:
dpkg-reconfigure locales
Die Standardsprache des Systems ist in ''/etc/default/locale'' eingestellt.
TODO Dies ist eine Baustelle ;-)
* Konfiguration unter ''/etc/lightdm''
* Ob die Sprachauswahl im Anmeldebildschirm (''lightdm-greeter'') angezeigt wird, hängt von der Einstellung in ''/etc/lightdm/lightdm-gtk-greeter.conf'' ab.
* Autologin: ''lightdm.conf'': ''autologin-user=matrose'' einstellen
Es gibt ein Verzeichnis ''/var/lib/lightdm/data'', dort ist ein ''lightdm''-Verzeichnis,
sowie anscheinend für jeden Benutzer (der sich einmal angemendel hat?) ein Verzeichnis.
Welche Daten dort gespeichert werden sollen ist unbekannt.
Die Sprache für das Menü ergibt sich aus der Einstellung in ''~/.dmrc''.
Wenn sie dort einmal hinterlegt ist, ist nicht klar, wann eine Änderung
dort hinterlegt wird.
Zu erwarten wäre, daß die Auswahl im Greeter dort abgelegt würde.
**Forschungsergebnis:** Wenn eine andere als die Standardsprache aus dem Menü ausgewählt wird,
dann funktioniert die Umschaltung. ''.dmrc'' wird geschrieben.
Wenn die Auswahl auf der Standardsprache gelassen wird, dann erfolgt keine Umschaltung,
''.dmrc'' wird nicht geändert.
#!/bin/bash
# workaround for session language selection in lightdm greeter
# use .dmrc or accountsservice data (if accounts-daemon is running)
# we need this only if lightdm is being used
if pidof lightdm
then
# if accountsservice is used, get info from there.
# if not, use .dmrc
if pidof accounts-daemon
then
LANGFILE="/var/lib/AccountsService/users/$USER"
else
LANGFILE="$HOME/.dmrc"
fi
# extract, fix and export $LANG
TEMPLANG=$(cat "$LANGFILE" | grep ^Language= | cut -d '=' -f 2 | sed 's/utf8/UTF8/')
[ ! -z "$TEMPLANG" ] && export LANG=$TEMPLANG
# convert $LANG to $LANGUAGE and export
TEMPLANGUAGE="$(echo $LANG | cut -d '@' -f 1 | cut -d '.' -f 1):$(echo $LANG | cut -d '@' -f 1 | cut -d '.' -f 1 | cut -d '_' -f 1)"
[ ! -z "$TEMPLANGUAGE" ] && export LANGUAGE=$TEMPLANGUAGE
fi
==== Umschaltung der Tastaturbelegung ====
Die auf der Systemkonsole verwendete Tastaturbelegung wird eingestellt mit
dpkg-reconfigure console-data
Oben rechts im Panel ist eine Flagge, die die aktuelle Tastaturbelegung für
das gerade laufende Programm anzeigt. Wechsel kann durch anklicken der Flagge
erfolgen. Das zugehörige Paket für diese Funktion ist ''xfce4-xkb-plugin''.
In der Standardkonfiguration ist diese Funktin nicht aktiviert.
* Panel anklicken
* Zur Leiste hinzufügen
* Für Arabisch steht keine Flagge zur Verfügung, Workaround:
cd /usr/share/xfce4/xkb/flags
ln -s sy.svg ara.svg
==== Entfernen von Systemd ====
Zuerst an dieser Stelle der Hinweis auf [[https://devuan.org/|Devuan]], das ist ein Fork von
Debian, der ohne Systemd auskommt.
Ansonsten ist die gestellte Aufgabe, die Abhängigkeit von wichtigen Paketen von
systemd zu lösen oder Alternativen zu suchen.
* Vorbereitungen
Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1
* Umstellen auf SysV-Init
apt-get install sysvinit-core
* Neustarten
shutdown -r now
* systemd entfernen
apt-get purge systemd
* Aufräumarbeiten
deluser systemd-timesync
deluser systemd-network
deluser systemd-resolve
deluser systemd-bus-proxy
delgroup systemd-journal
rm -Rf /var/log/journal
Wenn der Network-Manager nicht benutzt werden soll (z.B. Abhängigkeit zu pam-systemd)
kann für die Verwaltung der WLAN-Verbindungen ''wicd'' benutzt werden.
=== Compilieren von eudev ===
Quelltexte als tgz unter: https://dev.gentoo.org/~blueness/eudev/
Fork mit Unterstützung für Debian: https://github.com/anto/eudev
Voraussetzungen
apt-get install autoconf automake build-essential git gperf libtool pkg-config xsltproc
Übersetzen
git clone https://github.com/gentoo/eudev.git
cd eudev
./autoconf
./configure
make
Während des autoconf-Laufes wird eine Internetverbindung benötigt, weil die
Erstellung der manpages irgendwelches Docbook-Zubehör herunterladen will. WTF?
=== Einstellungen für Mozilla ===
Noscript abgewöhnen nach Hause zu telefonieren:
This feature, enabled by default, can be disabled by unchecking "NoScript Options|Advanced|ABE|WAN IP ∈ LOCAL".