| 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
Sinnvoll bei der Aufzeichnung ist das entsprechende Programm mit der Maus auszuwählen,dein_programm &
 sleep 3; #warten, bis Programm gestartet ist
 xmacroplay :0 </Pfad/zu/aufnahme
 
 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
 
 |  |  | 
  
    |  | 
  
    |  | 
  
  
    |  |