[unlösbar] Cursor-Abstand in der Konsole zu groß

Hinweis: In dem Thema [unlösbar] Cursor-Abstand in der Konsole zu groß gibt es 18 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Guten Tag,


    Durch die Konfiguration von Fontmatrix, welches noch ziemlich buggy ist, habe ich Probleme mit den Systemschriften gehabt. Die Datenbank von Fontmatrix hab ich wieder repariert und die Systemschriften mit Hilfe der Datei fonts.conf wiederhergestellt. Was mich jetzt allerdings immer stört ist, dass alle bold Schriften im Browser und in einigen Programmen in der Laufweite eigenartig breit aussehen. Aber noch mehr stört mich die Darstellung der Schrift in der Konsole. Ich kann zwar alles ausführen, aber das Markieren und die Navigation irritieren mich. Öffne ich die Konsole, ist der Abstand des Cursor dem Anfang der Zeile ungefähr 4 Buchstaben voraus. Je mehr Wörter in der Konsole stehen, um so größer wird der Abstand. Leider habe ich nichts passendes gefunden, außer diese Diskussion, die mich aber nicht richtig betrifft. Das Löschen der Datei konsolerc hilft bei mir jedenfalls nicht. Und den letzten Beitrag verstehe ich nicht.


    http://comments.gmane.org/gman…use.general.german/186020


    zur Veranschaulichung Bilder meiner Konsole


    Gruß

  • Worauf der letzte Abschnitt in deinem Link verweist, ist die Tatsache, dass in der letzten Zeile, sobald das System bereit ist, wieder Eingaben anzunehmen, eben das Systembereitschaftszeichen ausgeben.
    Das steht in der Variable PS1 (PromptSystem nummer1; es gibt bis zu 4 davon.)


    Wenn du in einer Console eingibst

    Code
    echo $PS1


    zeigt er dir an, wie dieser Prompt1 zusammengebaut wird.


    openSUSE verwendet standradmäßig diese Promptdefinition:


    \[$(ppwd)\]\u@\h:\w>
    \u wird zum angemeldeten User
    @ wird einfach als @ ausgegeben
    \h wird zum aktuellen Host
    : wird einfach ausgegeben
    \w wird zum aktuellen Verzeichnis (Workingdirectory)
    > wird einfach ausgegeben.


    Und vorneweg wird die bashfunction "ppwd" aufgerufen.


    bashfunctions kann man sich mit

    Diese Funktion errechnet (unter anderem) den Abstand des Cursors vom Anfang der Zeile.
    Also nach wieviel Zeichen (die durch den aktuell auszugebenden Prompt bereits "belegt" sind) dieser Prompt erscheinen soll.


    Du könntest also hier rumspielen, um das für die gewünschte Schriftart einzustellen.


    Ich rate davon dringend ab.
    Sehr viel einfacher dürfte es sein, in einer Console nur "monospaced" Schriftarten zu verwenden.
    Dann sollte sich dein Problem von alleine erledigen.

    Für den Inhalt des Beitrages 54688 haftet ausdrücklich der jeweilige Autor: uhelp

  • Hallo,


    Zitat


    Und den letzten Beitrag verstehe ich nicht.


    Hier sollst Du den aktuellen Cursor Prompt zwischenspeichern:
    (in der Konsole)

    Code
    PS1_backup="$PS1"


    dann (testhalber) neu definieren:

    Code
    export PS1="$ "


    Frage: besteht das Problem noch immer?


    Den alten Prompt wieder herstellen:

    Code
    export PS1="$PS1_backup"


    Falls der Test-Prompt funktioniert, was zeigt bei Dir:

    Code
    echo $PS1


    ----------


    Ein anderer Test (falls obiges ohne Resultat):


    In der Konsole: vergrössere mal den Font dreimal mit:

    Code
    Strg Shift +


    Strg = Ctrl
    Alle drei Tasten gleichzeitig -- und dies dreimal hintereinander.


    Dann Fontgrösse wieder zurück auf 'normal':

    Code
    Strg -


    Beide Tasten gleichzeitig -- und dies dreimal hintereinander.


    Resultat?


    Gruss,
    Roland

    Für den Inhalt des Beitrages 54690 haftet ausdrücklich der jeweilige Autor: rme

  • Hallo, nun wieder im Büro...


    Danke für die Erklärungen.

    Sehr viel einfacher dürfte es sein, in einer Console nur "monospaced" Schriftarten zu verwenden.

    In der Profilverwaltung der Bash ist die "Monospace" bereits ausgewählt (siehe Bild).

    Diese Funktion errechnet (unter anderem) den Abstand des Cursors vom Anfang der Zeile.


    Ohne entsprechendes Wissen trau ich mich an die Funtkion auch nicht ran.


    Zu den Eingaben in der Konsle, deute ich es richtig, dass der Test funktioniert hat? Der neue Prompt lautet:


    Code
    $


    Die Schriftvergrößerung/-verkleinerung hat nichts außer die Vergrößerung oder Verkleinerung bewirkt. Oder ich bin schwer von Begriff. :huh:

  • Das ist in Ordnung.
    Ich verstehe dein räsonieren nicht.


    Mit

    Code
    export PS1="$ "

    hast du die bash angewiesen als Systemprompt ein Dollarzeichen, gefolgt von einem Leerzeichen auszugeben. Genau das zeigen die Bilder.
    Das ist also in Ordnung.


    Wenn du das immer so haben willst, musst du diesen Exportbefehl in eine der Dotfiles eintragen, die die bash beim Start liest.
    ~/.bashrc oder ~/.profile (Man kann das auch systemweit für alle User in /etc setzen)


    Damit steht auch fest, dass es tatsächlich die Funktion "ppwd" im Prompt ist, die das verursacht.
    Bitte poste einmal das Ergebnis von

    Code
    declare -f ppwd

    Für den Inhalt des Beitrages 54709 haftet ausdrücklich der jeweilige Autor: uhelp

  • Nein, schimpfen will ich wirklich nicht. :) Im Gegenteil... bin doch auf fremde Hilfe angewiesen. Ich bin bemüht nur mit mir und dem Rechner zu meckern.


    Wenn du das immer so haben willst, musst du diesen Exportbefehl in eine der Dotfiles eintragen, die die bash beim Start liest.


    Gut zu wissen. Dennoch hätte ich gern den default-Prompt.


    Die Ausgabe von declare -f ppwd lautet:


    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 54714 haftet ausdrücklich der jeweilige Autor: phobophil

  • Wenn du nur den Default Prompt haben willst:

    Code
    export PS1='\u@\h:\w>'

    Also lediglich den Funktionsaufruf von "ppwd" weglassen. Der Befehl muss, wie schon geschrieben irgendwo in bashrc etc... eingetragen werden.


    Ich hätte eigentlich erwartet, dass bei dir die Funktion "ppwd" verbogen gewesen wäre.
    Das ist aber nicht der Fall. Es dürfte also nicht sein.
    Zwar mag dir dieser Workaround helfen, aber das eigentliche Problem ist damit nicht gelöst.

    Für den Inhalt des Beitrages 54717 haftet ausdrücklich der jeweilige Autor: uhelp

  • Hallo,


    Ich habe im Internet gesehen dass auch Windows-User dieses Problem haben.


    Verwendest Du den Browser Chrome? das wäre ein Problem-Kandidat.


    Oder hast Du zwei Bildschirme angeschlossen?


    Gruss,
    Roland

    Für den Inhalt des Beitrages 54721 haftet ausdrücklich der jeweilige Autor: rme

  • Hmm, der Workaround hilft leider nicht.


    Ich habe Chrome nur zum Testen meiner Websites installiert, verwende aber fast ausschließlich Firefox. Einen zweiten Bildschirm habe ich nicht angeschlossen.

    AMD Ryzen 9 5900X 12-Core Processor
    GeForce GTX 980
    128GB RAM

    Kernel-Version 6.5.4-1-default (64-bit)

    Für den Inhalt des Beitrages 54724 haftet ausdrücklich der jeweilige Autor: phobophil

  • Was hat irgendein Browser mit einer Linuxconsole zu tun?
    Absolut gar nix.


    Was heißt "hilft nicht"?
    Meinst du, dass du trotz Änderung von PS1 (wohin?) immer noch ein Abstand von mehreren Spaces in der Kommandozeile auftaucht?


    Was ist überhaupt der Grund solche fragwürdigen Fontsdinger zu installieren?

    Für den Inhalt des Beitrages 54725 haftet ausdrücklich der jeweilige Autor: uhelp