Tumbleweed/Plasma: Eigenes Tastaturlayout resistent gegen Updates einrichten

Hinweis: In dem Thema Tumbleweed/Plasma: Eigenes Tastaturlayout resistent gegen Updates einrichten gibt es 9 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Guten Tag,


    ich habe mir ein eigenes, zweites Tastaturlayout erstellt, um auf meiner deutschen Tastatur gelegentlich auch Russisch tippen zu können. Dafür muss ich händisch in usr/share/X11/xkb/rules/evdev.xml und in /usr/share/X11/xkb/symbols/ru an passender Stelle die Textblöcke einfügen (siehe Anhang), neustarten und kann in den Systemeinstellungen das Layout zu den aktiven hinzufügen und mittels Hotkey nach belieben hin- und herschalten. So weit so gut, das funktioniert.


    Mit jedem Update von X11 aber werden diese Dateien überschrieben, und gerade unter TW kommen Updates ja ziemlich häufig. Jedes Mal wieder das per Hand zu kopieren ist lästig, daher meine Frage: Hat einer von euch eine gute Idee, wie ich mein Tastaturlayout "robustifizieren" kann, sodass es Updates überlebt?

  • Probiere das mal aus ...


  • Nachtrag: Wie nicht ganz unerwartet, hat das nächste Update sich beschwert:

    Code
    error: unpacking of archive failed on file /usr/share/X11/xkb/rules/base.xml;6218c741: cpio: rename failed - Directory not empty
    error: xkeyboard-config-2.34-2.1.noarch: install failed
    error: xkeyboard-config-2.34-1.2.noarch: erase skipped
    ( 4539/10589) Installieren: xkeyboard-config-2.34-2.1.noarch ...............................................................[Fehler]
    Installation von xkeyboard-config-2.34-2.1.noarch fehlgeschlagen:
    Fehler: Subprocess failed. Error: RPM fehlgeschlagen: Kommando mit Status 1 beendet.                                                 
    Abbrechen, wiederholen, ignorieren? [a/w/i] (a): i

    Ich habe das erstmal ignoriert, damit der Rest des Updates durchläuft. Was ist eure Einschätzung, soll ich mir Sorgen machen, etwas am Schutz der Datei ändern, oder kann ich auch in Zukunft dieses Paketupdate ignorieren?

  • Leider hat das Ignorieren dazu geführt, dass der X-Server nachm Reboot nicht mehr starten kann, hier ein Auszug aus Xorg.0.log:

    Ich hatte gesehen, dass im Ordner /usr/share/X11/xkb/symbols/ einzig die Datei ru und in .../rules nur die Dateien base*, evdev und README übrig geblieben waren, sonst nichts. War wohl doch nicht so gesund, das Update zu ignorieren… Habe jetzt erstmal das i von beiden Dateien entfernt und das Update normal installieren lassen, um eine funktionierende Oberfläche zu haben.


    Irgendeine Idee, was ich stattdessen tun kann?

  • Seltsam, eigentlich hätte die Datei in keinster weise verändert werden dürfen. Geht die vllt. im Yast zu sperren?

  • Ich weiß zwar nicht genau, was während des Updates passiert, aber könnte es sein, dass das Verzeichnis komplett gelöscht wird, und danach die neuen Dateien dort reingepackt werden? In ../symbols sind ja eig. mehr als 100 Dateien drin, nach dem misslungenen Update war aber nur noch die gesperrte Datei ru vorhanden. Vor dem Entpacken wird getestet, ob das Verzeichnis wirklich leer ist, und weil es das nicht war, wurde abgebrochen (so interpretiere ich zumindest die Fehlermeldung beim Update?).


    Kann man in Yast einzelne Dateien sperren? Ich dachte, das könnte man nur auf Pakete anwenden? Man könnte zwar xkeyboard-config sperren, aber ich glaube, das würde einen fiesen Rattenschwanz nach sich ziehen:

    Würde ich das sperren, würde ich vermutlich auch keine Updates mehr für den X-Server installieren können, was auch nicht sinnvoll sein kann…

  • Scheint komplizierter zu sein als vorher angenommen. Da hilft wohl nur, die Datei zu sichern und nach jedem Update wieder zurück zu kopieren. Aber das Sperr-Bit wirkt.

  • Scheint komplizierter zu sein als vorher angenommen. Da hilft wohl nur, die Datei zu sichern und nach jedem Update wieder zurück zu kopieren. Aber das Sperr-Bit wirkt.

    In der Hoffnung, dass sich am Rest der Datei nichts ändert, ja, ansonsten müsste ich mir ein bash-Skript überlegen, das meinen Textblock an der richtigen Stelle einfügt…