staging.inyokaproject.org

Bildschirmfotos

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Bildschirmfotos.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

Hallo in die Runde,
dieser Teil Baustelle/Bildschirmfotos (Abschnitt „Als-Text“) funktioniert so nicht mehr.
Ich habe nicht genügend Kenntnisse für die Korrektur der Befehle. So z.Bsp. bekomme ich trotz langer Such im Netz den Befehl sed 's/[ \x0]*$//g' nicht angepasst.

Der Rest ist aus meine Sicht damit überarbeitet.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Berlin_1946 schrieb:

[…] dieser Teil Baustelle/Bildschirmfotos (Abschnitt „Als-Text“) funktioniert so nicht mehr.

Bei mir funktioniert er. Allerdings ist die an fold übergebene Zeilenlänge (im Beispiel 80) kritisch und muss genau stimmen, sonst ist die resultierende Formatierung unbrauchbar.

Ich habe nicht genügend Kenntnisse für die Korrektur der Befehle. So z.Bsp. bekomme ich trotz langer Such im Netz den Befehl sed 's/[ \x0]*$//g' nicht angepasst.

Das funktioniert bei mir auch wie beschrieben, hier sehe ich keine Erfordernis für eine Anpassung. Allerdings schlage ich als gesamten Befehl vor:

sudo fold -w 80 /dev/vcs1 | sed 's/[ \x0]*$//g ; /^[ ]*$/ d' > /tmp/VCS1 

Vielleicht finde ich noch etwas Besseres; schön wäre es, die Empfindlichkeit bzgl. des Wertes für fold zu entschärfen.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

Hallo kB,

leider erhalte ich eine Fehlermeldung oder ich habe beim Abschreiben und dann wieder Eingeben doch einen Fehler gemacht.
Bitte schau mal ob du mit meinem Angaben was anfangen kannst.

Bilder

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Berlin_1946 schrieb:

[…] ich habe beim Abschreiben und dann wieder Eingeben doch einen Fehler gemacht.

Ja. Sogar zwei:

  • Du hast den schließenden / für den regulären Ausdruck im Delete-Befehl an sed vergessen.

  • Ich verwende im Vorschlag einen anderen Dateinamen zur Speicherung des Ergebnisses. Wäre ggf. anzupassen.

Die richtige Bildschirmbreite kann man übrigens aus den Terminal-Einstellungen für tty1 lesen und dann in den fold-Befehl einsetzen und das Programm für sed geht einfacher:

$ sudo stty -F /dev/tty1 -a | grep -o 'columns [0-9]*'
columns 320
$ sudo fold -w 320 /dev/vcs1 | sed 's/ *$// ; /^ *$/ d' > /tmp/VCS1 
$ head /tmp/VCS1 
         Starting RealtimeKit Scheduling Policy Service...
[  OK  ] Started RealtimeKit Scheduling Policy Service.
[  OK  ] Started Snap Daemon.
         Starting Wait until snapd is fully seeded...
         Starting Time & Date Service...
[  OK  ] Started Time & Date Service.
[  OK  ] Finished Wait until snapd is fully seeded.
[  OK  ] Finished Daily man-db regeneration.
[  OK  ] Finished Network Manager Wait Online.
[  OK  ] Reached target Network is Online.

Die Methode hat ein strukturelles Problem: Bei Lesen aus dem Bildschirmspeicher /dev/vcs1 werden die gefundenen Glyphen in Zeichen übersetzt. Dabei werden die Zeichen offenbar nach ISO 8859 codiert (1 Byte pro Zeichen, somit weniger als 256 verschiedene Zeichen möglich) und nicht nach UTF-8 (abhängig vom Zeichen mehrere Byte pro Zeichen, aber alle Unicode-Zeichen möglich), auch wenn tty1 auf Unicode eingestellt ist.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

kB schrieb:

Das funktioniert bei mir auch wie beschrieben, hier sehe ich keine Erfordernis für eine Anpassung. Allerdings schlage ich als gesamten Befehl vor:

.... sed 's/[ \x0]*$//g ; /^[ ]*$/ d' 

kB schrieb:

  • Du hast den schließenden / für den regulären Ausdruck im Delete-Befehl an sed vergessen.

  • Ich verwende im Vorschlag einen anderen Dateinamen zur Speicherung des Ergebnisses. Wäre ggf. anzupassen.

Die richtige Bildschirmbreite kann man übrigens aus den Terminal-Einstellungen für tty1 lesen und dann in den fold-Befehl einsetzen und das Programm für sed geht einfacher:

$ ... sed 's/ *$// ; /^ *$/ d'
$...

Die Methode hat ein strukturelles Problem: Bei Lesen aus dem Bildschirmspeicher /dev/vcs1 werden die gefundenen Glyphen in Zeichen übersetzt. Dabei werden die Zeichen offenbar nach ISO 8859 codiert (1 Byte pro Zeichen, somit weniger als 256 verschiedene Zeichen möglich) und nicht nach UTF-8 (abhängig vom Zeichen mehrere Byte pro Zeichen, aber alle Unicode-Zeichen möglich), auch wenn tty1 auf Unicode eingestellt ist.

sed 's/[ \x0]*$//g ; /^[ ]*$/ d' # hier sind 5 mal / enthalten
sed 's/ *$// ; /^ *$/ d'         # hier auch

Die Unterschiede sind die:

  • [ ... ] fehlen

  • und nach dem ^ und vor dem * ist jetzt ein Leerzeichen.

Da ich im Wiki sed nicht alle hier eingesetzten Zeichen und wo genau Leerzeichen wichtig sind finde, schreibe ich das hier mal auf. ☺

Die Methode hat ein strukturelles Problem: Bei Lesen aus dem Bildschirmspeicher /dev/vcs1 werden die gefundenen Glyphen in Zeichen übersetzt. Dabei werden die Zeichen offenbar nach ISO 8859 codiert (1 Byte pro Zeichen, somit weniger als 256 verschiedene Zeichen möglich) und nicht nach UTF-8 (abhängig vom Zeichen mehrere Byte pro Zeichen, aber alle Unicode-Zeichen möglich), auch wenn tty1 auf Unicode eingestellt ist.

Was hier mit dem Befehl echo auf der tty1 erzeugte Text zeigt:

mate@mate-HP-ProDesk:/tmp$ echo f�r alle die �ber Umlaute sich wundern, ein lautes � und dann ein �
f�r alle die �ber Umlaute sich wurdern, ein lates � und dann ein �
mate@mate-HP-ProDesk:/tmp$ 

der eingegebene Textteil des Befehl echo: "für alle die über Umlaute sich wundern, ein lautes Ä und dann ein ö"

Ich vermute es werden die ersten 128 Positionen des ISO 8859 verwendet, die den Zeichen des 7-Bit-Satzes US-ASCII entsprechen. Denn der ISO 8859 kann Umlaute darstellen. Auch wenn der UTF-8 benutzt würde und auch hier nur die ersten 128 Positionen (Hex 00–7F) benutzt werden, kommt es zum gleichen Ergebnis. So mein Weltbild.

Könnte es vllt auch an dem sed liegen, der nur die 128 Positionen liest bzw überträgt.

Frage: gibt es einen Befehl, womit der Bildschirmspeicher /dev/vcs1 hexmäßig ausgelesen wird, denn sonst wären ja Umlaute überhaupt nicht möglich. So könnte man dann sehen, dass es der Befehl sed macht.

Nachtrag:

Es ist das fehlende Leerzeichen, was den Fehler erzeugt:

sudo fold -w 240 /dev/vcs1 | sed 's/[ \x0]*$//g ; /^ [ ]*$/ d' > /tmp/VCS1

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Berlin_1946 schrieb:

[…]

sed 's/[ \x0]*$//g ; /^[ ]*$/ d' # hier sind 5 mal / enthalten

Ja. In Deinem Beitrag vom 1. Oktober 2023 waren es nur 4.

sed 's/ *$// ; /^ *$/ d'         # hier auch

Das ist eine optimierte Fassung des zuvor genannten Befehls:

Die Unterschiede sind die:

  • [ ... ] fehlen

  • und nach dem ^ und vor dem * ist jetzt ein Leerzeichen.

  • Innerhalb eines regulären Ausdrucks für sed bilden alle in „[ … ]“ gesetzten Zeichen eine Gruppe ("character class"); es wird nach einem Zeichen aus dieser Gruppe gesucht. Im Beispiel „[ \x0]“ also nach dem Leerzeichen oder dem ASCII-NUL-Zeichen. Da ein ASCII-NUL-Zeichen als nicht darstellbares Zeichen nicht aus /dev/vcs1 gelesen werden kann, ist seine Angabe hier sinnlos und man kann auf seine Angabe verzichten.

  • Die nur aus einem Zeichen (dem Leerzeichen) bestehende Gruppe „[ ]“ kann mit gleicher Wirkung auch durch das einzige Zeichen selbst bezeichnet werden, also durch ein Leerzeichen „ “.

Das Leerzeichen steht hier, weil sed danach suchen soll. Außerhalb von regulären Ausdrücken sind in sed-Programmen Leerzeichen bedeutungslos und dienen nur dem Leser zur Verbesserung der Lesbarkeit.

[…]

mate@mate-HP-ProDesk:/tmp$ echo f�r alle die �ber Umlaute sich wundern, ein lautes � und dann ein �

der eingegebene Textteil des Befehl echo: "für alle die über Umlaute sich wundern, ein lautes Ä und dann ein ö"

Ich vermute es werden die ersten 128 Positionen des ISO 8859 verwendet, die den Zeichen des 7-Bit-Satzes US-ASCII entsprechen. Denn der ISO 8859 kann Umlaute darstellen. Auch wenn der UTF-8 benutzt würde und auch hier nur die ersten 128 Positionen (Hex 00–7F) benutzt werden, kommt es zum gleichen Ergebnis. So mein Weltbild.

Ist hier falsch. Mit /dev/vcs1 liest man interpretierte Glyphen (Bildchen) aus dem für /dev/tty1 verwendeten Bildschirmspeicher. Dabei verwendet der für /dev/vcs1 verwendete Treiber offenbar den Zeichensatz ISO 8859 zur Umsetzung „1 Bildchen für ein Schriftzeichen → 1 Byte“. Das ergibt dann bei einem aktuell meist auf Unicode in UTF-8 eingestellten Linux-Terminal die Darstellungsfehler. Früher waren die Linux-Terminals standardmäßig meist auf ISO 8859 eingestellt.

Könnte es vllt auch an dem sed liegen

Mit sed hat das gar nichts zu tun.

Nachtrag:

Es ist das fehlende Leerzeichen, was den Fehler erzeugt:

sudo fold -w 240 /dev/vcs1 | sed 's/[ \x0]*$//g ; /^ [ ]*$/ d' > /tmp/VCS1

Das ist ein anderer regulärer Ausdruck. Meiner sucht nach allen Zeilen, die höchstens Leerzeichen oder gar nichts enthalten und weist sed an, diese zu löschen. Deiner sucht nach allen Zeilen, welche mit einem Leerzeichen beginnen und eventuell weitere Leerzeichen, aber sonst nichts enthalten.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

kB schrieb:

[…] Bei Lesen aus dem Bildschirmspeicher /dev/vcs1 werden die gefundenen Glyphen in Zeichen übersetzt. Dabei werden die Zeichen offenbar nach ISO 8859 codiert (1 Byte pro Zeichen, somit weniger als 256 verschiedene Zeichen möglich) […]

Hier lag ich partiell falsch. Es ist sogar noch schlimmer: Es wird nicht „nach ISO 8859 codiert“, sondern Codepage 437 benutzt, was im früher gebräuchlichen Betriebssystem MS-DOS von Microsoft verwendet wurde.

Das kann aber natürlich im Linux-Terminal mit iconv umgewandelt werden.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

kB schrieb:

kB schrieb:

... sondern Codepage 437 benutzt, ... Das kann aber natürlich im Linux-Terminal mit iconv umgewandelt werden.

Damit kann ich leider nichts anfangen. Zu doof 😢

Wie wird das gemacht: "im Linux-Terminal mit iconv umgewandelt"?

iconv -f Zeichensatz1 -t Zeichensatz2 Ausgangsdatei -o Zieldatei 

Wie lauten die Abkürzungen für die hier im Einsatz befindlichen Zeichensätze?
Zeichensatz1 > Codepage 437. Wie ist die Kurzform
Zeichensatz2 > ?

Wo muss die Konvertierung in dieser Befehlsfolge eingefügt werden?

 
sudo fold -w 240 /dev/vcs1 | sed 's/[ \x0]*$//g ; /^ [ ]*$/ d' > /tmp/VCS1

Achtung: Ich bin nur per Zufall auf deine Antwort gekommen, denn ich erhalte z.Z. keine E-Mails aus dem System über die Aktivitäten im Forum. 😮

Die letzte Nachrichten sind vom 02.10.2023.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

Berlin_1946 schrieb:

Achtung: Ich bin nur per Zufall auf deine Antwort gekommen, denn ich erhalte z.Z. keine E-Mails aus dem System über die Aktivitäten im Forum. 😮

Ich hab noch nie irgendwas per Mail mitteilen lassen. Beiträge, an denen ich beteiligt war, lasse ich mir mittels https://forum.ubuntuusers.de/egosearch anzeigen.

Nur mal so.😉

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Berlin_1946 schrieb:

[…] Wo muss die Konvertierung in dieser Befehlsfolge eingefügt werden? […]

Ich ändere das mal direkt in der Baustelle.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

kB schrieb:

[…] Ich ändere das mal direkt in der Baustelle.

„Screendump von virtueller Console als Text“ überarbeitet.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

Hallo kB,
super 👍

Aus meiner Sicht ist damit das Wiki überarbeitet und kann veröffentlicht werden.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Der Abschnitt zu ksnip ist aus meiner Sicht so nicht zulässig, da Angaben zur Installation im UbuntuUsers-de-Wiki fehlen. (Vgl. Wiki/Referenz (Abschnitt „Installations-Abschnitt“))

Ruth-Wies

Avatar von Ruth-Wies

Anmeldungsdatum:
12. April 2023

Beiträge: 450

1. Gnome

  1. Einstellungen

Beim derzeitigen Stand sind diese Überschriften nach meiner Meinung suboptimal. Unter GNOME wird das ab Ubuntu 22.04 enthaltene Programm beschrieben und unter Einstellungen dessen Vorgänger, das noch bei 20.04 sowie einigen Derivaten verwendet wird. Das ist für Eingeweihte trotzdem verständlich, aber für Neulinge … ?

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1575

Ruth-Wies schrieb:

[...] Beim derzeitigen Stand sind diese Überschriften nach meiner Meinung suboptimal. [...]

Stimmt, das wurde etwas schludrig aktualisiert. Was hältst Du von folgender Struktur:

  1. Übersicht der Anwendungen

  2. GNOME Shell – ab 22.04 (GNOME 42)

  3. Werkzeug gnome-screenshot

  4. Andere Programme

Unter „Übersicht“ würde ich dann den Inhalt des bisherigen Abschnittes „Andere Arbeitsumgebungen“ verschieben.