PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : @-Zeichen unter XFree-86 geht nicht...



Abraxas
28.10.05, 21:09
Hallo zusammen!

Ich weiß, eine ähnliche Frage wurde hier schon gestellt, aber mein Problem scheint doch woanders zu liegen.

Also ich vewende Debian Sarge und bekomme auf der Konsole keine Umlaute, was angeblich normal sein soll, und unter X geht die ALT+GR-Taste nicht.

Über Google habe ich folgende Datei gefunden:
#!/bin/bash

xmodmap -e "keycode 113 = Mode_switch" #AltGr als Mode_switch
xmodmap -e "keycode 16 = 7 slash braceleft" #geschweifte Klammer auf
xmodmap -e "keycode 17 = 8 parenleft bracketleft" #eckige Klammer auf
xmodmap -e "keycode 18 = 9 parenright bracketright" #eckige Klammer zu
xmodmap -e "keycode 19 = 0 equal braceright" #geschweifte Klammer zu
xmodmap -e "keycode 20 = ssharp question backslash" #Backslash
xmodmap -e "keycode 24 = q Q at" #@
xmodmap -e "keycode 26 = e E currency" #Euro
xmodmap -e "keycode 35 = plus asterisk asciitilde" #Tilde
xmodmap -e "keycode 54 = c C cent" #¢
xmodmap -e "keycode 94 = less greater bar" #bar (Pipe-Zeichen"

Das ist angeblich ein Workaround, um die Tasten für die deutsche Tastaturbelegung explizit zu belegen.

Woran liegt das aber, daß ich den Befehl xmodmap... nicht ausführen kann - die Fehlermeldung lautet:
xmodmap: unable to open display ''

Kann mir da bitte jemand helfen....?

PS: xlibs sind bei mir installiert und am Zeichensatz liegts auch nicht, da ich ja über die Zeichentabelle das @-Zeichen einfügen kann!

suck
28.10.05, 21:18
Versuch xmodmap mal als normaler User (als der, der auch X gestartet hat) oder erlaube root z.B. via "xhost +localhost" (auch das bitte als normaler User ausführen) den Zugriff. Letzt genannter Befehl stellt allerdings ein Sicherheitsrisiko dar!

Gruss, suck

PS: Cooler Nick - kenn ich aus meinem Lieblingsbuch

Abraxas
29.10.05, 13:29
Ja, danke soweit!

Wenn ich als normaler Benutzer angemeldet bin, X starte und dann eine Root-Konsole öffne, kann ich das Skript ausführen (ich habe den Befehl 'xhost +localhost' am Anfang eingefügt).

Wenn ich das Skript aber gleich beim Hochfaheren starte, erscheint die Fehlermeldung "xmodmap - Befehl nicht gefunden". Ich verstehe auch nicht, wieso ich das Skript nicht ausführen kann, wenn ich als Root eingeloggt bin.

Das geht nur, wenn ich mich als normaler Benutzer einlogge und mich dann via su zu root mache!

Also für nich sind das alles böhmische Dörfer..... :ugly:

Der Gestreifte
29.10.05, 13:50
Erstmal: was bedeutet "das Skript beim Hochfahren starten"? Beim Rechnerstart oder beim Start von X?



Also für nich sind das alles böhmische Dörfer..... Es macht einen Unterschied, ob Du mit "su" oder mit "su -" zum root wirst.
Ist root via login-Shell eingeloggt (mit "-"), kann er NICHT auf Deinen Xserver zugreifen, also auch nicht xhost auf diesem Ausführen.

Abraxas
29.10.05, 17:04
Danke für die Tips!

Also ich hatte eigentlich vor, die Tastaturbelegung gleich beim Booten des Rechners zu erledigen. Irgendwie ging das aber nicht. Zu dem Zeitpunkt, wo die Start-Skripte ausgeführt werden, ist doch noch gar kein Benutzer eingeloggt, oder?

Wie kann ich denn einfach meine Tastaturbelegung setzen - wieso ist das so umständlich? Irgendwie scheint das ja ein Debian-spezifisches Problem zu sein, da muß man doch irgendwo ansetzen können. Debian ist doch ansonsten eine saubere Distribution...!

Der Gestreifte
29.10.05, 17:23
Debian ist doch ansonsten eine saubere Distribution...! Frage der Konfiguration. ;o)

Hat Du vielleicht in der XF86Config ein falsches Keyboardmodell angegeben? Bei mir ist das
Option "XkbModel" "pc102" und ich hab unter X alle nötigen Zeichen zur Verfügung.

Für die Konsole müsste es der Befehl "dpkg-reconfigure sonsole-data" sein.

suck
29.10.05, 17:49
X hat eigene Startscripte. "xmodmap" macht nur bei schon gestartetem X oder (aus selbigem Grund) in diesen Startdateien Sinn. Wenn du eine funktionierende Befehlsfolge hast, die unter einem normales Useraccount (also nicht root) gute Ergebnisse bringt, kannst du diese Befehle in ein Script schreiben (Ach ja, nicht vergessen dieses auch ausführbar zu machen - das geht via "chmod") und dieses in der Datei $HOME/.xinitrc aufrufen (das " &" am Ende der Zeile aber nicht vergessen - also "/path/to/script &"). Solltest du einen grafischen Login-Manager nutzen heisst das Startscript anders, nämlich $HOME/.xsessions. Ggf. hat dein Windowmanager aber auch ein eigene Statrscripte, die du nutzen kannst. xmodmap sollte übrigens kein root brauchen. Wird der Befehl nicht gefunden, versuch es mal mit der vollen Pfadangabe. Diese könnte "/usr/X11R6/bin/xmodmap" sein. Allerdings ist das alles ja wirklich nur ein workaround, besser wäre es (wie der Getreifte es grad vorhat) die Ursache zu beheben..

Gruss..

Abraxas
29.10.05, 22:41
So, hallo nochmal.......

folgendes steht in meiner XFree86-4:
# These are the default XKB settings for XFree86
Option "XkbRules" "xfree86"
Option "XkbModel" "pc102"
Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"

# Option "XkbDisable"

Trotzdem geht ALT+GR nicht!
dpkg-reconfigure console-data hat mich auch nicht weiter gebracht. Wenn ich als Keyboard PC German - standard auswähle, habe ich immernoch keine Umlaute. Das ist aber auf der Konsole nicht so schlimm - ich möchte es nur gern verstehen.....

Abraxas
29.10.05, 23:25
Noch eine kleine Ergänzung:

Ich habe folgende Datei mit Namen .xinitrc im Verzeichnis /root angelegt:

#!/bin/bash

/usr/local/keyboard.sh

Die Datei keyboard.sh hat wie gesagt folgenden Inhalt:

#!/bin/bash

xhost +localhost

xmodmap -e "keycode 113 = Mode_switch" #AltGr als Mode_switch
xmodmap -e "keycode 16 = 7 slash braceleft" #geschweifte Klammer auf
xmodmap -e "keycode 17 = 8 parenleft bracketleft" #eckige Klammer auf
xmodmap -e "keycode 18 = 9 parenright bracketright" #eckige Klammer zu
xmodmap -e "keycode 19 = 0 equal braceright" #geschweifte Klammer zu
xmodmap -e "keycode 20 = ssharp question backslash" #Backslash
xmodmap -e "keycode 24 = q Q at" #@
xmodmap -e "keycode 26 = e E currency" #Euro
xmodmap -e "keycode 35 = plus asterisk asciitilde" #Tilde
xmodmap -e "keycode 54 = c C cent" #¢
xmodmap -e "keycode 94 = less greater bar" #bar (Pipe-Zeichen"

Wenn ich jetzt als root versuche, X zu starten, bricht er sofort ab. Erst wenn ich die Datei lösche bzw. umbenenne gehts wieder..............

suck
30.10.05, 00:09
Das bedeutet, dass sie gelesen wird, sehr gut ; ) ..Du hast das "&" Zeichen vergessen. Es muss "/usr/local/keyboard.sh &" heissen..

suck
30.10.05, 19:53
Moje,

Klappt es jetzt eigentlich? Ich hab grad zufällig noch was gefunden, was das Problem erklären könnte. Schau doch mal bei http://forums.gentoo.org/viewtopic.php?t=210008&highlight=xorg vorbei und betrachte die "InputDevice"-Section...

Gruss..

Abraxas
30.10.05, 22:47
Hallo und nochmals danke für eure Hilfe!

Ich habe jetzt die Keyboard-Section in meiner XFree86-4 geändert:
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc101"
Option "XkbLayout" "dvorak"

Trotzdem geht die ALT+GR-Taste nicht - weder als Root noch als normaler Benutzer.

Der Aufruf der keyboard.sh mit einem & am Ende ändert auch nichts daran, daß er X nicht startet..... :ugly:

Irgendwie weiß ich so langsam nichtmehr, wo ich noch ansetzen soll - XFree86-4, .xinitrc .... was gibt's denn noch für Möglichkeiten?