Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Laie braucht Hilfe: Cursor-Blinken stoppen (vermutlich in Qt5 apps)

  1. #1
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6

    Laie braucht Hilfe: Cursor-Blinken stoppen (vermutlich in Qt5 apps)

    Hallo,

    vorweg: Wenn ich mit meinem Anliegen im falschen Unterform bin, dann bitte einfach verschieben. Danke!

    Ich hasse blinkende Eingabemarken (Cursor). Das ist immer das erste, das ich in Windows abstelle. Mit Linux arbeite ich nur beruflich. Dabei genügen mir allerdings erweiterte Grundkenntnisse. Eigentlich brauche ich nur ein Programm (Cadence Virtuoso). Ich habe vor Jahren mal die Seite
    http://www.jurta.org/en/prog/noblink
    gefunden. Im Abschnitt "Qt applications in KDE" hab ich gefunden, wie ich das Blinken abstellen kann.
    [Qt]
    cursorFlashTime=0

    in
    ~/.config/Trolltech.conf
    eintragen. Jetzt gibt es von dem Programm aber eine neue Version und jetzt blinken die Mistdinger wieder.

    Hat wer von Euch spontan eine Idee?

    Ohne zu wissen, was genau das eigentlich ist, könnte ich mir vorstellen, daß die jetzt auf Qt5 umgestiegen sind. Denn so wie die Seite geschrieben ist, hilft dieser Tipp nur bei Qt3 und Qt4. Kann man das irgendwie rausfinden, welches Qt für das Programm verwendet wird? Für Qt5 verweisen die auf das Utility
    https://github.com/igogo/qt5noblink
    Allerdings weiß ich nicht, was ich damit machen soll. Schritt 1 und 2 sind klar. Für Schritt 3 hab ich (als Laie)
    $ LD_PRELOAD=~/test/qt5noblink.so Startskript
    probiert. Natürlich kam dann
    $: Command not found.
    Ohne das $ kommt auch "Command not found." Ich habe dann probiert das irgendwie in das Startskript reinzuschreiben, aber egal was ich probiert hab, es hat nicht funktioniert. Bin halt doch Laie was Linux angeht, ich steh dazu.

    Könnt Ihr mir da helfen büdde?

    Mich macht das Geblinke echt wahnsinnig! Ich kapier nicht, wie man überhaupt auf die Idee kommen kann, das Ding blinken zu lassen. In der Werbeindustrie weiß man, daß Animationen die Aufmerksamkeit auf sich lenken. Deswegen sind Werbebanner ja meistens animiert. Und dann läßt man die Eingabemarke blinken, obwohl man weiß, daß das ablenkt und damit bei der Arbeit stört? Die meisten Menschen nehmen das nicht bewußt wahr. Aber unterbewußt beeinflußt das die Aufmerksamkeit jedes Menschen. Ich versteh’s einfach nicht. Egal, ich kann’s nicht ändern, nur versuchen damit umzugehen ...

    Hoffentlich weiß wer von Euch Rat.

    Danke schon jetzt!
    Magistus ...

  2. #2
    kleine schwester von root Avatar von corresponder
    Registriert seit
    May 2002
    Ort
    192.67.198.56
    Beiträge
    4.578
    das lässt sich sicher über die .bashrc im benutzerverzeichnis einstellen,
    meiner blinkt nicht:

    # .bashrc

    # User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi
    verweisst auf:
    # /etc/bashrc

    # System wide functions and aliases
    # Environment stuff goes in /etc/profile

    # It's NOT a good idea to change this file unless you know what you
    # are doing. It's much better to create a custom.sh shell script in
    # /etc/profile.d/ to make custom changes to your environment, as this
    # will prevent the need for merging in future updates.

    # are we an interactive shell?
    if [ "$PS1" ]; then
    if [ -z "$PROMPT_COMMAND" ]; then
    case $TERM in
    xterm*)
    if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
    else
    PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
    fi
    ;;
    screen)
    if [ -e /etc/sysconfig/bash-prompt-screen ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
    else
    PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
    fi
    ;;
    *)
    [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
    ;;
    esac
    fi
    # Turn on checkwinsize
    shopt -s checkwinsize
    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
    # You might want to have e.g. tty in prompt (e.g. more virtual machines)
    # and console windows
    # If you want to do so, just add e.g.
    # if [ "$PS1" ]; then
    # PS1="[\u@\h:\l \W]\\$ "
    # fi
    # to your custom modification shell script in /etc/profile.d/ directory
    fi

    if ! shopt -q login_shell ; then # We're not a login shell
    # Need to redefine pathmunge, it get's undefined at the end of /etc/profile
    pathmunge () {
    case ":${PATH}:" in
    *:"$1":*)
    ;;
    *)
    if [ "$2" = "after" ] ; then
    PATH=$PATH:$1
    else
    PATH=$1:$PATH
    fi
    esac
    }

    # By default, we want umask to get set. This sets it for non-login shell.
    # Current threshold for system reserved uid/gids is 200
    # You could check uidgid reservation validity in
    # /usr/share/doc/setup-*/uidgid file
    if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
    else
    umask 022
    fi

    # Only display echos from profile.d scripts if we are no login shell
    # and interactive - otherwise just process them to set envvars
    for i in /etc/profile.d/*.sh; do
    if [ -r "$i" ]; then
    if [ "$PS1" ]; then
    . "$i"
    else
    . "$i" >/dev/null 2>&1
    fi
    fi
    done

    unset i
    unset pathmunge
    fi
    # vim:ts=4:sw=4
    wird wohl "printf" sein
    _______________________________________

    www.audio4linux.de - musik machen mit offenen quellen!

  3. #3
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6
    Du meinst mit Benutzerverzeichnis das Home-Laufwerk?
    Eine .bashrc hab ich dort gar nicht. Auch kein Verzeichnis /etc.

    Nicht falsch verstehen: Ich meine nicht die Eingabemarke im Linux-Kommandofenster (shell?). Die blinkt auch bei mir nicht. Ich meine die, die ich in dem Programm (Cadence Virtuoso), das ich nutze, überall habe.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    *bnutu nehmen - https://help.ubuntu.com/stable/ubunt...-blink.html.en
    Ansonsten ist üblich, dass das von der Anwendung explizit unterstützt wird, dass ist dann dort entsprechend Dokumentiert - wie zB bei den ganzen Terminal Anwendungen, oder: https://github.com/Sigil-Ebook/Sigil...820bc5b78015cc

    Wenn das nicht mehr geht, ging ja wohl mal, dann Bug melden. Alternativ die Entwickler bitten die Funktion noch zu rüsten - Feature Request. Oder halt gleich selber einbauen, Sourcen scheinen frei verfügbar zu sein.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  5. #5
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6
    Jetzt kommt mein Laien-Status wieder zum tragen fürcht’ ich! Jedenfalls versteh ich nicht, was Du mir mit der github-Seite sagen wolltest. Ich versteh grad nicht mal, was das damit zu tun haben soll, ob man vor einem Mac oder einer Windows-Kiste sitzt. Ich hab Windows, logge mich aber per MobaXterm oder FastX an einem Server an, auf dem eben Linux läuft.

    Also hier bei der Arbeit muß ich das Linux nehmen, das unsere EDV-Leute auf den Servern installiert haben. Da kann ich nicht einfach sagen, ich hätt gern ubuntu.

    An wen soll ich einen Bug melden? An die Entwickler des Programms mit dem ich arbeite? Aber was melde ich denen? Ich hab wie gesagt nicht viel Plan davon wie Linux funktioniert. Aber ich stelle mir das so vor, daß das, was ich in
    ~/.config/Trolltech.conf
    eingetragen hab, eine allgemeine Einstellung ist. Und wenn es mit der neuen Programmversion wieder blinkt, dann denke ich, haben die irgendwas grundsätzliches geändert, so daß diese allgemeine Einstellung nicht mehr berücksichtigt wird.

    Kann das sein, daß die von Qt4 auf Qt5 umgestiegen sind? So wie ich es oben vermutet hatte?

    Selbst einbauen? Irgendwie glaub ich nicht, daß die die Quellcodes frei verfügbar machen bei einem Programm, bei dem eine (kommerzielle) Lizenz einen sechsstelligen Betrag kostet.

    Herje komm ich mir doof vor. Aber man kann ja nicht alles wissen. Und vor Linux-Wissen hab ich mich bisher immer gedrückt muß ich zugeben.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    D.h. du arbeitst mit Linux, wenn dir etwas nicht gefällt wie es ist, korrigiere es selber, der Github Link ist ein Beispiel wie so etwas funktioniert bzw funktionieren sollte.
    Den Bug meldest du den Autoren deiner Software, das gilt erst recht dann, wenn man den Quellcode nicht bekommen kann.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  7. #7
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6
    Naja, ich bin Dir ja dankbar dafür, aber wie ich schon erwähnt habe, habe ich allenfalls erweiterte Grundkenntnisse. Das heißt, daß ich schon nicht weiß, ob Du meinst, daß ich das Linux korrigieren soll oder das Programm. Bei dem Linux kann ich zwar alles editieren, was in meinem Home-Laufwerk ist, aber nicht die eigentliche Linux-Installation. Das können nur unsere Admins. Und bei dem Programm kann ich zwar viele Skripte und Einstellungs-Dateien ändern, aber nicht den Programm-Kode selbst.

    Um etwas zu melden müßte ich ja erstmal wissen, ob das überhaupt ein Bug ist. Oder ob die neue Version vielleicht einfach nur anders geschrieben ist, so daß die alte Variante einfach nicht mehr funktioniert. Wenn das so ist, dann werden mir die Autoren nur sagen, daß sie mir nicht helfen können, weil das eine Linux-Einstellung ist und keine Programmeinstellung.

    Ich hatte das damals (vor 4 Jahren) schon in deren Forum gefragt. Ich weiß nicht, ob man die Seite sehen kann wenn man dort kein Konto hat. Falls aber doch:
    https://community.cadence.com/cadenc...eyboard-cursor
    Ich habe vorhin dort geantwortet, daß das Problem jetzt wieder auftritt. Noch keine Antwort. Aber schon damals war die Antwort nicht die Lösung sondern hat mir nur geholfen selbst die Lösung zu finden. Ich fürchte diesmal wird es noch schwieriger dort eine Lösung zu bekommen.

    Aber dort hatte mir der Mann auch gesagt "Virtuoso is a Qt-based UI". Daher nochmal meine Frage: Kann ich irgendwie irgendwo sehen, ob Virtuoso Qt4 oder Qt5 ist?

    Und was ist mit der "$ LD_PRELOAD"-Idee, die ich oben genannt habe? Läßt sich in zwei bis drei Zeilen erklären, wo ich diese Zeile eingeben bzw. eintragen muß?

  8. #8
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    Du könntest probieren das eigentlich Programm zu analysieren:
    https://linux.die.net/man/1/ldd
    https://linux.die.net/man/1/file
    https://linux.die.net/man/1/readelf

    Mit etwas Glück, weisst du dann, ob und welche Qt Version verwendet wird. Bzgl LDPRELOAD, der Suchbegriff ist "ldpreload trick", da findet man einige Erläuterungen zum Thema. Kurz gesagt, ein Mechanismus, mit dem man eigenen Code injizieren kann. Das ist aber kein Ziel führender Ansatz, weil er ziemlich krasse Seiteneffekte haben kann, sollte man nur machen, wenn man genau weiß warum und wieso es nicht anders geht - bei dir eher nicht der Fall.

    Egal, dein Problem ist, dass dein System den Befehl Startskript nicht kennt, tausche das durch die Anwendung aus, bzw. ruhig den ganzen Pfad dahin - LDPRELOAD=/pfad/zur/bibliothek /pfad/zur/anwendung

    Nochmal, die injizierst dir da Code, denn du nicht verstehst, an deiner Systemverwaltung vorbei, dass sollten eure Admins auch nicht mögen - könnte ja auch noch oder gar nur böses drin stecken.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  9. #9
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6
    Ich habe morgen frei, aber am Freitag werde ich das mal probieren. Danke Dir!

    Bezüglich LD_PRELOAD:
    "Startskript" ist nur ein Platzhalter gewesen in meinem ersten Beitrag. Ich starte das Programm mit einem Befehl hinter dem ein Skript steckt, das ich Maggi genannt hab (kurz für Magistus *grins*). Daher hab ich eigentlich
    $ LD_PRELOAD=~/test/qt5noblink.so Maggi
    probiert. Aber dann kam
    $: Command not found
    was ich so verstanden hab, daß die Kiste das Dollarzeichen als Command nicht gefunden hat. Das hab ich so interpretiert, weil ich anschließend das ganze ohne das $ getestet hatte. Also
    LD_PRELOAD=~/test/qt5noblink.so Maggi
    Das mag vielleicht Unsinn gewesen sein, aber daraufhin kam
    LD_PRELOAD: Command not found (oder so ähnlich, kann es ja hier daheim nicht testen)
    Jedenfalls hab ich mir dann gedacht, daß vor dem Doppelpunkt immer das steht, was er nicht kennt. Im ersten Fall eben das $.
    Das mit dem "ganzen Pfad zur Anwendung" hab ich nicht probiert. Teste ich dann am Freitag auch mal.

    Auf der GitHub-Seite die ich verlinkt hatte kann man ja in der Datei qt5noblink.cpp den Code sehen. Ohne die Syntax zu verstehen sieht der für mich aber recht harmlos aus. Prinzipiell verstehe ich zwar Deinen Einwand, aber in dem Fall hab ich da nicht viel Skrupel das mal testen.

    Code:
    class QApplication
    {
    public:
    	static int cursorFlashTime();
    };
    int QApplication::cursorFlashTime()
    {
    	return 0;
    }
    class QStyleHints
    {
    public:
    	int cursorFlashTime() const;
    };
    int QStyleHints::cursorFlashTime() const
    {
    	return 0;
    }

  10. #10
    eigentlich keine Blondine
    Registriert seit
    Mar 2010
    Beiträge
    931
    Das Dollarzeichen wegzulassen war auf jeden Fall schon mal richtig. Damit ist bloß gemeint, dass du es als Normaluser auf der Shell eingibst (da steht als letztes Zeichen in der Eingabeaufforderung ein $, bei root dagegen ein #).
    Unter Linux eine .exe-Datei ausführen ist ganz einfach. Man nimmt eine beliebige unter Linux ausführbare Datei, benennt sie um in AusfuehrbareDatei.exe und führt sie aus.

  11. #11
    Registrierter Benutzer
    Registriert seit
    Nov 2018
    Beiträge
    6
    Danke erstmal für Eure Antworten, aber: Ich werd noch kirre!

    Mittlerweile hab ich eine Antwort im Forum der Firma, die das Programm entwickelt, erhalten:
    https://community.cadence.com/cadenc...eyboard-cursor

    Die neue Version basiert tatsächlich auf Qt5. Und dort hat mir der Mann auch versucht zu sagen, wie das mit LD_PRELOAD gehen könnte:
    If you've built the shared library, then you can just (if using bash) do:
    LD_PRELOAD=/path/to/qt5noblink.so virtuoso
    If you're using csh, rather than setting LD_PRELOAD generally using setenv, I'd suggest you create a wrapper script called "virtuosonobl" which does:
    #!/bin/sh
    LD_PRELOAD=/path/to/qt5noblink-master/qt5noblink.so virtuoso "$@"

    Then you can just run "virtuosonobl" provided it's in your path.
    Aber egal was ich probiere, ich bekomme immer wieder dieselbe Meldung
    LD_PRELOAD=/home/magistus/test/qt5noblink.so: Command not found.

    Kann es sein, daß unsere Admins LD_PRELOAD irgendwie generell blockieren? Wenn man damit wirklich so viel Schindluder treiben kann, wär das ja verständlich. Oder geht das nicht? Ich würd ja zu denen gehen und fragen, die sind recht nett und hilfsbereit, aber vorher würde ich gerne etwas besser Bescheid wissen. Nicht daß die noch denken, ich will damit wirklich Unfug machen.

    edit mit einer Zusatzfrage:
    Was meint der Mann denn mit
    "rather than setting LD_PRELOAD generally using setenv"?
    In dem Startskript für das Programm werden jede Menge Variablen mit setenv gesetzt. Beispielsweise
    setenv GF_PDK_INSTALLDIR /home/vendor/gf/pdk/22FDX/V1.3_2.2
    Kann ich dieses LD_PRELOAD auch auf diese Weise irgendwie integriern?

    Doppel-edit:
    WAAAAAAHHHHHHHHHH!!!!!!!!! ES FUNKTIONIERT!
    setenv LD_PRELOAD /home/magistus/test/qt5noblink.so
    virtuoso &

    und es blinkt nichts mehr! Herrlich!
    Würde mich zwar immer noch interessieren, wieso ich mit den anderen Varianten immer "Command not found" bekommen hab, aber Hauptsache es funktioniert jetzt auf diese Weise.
    Danke Euch für die Hinweise die mir geholfen haben weiter zu testen!
    Geändert von Magistus (30.11.18 um 12:48 Uhr)

Ähnliche Themen

  1. bot.... braucht hilfe!!!
    Von haselere im Forum Meldungen und Mitglieder
    Antworten: 1
    Letzter Beitrag: 17.12.08, 08:23
  2. nob braucht hilfe
    Von joogie im Forum System installieren und konfigurieren
    Antworten: 18
    Letzter Beitrag: 19.09.05, 16:23
  3. Could not open default cursor font 'cursor'
    Von K!nickel im Forum X-Konfiguration
    Antworten: 2
    Letzter Beitrag: 31.08.04, 20:39
  4. newbie braucht hilfe
    Von kossi23 im Forum Anbindung an die Aussenwelt
    Antworten: 24
    Letzter Beitrag: 10.06.04, 18:34
  5. HILFE! Fensterrahmen und Cursor weg
    Von ChandlerBing im Forum Windowmanager
    Antworten: 5
    Letzter Beitrag: 20.02.03, 15:33

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •