Autor |
Nachricht |
|
Titel: Script mit Abfolge einfacher Tastenbefehle?
Verfasst am: 12.03.2009, 14:38 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo,
ich möchte ein Script machen, daß bestimmte Tasten der Tastatur in bestimmten Abständen durchführt.
Ziel des ganzen ist, daß ich mich nicht immer wieder durch das Nvidia-Konfigurationsprogramm klicken möchte, wenn ich einen Monitor von beiden deaktivieren möchte (um zu spielen).
Daher brauche ich ein script, welches das Programm startet und dann in etwa sowas macht:
starte programm ... warte 3 Sekunden ... 3x Tabulator ... 4x Nach unten Taste ... 3x Tabulator ... Enter
Geht das? Oder findet ihr dieses "Workaround" zu dämlich ?
Gruß Christopher |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel: Script mit Abfolge einfacher Tastenbefehle?
Verfasst am: 12.03.2009, 20:26 Uhr
|
|

Anmeldung: 11. Jul 2006
Beiträge: 164
Wohnort: westerwald
|
|
was dämliches gibt es nur in der welt der nörgler und gängler.
hört sich aber ziemlich beknackt an. ich habe keine nvidia. kann man nicht eine config editieren und dann einen prozeß neustarten und das ganze mit der bash?
in welcher datei wird denn welcher string verändert. weißt du das? |
|
|
|
|
 |
|
Titel: Script mit Abfolge einfacher Tastenbefehle?
Verfasst am: 12.03.2009, 22:55 Uhr
|
|

Anmeldung: 29. Jul 2007
Beiträge: 288
|
|
hi stalin, ich starte für Spiele immer nen extra xserver. Soweit ich weiß, aber das ab ich nur am rande ma irgendwo gelesen, gibt es die Möglichkeit für den 2. xserver scripte zu übergeben, die zb genau das tun. Also eine andere xorg.conf oder ein andere nvidia config zu nehmen. Wie das mit den skripten fgeht weiß ich net.
schau mal im Netz nach xinit und skripten oder so. |
_________________ Ich bin nur dafür verantwortlich was ich SAGE,
Nicht das was du verstehst.
|
|
|
|
 |
|
Titel:
Verfasst am: 13.03.2009, 01:23 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Ja, das mit der 2. xorg hatte ich schon irgendwo gelesen...
Für mich wäre es nur wichtig, daß die Lösung einfach ist... Weil ich will nicht nach der nächsten Installation das alles wieder einrichten müssen.
Am liebsten wäre mir also nur ein Knopf, mit dem man den 2. Bilschirm ausschalten kann. Eine configdatei muß man dafür ja nicht verändern, zumal das Nvidia-Configprogramm als user ausgeführt auch nur für die Sitzung Wirkung hat und das soll ja auch so sein... |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 15.03.2009, 10:17 Uhr
|
|
Anmeldung: 12. Mar 2005
Beiträge: 368
|
|
Für automatische Aktionen, schau dir mal das Paket xmacro an.
Es sind leider nur wenig Infos darüber zu finden,
Start der Aufnahme z.B. mit:
Code:
xmacrorec2 >aufnahme
Abspielen der Aufzeichnung:
Code:
xmacroplay :0 <aufnahme
Beim Abspielen der Aufzeichnung muß das entsprechende Programm natürlich gestartet
und als Fenster aktiv sein!
Ein kleines script das Dieses sicherstellt könnte so aussehen:
Code:
#!/bin/sh
dein_programm &
sleep 3; #warten, bis Programm gestartet ist
xmacroplay :0 </Pfad/zu/aufnahme
Sinnvoll bei der Aufzeichnung ist das entsprechende Programm mit der Maus auszuwählen,
bei den Eingaben aber auf die Tastatur zurückzugreifen,
so kannst du anschl. die überflüssigen Mausbewegungen am Anfang der Datei
aus der Aufzeichnung herausnehmen.
Das script kannst du dann per konsole starten, oder als Desktop-Icon anlegen. |
_________________ Gruss an alle Kanotix-Fans, blauweiss
|
|
|
|
 |
|
Titel:
Verfasst am: 15.03.2009, 16:47 Uhr
|
|
Anmeldung: 15. Mar 2008
Beiträge: 610
|
|
also Jungs bitte !
geb dosenfleisch vollkommen Recht, das Problem so zu lösen wäre echt "beknackt" ^^
@stalin2000:
schau dir doch mal Tool nvidia-xconfig an, dort kannste auch alles einstellen, was du über das grafische Frontend einstellen kannst
damit sollte eine elegantere Lösung per Script möglich sein,
Code:
man nvidia-xconfig
verrät dir wie es gemacht wird
TheOne
PS: aus Spaß an der Freude kannst du die Variante von blauweiss aber auch gerne mal probieren, sollte eigentlich auch funktionieren  |
_________________ Lenovo ThinkPad X220 | Core i7-2640M 16GB | Hellfire 3.6
FSC Tablet T4220 | Core2 Duo T7250 2GHz 3GB | Intel GMA X3100 | Hellfire 3.6
Clevo M570U | Core2 T7200 2GHz 2GB | Geforce Go 7950gtx | Hellfire 3.2
|
|
|
|
 |
|
Titel:
Verfasst am: 15.03.2009, 19:10 Uhr
|
|
Anmeldung: 12. Mar 2005
Beiträge: 368
|
|
TheOne hat folgendes geschrieben::
geb dosenfleisch vollkommen Recht, das Problem so zu lösen wäre echt "beknackt" ^^
PS: aus Spaß an der Freude kannst du die Variante von blauweiss aber auch gerne mal probieren, sollte eigentlich auch funktionieren
Aus Spaß an der Freude hab ich das nicht geschrieben,
Die Variante mit Änderung der config erfordert zumindest mal den Neustart des Xservers,
genau Das will Christopher aber wohl nicht!
Hierfür gibt es xmacro, wenn davon auszugehen ist,
das nach nach Drücken seiner Tastenkombination das gewünschte Ergebnis umgehend erzielt wird.
Einen Parameter zur sofortigen Übernahme einer neuen config kann ich in der manpage nicht finden... |
_________________ Gruss an alle Kanotix-Fans, blauweiss
|
|
|
|
 |
|
Titel:
Verfasst am: 15.03.2009, 21:28 Uhr
|
|

Anmeldung: 29. Jul 2007
Beiträge: 288
|
|
es sei denn, man startet nicht den xserver neu, sondern startet einen zusätzlichen. Wie ich es ursprünglich vorgeschlagen habe mit xinit.
das ist sehr einfach zu lösen:
man braucht eine xorg.conf_tw1 und xorg.conf_tw0, welche die Konfiguration für eingeschaltetes twinview und ausgeschaltetes twinview beinhalten.
Nun macht man ein skript, welches erst diexorg.conf mit xorg.conf_tw0 überschreibt, das Spiel startet, und hinterher die xorg.conf mit xorg.conf_tw1 überschreibt. sudo kann hier von Nützen sein, damit man nicht jedesmal das Passwort eingeben müsste (kdesu), oder das skript gar als root ausführen müsste.
Ich denke das dürfte einfach und schnell genug sein. Wer's kann, kann bestimmt mit sed oder awk Arbeiten anstelle von 2 verschiedenen xorg.conf dateien.
EDIT: hab's mal ausprobiert für das Spiel fretsonfire:
in der /etc/X11/Xwrapper.config muss man console gegen anybody austauschen:
allowed_users=anybody damit jeder eien xserver starten kann. <-- ACHTUNG SICHERHEITSLÜCKE!
und dann in /usr/local/bin/ ein Skript basteln. Ich nehm dafür den kürzel des Spielenamen und davor ein x zur Kennzeichnung:
/usr/local/bin/xfof
Code:
#!/bin/bash
alias cp=cp
sudo cp -f /etc/X11/xorg.conf_tw0 /etc/X11/xorg.conf
xinit fretsonfire -- $* :1
sudo cp -f /etc/X11/xorg.conf_tw1 /etc/X11/xorg.conf
des alias cp=cp hab ich gemacht, weil in der /etc/profile standartmäßig alias cp=cp -i drin steht des wollen wa ja net haben.
wer sudo bei sich im System net aktiviert hat, kann auch kdesu nehmen, oder die Rechte für die xorg.conf ändern. Beides net so schön.
ich hoffe, dass des so einleuchtend ist. Falls dir des noch net einfach genug ist, fällt mir eig auch nichts anderes ein. Oder fallsdu nicht mit rootrechten arbeiten möchtest  |
_________________ Ich bin nur dafür verantwortlich was ich SAGE,
Nicht das was du verstehst.
|
|
|
|
 |
|
Titel:
Verfasst am: 16.03.2009, 22:37 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo,
ich habe erstmal die "primitive" Lösung versucht.
Hier das Script dann wie es bei mir aussieht.
Zitat:
#!/bin/sh
nvidia-settings &
sleep 3; #warten, bis Programm gestartet ist
xmacroplay :0 </home/putin/aufnahme
# oben
# 2x tab
# leertaste
# oben
# enter
# 2x tab
# leer
# 5x oben
# enter
# 2 x tab
# enter
# 1 sekunde warten
# tab
# enter
Allerdings startet x neu, wenn ich das Script so ausführe. Bis zum Punkt "5X oben, enter" geht's aber schon ganz gut
Morgen probier ich die Lösung mit xorg |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 17.03.2009, 16:23 Uhr
|
|

Anmeldung: 11. Jul 2006
Beiträge: 164
Wohnort: westerwald
|
|
wenn du einem fenster befehle schickst, dann ist sinnvoll, irgendwann das aktive fenster zu checken.
ich ermittle das aktive fenster so:
Code:
activewin="$(wmctrl -l | grep "$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"|cut -d'#' -f2|cut -b5-20)")";activewin="$(echo "$activewin"|awk '{print $4 $5 $6}')";echo $activewin
auch ziemlich beknackt, aber dann paßt's ja
wmctrl sollte installiert sein. |
|
|
|
|
 |
|
Titel:
Verfasst am: 19.03.2009, 09:46 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
wieso ist das mit dem aktiven Fenster notwendig? bei Mir klappt es soweit auch so....
Das script sieht aktuell so aus:
Zitat:
#!/bin/sh
kwin --replace &
sleep 3
nvidia-settings &
sleep 2; #warten, bis Programm gestartet ist
xmacroplay :0 </home/putin/aufnahme
# Taste n. u.
# 2x tab
# leer
# oben
# enter
# 2x tab
# leer
# 5x oben
# enter
# 2 x tab
|
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 20.03.2009, 08:00 Uhr
|
|

Anmeldung: 11. Jul 2006
Beiträge: 164
Wohnort: westerwald
|
|
Zitat:
wieso ist das mit dem aktiven Fenster notwendig? bei Mir klappt es soweit auch so....
bis plötzlich irgendein prog eine fehlermeldung auswirft wie:
"Wollen Sie das wirklich löschen?"
und dein script ein unmotiviertes [enter] auswirft.
könnte sein, daß du dir in diesem falle eine unterbrechung des scriptes gewünscht hättest. |
|
|
|
|
 |
|
Titel:
Verfasst am: 21.03.2009, 00:50 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
ok, das leuchtet ein. An welche stelle im Script soll denn Deine Zeile? |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 21.03.2009, 07:40 Uhr
|
|

Anmeldung: 11. Jul 2006
Beiträge: 164
Wohnort: westerwald
|
|
|
|
 |
|