Helligkeit des Bildschirms steuern

Die Helligkeit des Bildschirms kann man über die Einstellungen manuell anpassen oder auch automatisch anpassen lassen.

Leider funktioniert dies mit Deepin bei meinem Apple MacBook Air nicht ganz so gut, so dass ich öfters die Helligkeit von Hand einstellen möchte.

Mit der Maus ist dies zwar problemlos möglich, aber von der Bedienung her nicht immer ganz handlich. Da ich aber immer auch ein Terminal offen habe, habe ich mich nach einer Lösung für die Kommandozeile umgesehen.

Das Tool xrandr kann die Helligkeit einstellen. Ein einfacher Aufruf von xrandr zeigt erst einmal alle vorhandenen Monitore an incl. der Information, ob diese angeschlossen sind oder nicht und welche Modi unterstützt werden. Für die Einstellung benötigen wir den Namen des aktiven Monitors, daher schauen wir nach der Zeile mit „connected primary“.

Die Helligkeit lässt sich nun mit einem Aufruf

xrandr –output <Name> –brightness <Level>

einstellen. <Name> ersetzen wir durch den Namen des Monitors und <Level> mit der Helligkeit. 0 ist dabei komplett dunkel und 1 ganz hell.

Damit ist die Helligkeit mit einem einfachen Befehl anpassen kann, habe ich mir kleine Scripte geschrieben, die ich mit einem Befehl aufrufen kann, z.B.:

#!/bin/sh
# Sets the bightness of active monitor to 1
#
monitor=`xrandr -q | grep "connected primary" | awk '{ print $1 }'`
xrandr --output $monitor --brightness 0.7

So habe ich mir kleine Scripte geschrieben für low, medium und high Einstellungen.

Aktueller Kernel für Deepin

Der Eine oder Andere, der Deepin nutzt, spielt evtl. mit dem Gedanken, einen neuen 5er Kernel für sein System zu besorgen. Deepin 15.11 nutzt derzeit noch den Kernel 4.15 und es den 5er Kernel gibt es schon eine gewisse Zeit und bringt evtl. das eine oder andere Feature mit, das für einen interessant ist.

Hinweis: Der 4er Kernel wird natürlich auch weiter gepflegt! Es ist also kein Zeichen für ein Sicherheitsrisiko, dass diverse Distributionen noch auf einen 4er Kernel setzen! Wenn alles funktioniert, dann gibt es in der Regel keinen Grund für irgendwelche Experimente oder Aktionen!

Es gibt mehrere Möglichkeiten, wie man an den neuen Kernel kommen kann.

  1. Es gibt ein neues Tool: Deepin Kernel Updater, mit dem auch etwas unbedarfte Nutzer schnell und einfach an einen neuen Linux Kernel kommen können (Achtung: Derzeit noch in der Beta Phase!) Dies ist ein einfacher und schneller Weg zum 5er Kernel.
  2. In dem internationalen Deepin Forum finden sich oft Threads zu neuen Kerneln, teilweise stellen Anwender den von Ihnen gebauten Kernel dort auch bereit. Wobei dies durch den neuen Deepin Kernel Updater wohl Vergangenheit sein müsste.
  3. Es ist natürlich möglich, den aktuellen Linux Kernel von Debian sid zu verwenden. Wenn die sid Repositories eingebunden sind, dann lässt sich z.B. aktuell der Kernel 5.2.0 mit einem einfachen Aufruf installieren:
    sudo apt-get -t sid install linux-image-amd64
  4. Eine letzte Variante ist die eigene Übersetzung des aktuellen Linux Kernels. Dies bedeutet aber einiges an Aufwand und Geduld. Falls aber bestimmte Dinge benötigt werden, die in den bereitgestellten Paketen nicht enthalten sind, dann ist dies oft die letzte Möglichkeit.

Im Folgenden beschäftige ich mich mit dem manuellen Übersetzen eines aktuellen Kernels auf einem Deepin System.

Vorarbeiten

Als erster müssen wir die notwendigen Pakete installieren:

apt-get install libncurses-dev wget bzip2 make build-essential bc chrpath gawk texinfo libsdl1.2-dev whiptail diffstat cpio libssl-dev flex bison libelf-dev libssl-dev libncurses5-dev qt4-default qt4-dev-tools

Herunterladen und Entpacken der Linux Kernel Sources

Der Linux Kernel kann unter https://www.kernel.org/ herunter geladen werden. Dazu einfach den tarball des gewünschten Kernels herunter laden.

Nun entpacken wir den Kernel an einem geeigneten Ort. Dies kann z.B. mit folgendem Befehl erfolgen

tar xf ~/Downloads/linux-5.2.8.tar.xz
cd linux-5.2.8

Nun kopieren wir die aktuelle Konfiguration des Kernels, den wir im Einsatz haben:

cp /boot/config-`uname -r` .config

Anpassung der Konfiguration

Nun müssen wir die Konfiguration anpassen. Wir müssen mindestens einmal ein

make oldconfig

laufen lassen um die Einstellungen, welche neu zu der eingespielten Konfiguration sind, vornehmen zu können. Wer hier die ganzen Optionen nicht durchgehen möchte, kann einfach ein

yes "" | make oldconfig

laufen lassen.

Eine individuelle Einstellung diverser Einstellungen kann man mit einem der folgenden Befehle vornehmen:

make config
make menuconfig
make xconfig

Ich selbst rate zu make menuconfig oder make config, da diese am intuitivsten zu bedienen sind.

Übersetzen des Kernels

Als nächstes übersetzen wir den Kernel. Da hier sehr viele einzelne Dateien zu übersetzen sind, macht es Sinn, make anzuweisen, mehrere Dateien parallel zu übersetzen. Dazu dient der Parameter -j<x> wobei x für die Anzahl der parallelen Übersetzungen steht, z.B. -j4 für 4 parallele Übersetzungen.

Übersetzen des Kernels

make -j4 bzImage modules

Bau von Debian Paketen (diese finden sich dann im Anschluss ein Verzeichnis höher)

make -j4 pkg-deb

Installation des compilierten Kernels

Die Installation kann man nun direkt von den Sourcen aus anstoßen:

sudo make install install-modules

Alternativ lassen sich die erstellten Debian Pakete nutzen (Dies ist der von mir empfohlene Weg!):

cd ..
sudo dpkg -i ../

Nun noch den Bootloader grub aktualisieren und das System neu starten

sudo update-grub
sudo reboot

Links

Deepin mit Debian Repositories nutzen

Die Deepin 15.x Distribution basiert auf Debian, auf Debian sid (unstable) um genau zu sein. Wenn einem nun irgendeine Software in Deepin fehlt, diese aber bei Debian sid vorhanden ist, dann liegt es nahe, diese von den Debian Repositories zu beziehen.

Ehe wir uns aber Software aus einer weiteren Quelle beziehen sollten wir uns genau überlegen, was für Probleme wir uns damit eventuell einhandeln könnten:

  • Wenn Deepin Pakete von Debian erneuert werden, dann kann es passieren, dass Paketabhängigkeiten nicht mehr richtig funktionieren.
  • Pakete von Debian sid/unstable sind weniger getestet. Hier findet die Hauptarbeit an der Distribution statt und die Pakete wandern dann nach erfolgreichem Einsatz in die Testing Distribution ehe sie dann in einem stabilen Release landen.
  • Das Security Team von Debian kümmert sich in unstable nicht um Security Fixe. Daher kann es sein, dass notwendige Sicherheitspatche erst verzögert in sid/unstable landen.

Aus diesen Gründen ist die klare Empfehlung, dass wir bei Software doch am Besten bei der Software der Deepin Distribution bleiben und nur fehlende Stücke von den Debian Repositories installieren. Dies lässt sich über ein „Apt Package Pininning“ (oder kurz Apt Pinning) erreichen.

Konfiguration
Als erstes fügen wir das Repository von Debian hinzu:
Dazu erstellen wir die Datei /etc/apt/sources.list.d/debian.list mit folgendem Inhalt:

deb http://ftp.debian.org/debian sid main contrib non-free
deb-src http://ftp.debian.org/debian sid main contrib non-free

Nun setzen wir die Prioritäten (Apt-Pinning). Dazu erstellen wir die Datei /etc/apt/preferences mit folgendem Inhalt:

# Deepin Package Pinning
Package: *
Pin: release o=Linux Deepin
Pin-Priority: 990

Die Prioritäten können wir nach einem „sudo apt-get update“ nun per „sudo apt policy“ prüfen. Der Befehl sollte uns nun die Policies aufzeigen:

  • Prio 100 für /var/lib/dpkg/status
  • Prio 500 für debian repositories (mehrere)
  • Prio 990 für deepin repositories (mehrere)

Nun steht einer Nutzung nichts mehr im Wege. wir synchronisieren erst einmal unsere apt datenbank mit den Repositories: apt update

Nun können wir ein Paket von den Debian Repositories installieren oder das installierte Paket von dort updaten:
apt-get -t sid install libreoffice

(um z.B. libreoffice von Debian zu installieren oder auf die Debian Version upzugraden)

Links

O2 Surfstick 3 mit Deepin

Editiert am 12. August 2019: Die Einrichtung der Breitband-Verbindung wurde noch im Detail beschrieben.

Ich habe noch zwei ältere USB HSDPA Datensticks (O2 Surfstick 3 und Huawei E1550), welche unter Linux immer problemlos funktioniert haben. Linux erkennt diese und der Netzwerk Manager übernimmt dann die weitere Benutzung (also PIN Abfrage und dann der Verbindungsaufbau).

Leider wird dies vom Deepin Netzwerkmanager (noch) nicht unterstützt. Als Workaround kann ein anderer Netzwerkmanager zusätzlich installiert werden.

Meine Wahl ist auf den Betzwerkmanager von Gnome gefallen, welcher über:

sudo apt-get install network-manager-gnome

installiert werden kann. Nach einer Neuanmeldung findet dieser sich dann in der Taskleiste neben Batterie, Lautstärke, u.s.w. und wir können das Netzwerk nun zusätzlich über diesen Netzwerkmanager steuern.

Auch ohne Neustart lässt sich die Applikation im Menü unter System -> Advanced Network Configuration finden und starten.

Einrichtung des Sticks

Die Einrichtung hängt nun natürlich sowohl von der Hardware als auch vom Provider ab. Ablauf ist aber wie folgt:

a) Start der Applikation Advanced Network Configuration und das „+“ drücken:

Nun wählen wir „Mobiles Breitband“ aus:

Und wählen im Anschluss die (vorher eingesteckte!) Hardware aus:

Im weiteren Verlauf werden wir nach einigen weiteren Informationen abgefragt, die von Provider zu Provider unterschiedlich sind. Bei mir war mein Provider zwar aufgelistet, aber der Abrechnungsmodus war nicht angegeben, so dass ich den APN von Hand eingegeben habe.
Am Ende wurde die Verbindung angelegt:

Hier habe ich lediglich den Verbindungsnamen angepasst. Es ließe sich aber noch sehr viel mehr einstellen, was aber für mich nicht notwendig war.

So auf ein Neustart verzichtet wurde, so wird dieser vor der Nutzung des Sticks noch notwendig. Das Network Manager Applet lässt sich zwar per nm-applet starten, der Stick wird gesehen und es wird auch nach der Pin gefragt:

Und in der Status-Leiste sieht man nun neben dem Deepin Network Manager auch den Gnome Network Manager:

Im roten Kreis ist der Gnome Network Manager zu sehen und im blauen Kreis der von Deepin. Somit hat man nun leider zwei Symbole in der Leiste. (Bei meinem Bild sieht man die Symbole mit einer verbundenen Ethernetverbindung.)

Deepin

Was ist Deepin?
Deepin ist eine Linux Distribution aus China, welche auf Debian basiert und vor allem einige UI Komponenten mitbringt. Hinter der Distribution steckt die chinesische Firma Deepin Technology Co., Ltd.

Was macht Deepin aus?
Deepin bringt das Deepin Desktop Environment, welches aus meiner Sicht eine sehr gute Bedienung mit sich bringt – derzeit aus meiner Sicht die Beste Desktop-Lösung unter Linux.

Besonders interessant ist die Konfiguration, welche sich an der rechten Seite als Leiste öffnet.

Wie komme ich zu Deepin?
In letzter Zeit sind einige, sehr kleine Geräte auf den Markt gekommen. One Mix 3S Yoga, Chuwi Minibook, GPD P2 Max, …) die ich als späteren Ersatz für mein älteres Apple MacBook Air 11″ ansehe. Und da kommen dann auch teilweise Touch Displays zum Einsatz, so dass ich schon nach einer Linux Distribution gesucht habe, die ich dann auch diesbezüglich nutzen kann. Und auch in dem Bereich scheint Deepin mit am weitesten zu sein…

Mein bisheriges Fazit
Deepin ist schon eine sehr gute und ausgereifte Distribution. Die Oberfläche lässt sich sehr gut bedienen und das Meiste war intuitiv nutzbar. Nur wenige Dinge musste ich kurz suchen (z.B. die Konfiguration von aktiven Ecken).

Somit wird das erst einmal meine bevorzugte Distribution, welche ich für meine Zwecke einsetzen werde und über die ich in Zukunft noch ein paar weitere Beiträge schreiben werde.

Links