18.09.2014, 22:53 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
stalin2000
Titel: Script mit Abfolge einfacher Tastenbefehle?  BeitragVerfasst 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
 
 Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
dosenfleisch
Titel: Script mit Abfolge einfacher Tastenbefehle?  BeitragVerfasst 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?
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
DerangedGonzo
Titel: Script mit Abfolge einfacher Tastenbefehle?  BeitragVerfasst 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.
 
 Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden  
Antworten mit Zitat Nach oben
stalin2000
Titel:   BeitragVerfasst 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
 
 Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
blauweiss
Titel:   BeitragVerfasst am: 15.03.2009, 10:17 Uhr



Anmeldung: 12. Mar 2005
Beiträge: 366

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
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
TheOne
Titel:   BeitragVerfasst 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 Winken

TheOne

PS: aus Spaß an der Freude kannst du die Variante von blauweiss aber auch gerne mal probieren, sollte eigentlich auch funktionieren Lachen Lachen

_________________
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
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
blauweiss
Titel:   BeitragVerfasst am: 15.03.2009, 19:10 Uhr



Anmeldung: 12. Mar 2005
Beiträge: 366

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 Lachen Lachen

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
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
DerangedGonzo
Titel:   BeitragVerfasst 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 Winken 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 Winken

_________________
Ich bin nur dafür verantwortlich was ich SAGE,
Nicht das was du verstehst.
 
 Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden  
Antworten mit Zitat Nach oben
stalin2000
Titel:   BeitragVerfasst 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 Smilie

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
 
 Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
dosenfleisch
Titel:   BeitragVerfasst 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 Winken
wmctrl sollte installiert sein.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
stalin2000
Titel:   BeitragVerfasst 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
 
 Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
dosenfleisch
Titel:   BeitragVerfasst 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.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
stalin2000
Titel:   BeitragVerfasst 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
 
 Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
dosenfleisch
Titel:   BeitragVerfasst am: 21.03.2009, 07:40 Uhr



Anmeldung: 11. Jul 2006
Beiträge: 164
Wohnort: westerwald
vllt vor jedem [enter]
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 2003-2007 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.