zur Übersicht nächste Seite

Programmierfehler Debian 10 Buster Gnome

Hier schreibe ich als Anfänger über meine Probleme mit Debian 10 Buster
auf einem 64-bit Computer.

Der Monitor-Bildschirm bei einer Auflösung von 1280x720 war um ca. 4cm nach links verschoben und dadurch der Starter für Programme links kaum mehr erreichbar (dies ist immer noch so am 15.02.2020). Bei anderen Bildschirm-Auflösungen war alles gut. Nun kann man bei dem Monitor selbst eine automatische Anpassung durchführen und das Problem bei 1280x720 damit korrigieren. 
Bei mir ist es allerdings so, daß ein zweites Betriebssystem über einen KVM-Switch auch auf den gleichen Monitor zugreifen kann und wenn ich jetzt unter Debian 10 eine Anpassung des Monitors vornehme dann ist der Bildschirm bei dem anderen Betriebssystem um ca. 4 cm nach rechts verschoben.

Dieses Problem gab es bei Debian 8 nicht, allerdings ist es in Debian 9 auch vorhanden. Also ist dieses Problem schon einige Jahre alt und auch unter wayland vorhanden. Als Anfänger war es für mich sehr schwer überhaupt einen Zugang zu diesem Problem zu finden. Nach langem Suchen im Internet habe ich eine Lösung für mich gefunden. 
Unter xorg funktioniert dies, aber unter wayland nicht.
Hier in Kurzform meine Erläuterung. Zunächst habe ich 
gnome-system-log
installiert (über synaptic). Dort habe ich mir syslog angeschaut und mir ist aufgefallen daß Informationen über Bildschirmauflösungen angezeigt werden. 
Z.B.
Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e)
Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e)
.
.
.

Es gibt mehrere Gruppen in denen man solche Informationen findet. Es gibt Gruppen in denen nach der Bildschirmauflösung
x0.0
steht. Und solche in denen nach der Bildschirmauflösung
xZahl
steht (Zahl ist 75.0 oder 60.0 oder 59.8 ...)

In der Gruppe mit 0.0 gibt es bei 1280x720 eine Ausnahme. Auch in dieser 0.0-Gruppe steht bei 1280x720 die x60.0

Die Modeline geben dem Monitor Anweisungen wie Bildpunkte auf dem Monitor gezeichnet werden - und jeder Monitor hat seine ganz persönliche Modeline. Falsche Modeline können den Monitor beschädigen. Deshalb sollte man sehr vorsichtig sein bei Änderungen der Modeline. Aber zuerst suchte ich die Modeline des verschobenen Bildschirms zu bestimmen. Dazu die Bildschirmauflösung 1280x720 einstellen und dann im Terminal eingeben
xvidtune -show
"1280x720" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync

Dies stimmt mit der rosa-modeline überein. Die mintfarbene modeline ist verlorengegangen. Also gibt es den Verdacht daß Debian mit der mintfarbenen modeline die richtige modeline festgestellt hat aber diese durch einen Programmierfehler nicht weitergereicht wurde. In der Tat ist es so daß bei Verwendung der mintfarbenen modeline der Monitor alles korrekt anzeigt. 

Nun ist die Änderung der modeline in Debian Buster eigentlich nicht vorgesehen - es soll alles automatisch geschehen. So funktionieren auch die meisten Anleitungen zum Ändern der modeline die im Internet zu finden sind bei Debian Buster überhaupt nicht. Für wayland hat man keine Möglichkeit - man muß warten bis irgendjemand den Programmierfehler findet. Aber unter xorg kann man das Programm
xrandr
verwenden. Dazu muß man den Namen des Monitors ermitteln
xrandr | grep " connected"
VGA-1 connected primary 1280x720+0+0 ....

Am Anfang steht der Name des Monitors. Bei mir in diesem Fall
VGA-1

Auf der folgenden Seite ist die Anwendung von xrandr sehr gut beschrieben
http://www.knetfeder.de/linux/index.php?id=131
Und nach dieser Anleitung habe ich das Monitor-Problem bei mir gelöst.


Es gibt bei Debian 10 einen Fehler beim Bearbeiten von txt-Dateien die in früheren Versionen von Debian erzeugt wurden. Hier eine Beispiel-Datei  te.txt  die in Debian 9 erzeugt wurde. Aufruf im Terminal (Bild links) zeigt keine Besonderheit. Beim Einfügen zusätzlicher Zeichen am Ende jeder Zeile mit  sed  gibt es Mängelexemplare bei der Ersetzung (Bild mitte), allerdings auch korrekte Ersetzungen. Dies ist auch unter wayland der Fall. Dieser Fehler wird von einem 
Steuerzeichen Carriage Return
erzeugt das man mit der Terminaleingabe
sed 's|\r|\\r|g'
sichtbar machen kann (Bild rechts).
Beim Einfügen zusätzlicher Zeichen am Ende jeder Zeile mit sed kann man zunächst dieses Steuerzeichen entfernen und z.B. so vorgehen
cat ~/te.txt | sed 's|\r|| ; s|$|, |g'
Diese Lösung wurde mir von Assaf Gordon mitgeteilt (Vielen Dank).

        

Der tieferliegende Grund für diesen Fehler liegt darin daß die Textdateien nicht Linux-codiert gespeichert wurden. Bei gedit kann man mit dem Menupunkt
Speichern unter
Einstellungen vornehmen und diese sollten so aussehen

Bei windows-codierten txt-Dateien kann es zu Problemen kommen. Die Codierung einer Datei kann man im Terminal überprüfen mit

file te.txt

Eine Ausgabe der Form
te.txt: ASCII text, with CRLF, LF line terminators

oder auch
te.txt: ASCII text, with CRLF line terminators

macht die Datei im Terminal fehleranfällig. Die Ausgabe im Terminal sollte so aussehen:

te.txt: ASCII text

Es gibt einen Fehler bei dem Programm yad
yad --title=FEHLER --form --align=center --field=:LBL --field="Zuordnung falsch":LBL --field="A1":FBTN "Befehl1" --field="A2":FBTN "Befehl2" --field="A3":FBTN "Befehl3" --field="A4":FBTN "Befehl4" --field=:LBL --field=:LBL --button="LOS"

    

Das Drücken der Schaltfläche A1 löst den Befehl3 aus, der der Schaltfläche A3 zugeordnet ist.
Das Drücken der Schaltfläche A2 löst den Befehl4 aus, der der Schaltfläche A4 zugeordnet ist.
Das Drücken der Schaltfläche A3 und A4 löst keinen Befehl aus.

Die Ursache liegt in den beiden zuerst notierten :LBL Feldern, die ich als Formatierungsmöglichkeit verstanden habe. Diese verschieben die Zuordnung.

Eine Lösungsmöglichkeit besteht darin daß man
:LBL
ersetzt durch
:LBL ""
Also folgendermaßen:
yad --title=FUNKTIONIERT --form --align=center --field=:LBL "" --field="zusätzlich Anführungszeichen":LBL "" --field="A1":FBTN "Befehl1" --field="A2":FBTN "Befehl2" --field="A3":FBTN "Befehl3" --field="A4":FBTN "Befehl4" --field=:LBL "" --field=:LBL "" --button="LOS"



zur Übersicht nächste Seite

Datenschutzerklärung
Impressum