Ein aktuelles Mailinglistenelement gibt einen Hinweis ( Re: Newbie: XQuartz-Installation für FontForge-Fragen ):
Ich schlage vor, Sie verschieben es einfach zur Seite. Wenn Sie etwas tun wollen, legen Sie Skripte in ~ / .xinitrc.d ab und legen Sie sie als ausführbar fest.
Eine kleine Überprüfung zeigt, dass Sie, wenn Sie ein Skript mit dem Zusatz ".sh" in Ihr ~/.xinitrc.d
Verzeichnis einfügen, X-Befehle (wie z. B. xset
) dort einfügen können . Beenden Sie die Befehle unbedingt mit &
(zum Lösen).
Beispielsweise quick.sh
könnte Ihr Skript so aussehen:
xset r rate 10 &
Allerdings ist (etwas bemerkenswerter) etwas komplizierter. Xquartz setzt die Tastaturrate zurück, nachdem die Skripts ausgeführt wurden /.xinitrc
. Möglicherweise hängt dies mit einem Fehlerbericht zusammen, der dadurch gelöst wird, dass Xquartz den Systemeinstellungen entspricht.
Als Problemumgehung können Sie den quick.sh
Aufruf zu einem komplizierteren Skript machen:
pkill -9 rapid-keyboard $HOME/.xinitrc.d/rapid-keyboard &
und (um das neue Skript der Einfachheit halber in dasselbe Verzeichnis zu legen), könnte der Inhalt rapid-keyboard
wie folgt aussehen:
#!/bin/sh export PATH=\ /usr/bin:\ /bin:\ /opt/X11/bin getvalue() { value=$(xset q |\ fgrep "$2" |\ sed -e 's/^.*'"$2"':[[:space:]]*//' -e 's/[[:space:]].*//') [ -z "$value" ] && value="not set" eval $1=$value } WANT_RATE=50 WANT_DELAY=280 LOGFILE=/tmp/rapid-keyboard.log rm -f $LOGFILE while : do X11_PID=$(pgrep Xquartz) if [ -n "$X11_PID" ] then getvalue XSET_RATE "repeat rate" getvalue XSET_DELAY "repeat delay" if [ "x$XSET_RATE" != "x$WANT_RATE" ] then echo "** rate was $XSET_RATE at $(date)" >>$LOGFILE xset r rate $WANT_DELAY $WANT_RATE elif [ "x$XSET_DELAY" != "x$WANT_DELAY" ] then echo "** delay was $XSET_RATE at $(date)" >>$LOGFILE xset r rate $WANT_DELAY $WANT_RATE fi fi sleep 1 done
Das Skript protokolliert seine Änderungen (wird außer für Demonstrationszwecke nicht wirklich benötigt) und wartet, bis Xquartz die Einstellungen erneut ändert. Beim Testen sehe ich, dass sich die Einstellungen zweimal ändern, während der Initialisierung, aber nicht danach.