Sie sind nicht angemeldet.

1

16.03.2010, 20:55

Sonderzeichen in Screen

Tag die Damen und Herren :D

wenn ich in meiner Screen hardstatus line ein Sonderzeichen stehen hab. Macht mir Screen immer ein  davor.
also als konkretes Beispiel

aus

Quellcode

1
 hardstatus string '°'

wird

Quellcode

1
 °


Mein System is komplett UTF-8 und auch screen hab ich utf8 Unterstützung aktiviert

Meine Frage ist wie ich das weg bekomme :D

Und falls ihr euch fragt warum ich solche blöden Sonderzeichen überhaupt verwenden will. Ich verwende auf meinem Laptop kein X. Da is screen sozusagen mein WM. Und dort lass ich mir über ein Script die Temperatur anzeigen. Und da wärs eben schön wenn dort °C stehen würde :D

Achja es macht auch keinen unterschied ob ich das Sonderzeichen jetzt direkt in die hardstatus line reinschreibe oder ob ich sie in ein Script schreibe das dann dort ausgeführt wird

und wenn ich direkt echo "°" eingeb. Wirds mir auch passend angezeigt. Der fehler liegt also bei Screen und dort auch nur in der hardstatus line. In einer bash, die in screen läuft gibts auch keine Probleme

Eventuell lässt sich das komische  ja durch eine Escape Sequenz entfernen. Allerdings hab ich da nicht sonderlich viel ahnung von^^

Joa :D für Hilfe wär ich sehr dankbar :D
Freiheit ist mehr, als nur keine Unterwäsche zu tragen :D

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »CHRlS« (19.03.2010, 15:54)


2

18.03.2010, 22:18

Habs gerade in meinem laufenden screen ausprobiert

Quellcode

1
strg+a, :hardstatus string '°'

geht bei mir
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

3

18.03.2010, 22:23

kann ich bestätitgen, bei mir wird '°' auch korrekt in der hardstatus Zeile dargestellt
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

4

18.03.2010, 22:51

Hmm interessant. Wenn ich die hardstatus Zeile während laufendem Screen mach. Funktioniert es auch bei mir.
Wenn ichs allerdings via ~/.screenrc mache, funktioniert es nicht
Freiheit ist mehr, als nur keine Unterwäsche zu tragen :D

5

18.03.2010, 23:14

Wie ist die ~/.screenrc denn wirklich bei dir codiert?
Mach am besten mal ein bekanntes Zeichen vor und nach dem ° hin (beispielsweise a°a) und öffne das ganze in einem Hex-Editor und schau, wie die Werte für "a°a" sind.
Dann kannst mit dem Hex-Editor auch einfach mal das Encoding verändern und vielleicht doch mal auf ISO-8859-1 wechseln...

-- edit --

Kann es bestätigen, hab es bei mir auch. Wart einen Moment.

-- edit --

Mit Link auf einen Patch (habe ich nun nicht getestet)
https://bugs.launchpad.net/ubuntu/+source/screen/+bug/530303

-- edit --

Hab mit einem Hex-Editor das Zeichen "°" als latin1 codiert in die screenrc aufgenommen. Das geht.
Also entweder Ebuild anpassen, damit der Patch benutzt wird (Overlay) oder warten, bis es upstream gefixt wurde.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

6

19.03.2010, 15:52

Danke :D

Meine ~/.screenrc is utf-8
aus ° macht er mir c2 b0
ich geh mal davon aus das screen utf-8 komplett ignoriert, denn in latin1 ist c2 das  und b0 das °
wenn ich meine screenrc in latin1 hab. Gibts bei mir auch keine Probleme

Der patch bringt eine Fehlermeldung. Hab mir jetzt net genauer angesehen wo der Fehler liegt. aber ich vermute mal das es darin liegt das des ebuild von screen welches ich verwende für version 4.0.3 ist und der patch für 4.1.0

Is jetzt auch net so wichtig. Ich lass halt einfach meine screenrc in latin1^^
Freiheit ist mehr, als nur keine Unterwäsche zu tragen :D