Umlaute in Yad

User helfen sich hier bei der Manjaro XFCE Edition!

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Umlaute in Yad

#1

Beitrag von Frosch »

Hallo,

meine Frage ist vielleicht keine typische Manjarofrage, aber ich habe Yad vorher in Xubuntu benutzt ohne dieses Problem, jetzt bin ich auf Manjaro umgestiegen und jetzt ist das Problem aufgetreten.

Wenn ich Meldungen mit Yad ausgeben will, dann funktioniert das nur, wenn keine Umlaute drin sind.

Kurz zur Info, Yad ist die Abkürzung von "Yet Another Dialog" und ist ein Fork von Zenity.

Viele Grüße
Ralf
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#2

Beitrag von gosia »

Hallo Ralf,
da ich das nicht nachvollziehen kann, nur als Vermutung: stimmen deine locale, bzw. die Abspeicherung vom Editor in UTF8?
Mein kleiner Test:

Code: Alles auswählen

#!/bin/bash
yad --title="Ärger" --text="Hast Du Ärger mit Umlauten?" --button="Ja" --button="Nein"
antw=$?
echo $antw

Bild


viele Grüße gosia

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#3

Beitrag von Frosch »

Hm... Dein Testscript funktioniert. Das verstehe ich nicht.

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#4

Beitrag von Frosch »

PS: Ich vermute es könnte daran liegen, dass ich das Ganze über SSH aufrufe. Allerdings, wie gesaht es funktionierte unter Xubuntu und ich habe an dem Script nichts geändert. Es geht darum eine Meldung auf dem Bildschirm auszugeben, über die Hausautomatisierung.
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#5

Beitrag von gosia »

Hallo Ralf,
auch bei ssh würde ich erstmal die gleiche Sache überprüfen, nur eben auf dem entfernten Rechner.
Leider kann ich das nicht testen, da mein Zweitrechner seit einiger Zeit den Geist aufgegeben hat und Ersatz ist erstmal nicht in Sicht.
Aber für andere Helferlein ist es sicher interessant, was auf dem entfernten Rechner läuft, auch Manjaro?

viele Grüße gosia

PS. Wahrscheinlich ist der Thread auch in der Abteilung "Manjaro Linux Paketverwaltung und Kommandozeile" besser untergebracht.

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#6

Beitrag von Frosch »

Der entfernte Rechner, ein Raspberry Pi soll sich mit diesem Rechner per SSH verbinden und dann eine Meldung ausgeben. Aber eben das funktioniert nur ohne Umlaute. Leider weiß ich nicht wie ich Dein Script da verwenden soll.
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#7

Beitrag von gosia »

Hallo Ralf,
Frosch hat geschrieben: Freitag 3. September 2021, 21:21 Leider weiß ich nicht wie ich Dein Script da verwenden soll.
Ja klar, mein Skript war ja nur ein minimales Testbeispiel.
Aber damit es jemand nachvollziehen kann, wäre es sicher hilfreich, dein Skript hier zu posten. Irgendwelche sicherheitsrelevanten Sachen wie Username, Passwort usw. einfach "neutralisieren", z.B. USER@RECHNER und eventuell etwas kürzen.
Wie schon gesagt, auf meiner einsamen Maschine könnte ich mich per ssh nur mit einer VM verbinden, aber das müsste ich erstmal einrichten. Da ist jemand der am besten auch einen Raspi hat oder wenigstens einen zweiten Rechner wohl schneller dran.
Das einzige was mir ausser dem schon gesagten einfällt, wäre im Skript die gewünschte locale zu exportieren, also sowas in der Art einzubauen:

Code: Alles auswählen

export LANG=de_DE.UTF8
export GDM_LANG=de_DE.UTF-8
sollte eigentlich überflüssig sein, wenn alles richtig lokalisiert ist, schadet aber auch nicht.

viele Grüße gosia

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#8

Beitrag von Frosch »

Das hat leider nicht funktioniert.

Hier mal mein Script, das auf dem Raspberry Pi läuft und sich dann auf den verschiedenen Rechnern einloggt. Benutzer und Hostnamen habe ich durch X oder Y ersetzt.

Code: Alles auswählen

#!/bin/sh
/home/pi/./kodi_meldung.py "Türalarm" "Tür im Flur wurde geöffnet" "watchdog.png" "6000" &
ssh xxxxx@xxxxxxxxxx "export DISPLAY=:0 && yad --title \"Türalarm!!\" --window-icon=/home/xxxx/.myicons/warnschild.svg --image=/home/xxxx/.myicons/watchdog.png --geometry=520x20 --button=gtk-close --text=\"\n\nDie Tür im Flur wurde geöffnet!!\" & play -q /home/xxxx/.mysystemsounds/hupe.ogg &" &
ssh yyyyy@yyyyyyyyyy "export DISPLAY=:0 && yad --title=\"Tueralarm!!\" --window-icon=/home/xxxx/.myicons/warnschild.svg --image=/home/xxxx/.myicons/watchdog.png --geometry=520x20 --button=\"close\" --text=\"\n\nDie Tuer im Flur wurde geoeffnet!!\" & play -q /home/xxxx/.mysystemsounds/hupe.ogg &" &
ssh xy@xyxyxy "./beep.py"
Bei "--title" habe ich einmal ein = gemacht und einmal nicht, funktioniert aber beides ohne Umlaute.
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#9

Beitrag von gosia »

Hallo Ralf,
ein gut abgesichertes Haus ;)
Kann mich nur wiederholen, ich bin eigentlich der Meinung, dass dies kein yad-Problem ist, sondern mit der Lokalisierung und/oder ssh, vielleicht auch dem X Forwarding zusammenhängt.
Jedenfalls laufen beide yad-Zeilen bei mir normal, mit oder ohne Umlaute.
Teste mal bitte folgendes:
lege eine kleine Textdatei an, am besten mit mindestens einem Umlaut im Namen, z.B. ärger.txt und fülle es mit einigen Umlauten. Dann versuche, ob es mit

Code: Alles auswählen

ssh yyyyy@yyyyyyyyyy cat ärger.txt
ordentlich angezeigt wird oder ob Du die Datei mit scp kopieren kannst.
Interessant könnte auch die Ausgabe von

Code: Alles auswählen

env | grep -E '(LANG(UAGE)?|LC_\w*)='
sowohl auf dem Raspi als auch einem Manjaro-Rechner sein.
Übrigens, wie sieht es denn genau aus, wenn Du yad mit Umlauten benutzt, gibt es eine Fehlermeldung und/oder werden die Umlaute "merkwürdig" angezeigt?

viele Grüße gosia

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#10

Beitrag von Frosch »

env | grep -E '(LANG(UAGE)?|LC_\w*)=' ergibt auf dem Manjaro Rechner folgendes:

Code: Alles auswählen

LC_ADDRESS=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
GDM_LANG=de_DE.utf8
LC_PAPER=de_DE.UTF-8
LANG=de_DE.utf8
LC_IDENTIFICATION=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
auf dem Raspberry Pi folgendes:

Code: Alles auswählen

LANG=de_DE.UTF-8
Die ärger.txt funktioniert auch über SSH einwandfrei, alle Umlaute werden angezeigt. Es ging ja auch vorher unter Xubuntu, deshalb würde ich den Fehler nicht beim Pi suchen.
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#11

Beitrag von gosia »

Hallo Ralf,
Frosch hat geschrieben: Samstag 4. September 2021, 23:46 Es ging ja auch vorher unter Xubuntu, deshalb würde ich den Fehler nicht beim Pi suchen.
Naja, ich suche Fehler grundsätzlich erstmal überall, und irgendwo muss man ja anfangen. Und das war eben bei der Lokalisierung auf beiden Rechnern. Aber die sieht ja überall gut aus. Bleibt aber noch die eine Frage offen:
gosia hat geschrieben: Samstag 4. September 2021, 21:35 wie sieht es denn genau aus, wenn Du yad mit Umlauten benutzt, gibt es eine Fehlermeldung und/oder werden die Umlaute "merkwürdig" angezeigt?
ein Screenshot würde da schon mal Klarheit bringen.
Noch besser wäre es, wenn jemand mit einem Raspi (oder wenigstens einem anderen zweiten Rechner) das mal nachstellen würde, das Skript kann man auf das yad-Zeug "eindampfen". Lokal funktioniert es ja bei mir, bleibt also noch ssh, aber umständlicherweise ein Passwortloses SSH-Login.

viele Grüße gosia

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#12

Beitrag von Frosch »

Ach so, sorry, hatte vergessen die Fehlermeldung zu posten.

Also wenn ich mein Script übers Terminal aufrufe gibt es beim Umlaut die Fehlermeldung:

Code: Alles auswählen

Unable to parse command line: Invalid byte sequence in conversion input
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#13

Beitrag von gosia »

Hallo Ralf,
Frosch hat geschrieben: Sonntag 5. September 2021, 13:52

Code: Alles auswählen

Unable to parse command line: Invalid byte sequence in conversion input
da liegt das Problem mit grosser Wahrscheinlichkeit bei der Codierung des Skriptes selbst. Ist wahrscheinlich irgendwann (beim kopieren?) eine falsche Bytesequenz reingerutscht. Dem könnte man nun nachgehen, aber IMHO ist es am besten, das Skript im Editor neu zu schreiben (auf keinen Fall copy&paste), sind ja nur drei Zeilen und darauf achten, dass der Editor (welchen benutzt Du?) tatsächlich auf UTF8-Ausgabe eingestellt ist.
Theoretisch kann man die Codierung mit

Code: Alles auswählen

file -bi DATEINAME
testen, aber bei einer falschen Bytesequenz kommt sehr wahrscheinlich trotzdem UTF8 raus.

viele Grüße gosia

Themen Author
Frosch
Erfahrenes Foren Mitglied
Erfahrenes Foren Mitglied
Beiträge: 80
Registriert: Sonntag 31. Januar 2021, 19:19
CPU: Intel Core i7-8700
GPU: Intel Core i7-8700
Kernel: keine Ahnung
Desktop-Variante: XFCE
GPU Treiber: keine Ahnung
Hat sich bedankt: 15 Mal

Re: Umlaute in Yad

#14

Beitrag von Frosch »

Ich nutze den Bluefish-Editor, die Datei ist in UTF-8, file -bi ergibt text/x-shellscript; charset=utf-8 und auch der Bluefish-Editor zeigt an, dass die Datei UTF-8 ist.

Außerdem ging das Ganze ja auch unter Xubuntu.
Kazam_screenshot_00480.jpg
Kazam_screenshot_00480.jpg (139.94 KiB) 305 mal betrachtet
Benutzeravatar

gosia
Forum Held
Forum Held
Beiträge: 1629
Registriert: Dienstag 24. Mai 2016, 13:33
CPU: Intel i5-3210M
GPU: Intel HD 4000
Kernel: 4.19
Desktop-Variante: Openbox
GPU Treiber: i915
Hat sich bedankt: 8 Mal
Danksagung erhalten: 309 Mal

Re: Umlaute in Yad

#15

Beitrag von gosia »

Hallo Ralf,
Frosch hat geschrieben: Sonntag 5. September 2021, 19:30 die Datei ist in UTF-8, file -bi ergibt text/x-shellscript; charset=utf-8 und auch der Bluefish-Editor zeigt an, dass die Datei UTF-8 ist.
Ja, dass dies angezeigt wird habe ich ja auch gesagt
gosia hat geschrieben: Sonntag 5. September 2021, 17:00 kommt sehr wahrscheinlich trotzdem UTF8 raus
das besagt nicht viel, ein "falsches" Byte bewirkt leider nicht immer, dass dann die ganze Datei als "Nicht-UTF8" angezeigt wird. Ich habe selbst XML-Dateien verwurstet, die als UTF-8 angezeigt wurden (und es zu 99,9% auch waren), aber zwei oder drei Zeichen waren dann eben doch anders codiert, warum auch immer, und flogen mir dann im Skript um die Ohren.
Aber gut, das führt zu nichts. Ich hätte es trotzdem mal probiert, die drei Zeilen völlig neu zu schreiben, schon um zu sehen, ob es was bringt oder nicht. Wenn nicht, dann kann man das auch ausschliessen. Mein Problem ist, ich kann es nicht nachvollziehen. Wie gesagt, es läuft bei mir, natürlich ohne die Python-Zeile und ohne deine Icons.
Und klar, es gibt noch andere Möglichkeiten, hier
https://sourceforge.net/p/yad-dialog/tickets/297/
gibt es sogar ein Ticket zur gleichen Fehlermeldung bei yad (sample1.sh), allerdings von 2017 und leider ohne weiteren Kommentar, aber immerhin mit zwei Workarounds: statt yad zenity benutzen und Variante 2, überraschenderweise als Vorschlag, weniger Zeilen zu benutzen.
Hat aber den Nachteil, dass es bis auf die Fehlermeldung mit deinem Skript wenig bis nichts zu tun hat, weil in dem Ticket das vermeintliche Problem darin besteht, dass das yad-Fenster mehr als 27 Zeilen hat, was bei dir nicht zutrifft.
Mehr fällt mir aber zu deinem Problem leider auch nicht ein :(

viele Grüße gosia
Antworten