1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Bildschirm Taktung

Dieses Thema im Forum "AppleScript" wurde erstellt von Mini-Leopard, 20.02.09.

  1. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Hallo liebe Freunde.

    Ich habe das Problem, dass mein uralter MACmini immer in viel zu geringer Auflösung hochfährt. Nach der Anmeldung ist dann zwar die richtige Auflösung, allerdings liegt die Monitor Taktung bei 85 Hz. Das liegt außerhalb des Bereiches meines Bildschirms.

    Nun möchte ich mir einfach ein Skript schreiben, das nach dem Anmelden startet und die Taktung des Monitors richtig einstellt.

    Nach stundenlangem googlen habe ich immer noch nicht die Möglichkeit gefunden, mit AppleScript oder dem Terminal (in dem Fall dann do shell script) die Taktung des Monitors zu ändern.

    Auch System Events verfügt leider nicht über ein "screen preferences object" oder so.
    Ich möchte auf keinen Fall GUI-Scripting verwenden, das könnte ich auch so.


    Also frage ich mal das geballte Wissen der Apfeltalk-Community, in der Hoffnung, hier Hilfe zu finden.


    Vielen Dank
     
  2. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
  3. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
  4. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Nein – Der Parameter RAM Reset hat leider keine Abhilfe geschaffen. Trotzdem Danke.

    Von cscreen hab ich schon gelesen.
    Aber dazu nichts gefunden.

    Hast Du schon Erfahrungen gemacht??
     
  5. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Ja, funktioniert einfach... probiere es einfach mal aus... bin gespannt =)
     
  6. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Ich finde, das Programm schlecht.
    Habe den Hilfetext aufgerufen:
    Code:
    Usage: cscreen [-d <depth>] [-x <width>] [-y <height>] [-r <refresh>] [-s <display>] [-v] [-m] [-f] [-l] [-h]
      [-d <depth>]   : specifies the bit depth (bits per pixel)
      [-x <width>]   : specifies the width in pixels
      [-y <height>]  : specifies the height in pixels
      [-r <refresh>] : specifies the refresh rate in Hz
      [-s <display>] : specifies which display to use (defaults to main display)
    		   use a as the option to -s to specify the action on all displays
      [-v]		 : display valid modes (use -s to specify display or nothing for the default)
      [-m]           : require an exact match
      [-f]		 : forces settings (ignores safety mechanisms; USE AT YOUR OWN RISK)
      [-l]           : lists the current displays and modes
      [-p]           : sets the requested display to have the menu bar
      [-h]           : displays the usage
      
      Note: Using -p will change the display index so you will likely want to use -l again to show the current
      displays if you wish to use -p a second time.
    dem ich entnehme, dass ich mit z.B. cscreen -r 60 die Taktung auf 60Hz stelle.

    Allerdings bekomme ich einfach nur
    Code:
    1 display found
    Index     Depth     Width     Height  Refresh(Hz; LCD displays show 0)
        1        32      1280       1024  75
    use -h to display all usage options
    als Antwort.

    Wenn einer von euch aus dem Hilfetext schlauer wird...


    Ich habe jetzt mal versucht, das ganze doch mit GUI-Scripting zu machen, da ja der Bildschirm sowieso aus ist, wenn ich mich anmelde. Selbstverständlich wäre mir eine elegantere Lösung lieber.

    Allerdings komme ich auch da nicht weiter.
    Ich habe jetzt bisher alle Objekte angesprochen.
    Nur schaffe ich es nicht, die eine bestimmte Zeile in der Auswahlliste für die Bildschirmauflösung zu wählen.
    Habe
    Code:
    click row 33
    und alle Abarten durchprobiert. Das klappt allerdings nicht.
    Mein UI Element Inspector sagt mir, dass die passende Aktion für dieses Element "Bestätigen" ist.
    Nun weiß ich nicht, wie man AppleScript (bzw. System Events) sagt, dass ein Element "bestätigt" werden soll, dazu ein Bild.


    Danke
     

    Anhänge:

    #6 Mini-Leopard, 20.02.09
    Zuletzt bearbeitet: 20.02.09
  7. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    sag' dem Programm doch, dass Du es doof findest oder gib Ihm auf dem Weg mit welches Display umgeschaltet werden soll...:p

    In der Hilfe steht übrigens:
     
    #7 hubionmac, 20.02.09
    Zuletzt bearbeitet: 20.02.09
  8. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
  9. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    So. Versucht:
    Code:
    cscreen -s 1 -r 60
    Das einzige, was ich dann habe, ist ein Bildschirm mit der Auflösung 800x800.
    Also funktioniert das Programm nicht.

    Auch das mit dem doof sagen hat nicht funktioniert.


    Ich glaube, ich greife dann doch auf GUI-Scripting zurück, glaube ich.
    Es sei denn, es kommt da noch was hilfreiches zum Thema AppleSript eigene Lösung oder eben doofes cscreen.
     
  10. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Okay...!
    Der Safe Mode wird sofort mal getestet.
     
  11. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Also.
    Einfach mal ohne Safe Mode neu gestartet.
    Plötzlich gehts wieder.
    Wird aber nicht immer so bleiben, so wie ich meinen alten Mac hier kenne.

    Trotzdem fänd ich es toll, wenn mir einer sagen könnte, wie ich via GUI eine Auswahlliste ansprechen kann bzw. ein Element, eine Zeile aus einer solchen Liste "klicken" kann.

    Code:
    tell application "System Events"
    	tell process "System Preferences"
    		tell window 1
    			try
    				tell scroll area 1
    					click button 12
    				end tell
    			end try
    			tell tab group 1
    				tell group 1
    					tell scroll area 1
    						tell table 1
    							tell row 33
    								click text field 1
    							end tell
    						end tell
    					end tell
    				end tell
    			end tell
    		end tell
    	end tell
    end tell
    vielleicht kann mir ja da einer weiter helfen.
    Dieses cscreen scheint nicht zu funktionieren.
     
  12. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Dieser GUI-Fetisch will mir einfach nicht in den Kopf, wenn es doch so viele schöne Terminal-Befehle gibt, die das in einer Zeile lösen könnten :p

    und das Programm funktioniert, wenn man ihm nur die notwendigen Informationen gibt.
    Also welche Auflösung, welches Display, wieviel Herz...

    Aber wie gesagt, wenn eine Zeile Code soviel Probleme bereitet, versuche es halt mit GUI-Scripting :-D
     
  13. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    GUI-Fetisch...!
    Ich hasse GUI. Aber wie gesagt, das Programm funktioniert nicht.
    Nun habe ich es schon mit allen nötigen Infos gefüttert:
    Code:
     -s 1 -d 32 -x 1280 -y 1024 -r 75
    Das Ergebnis ist
    Code:
    1 display found
    Index     Depth     Width     Height  Refresh(Hz; LCD displays show 0)
        1        32       800        600  60
    Nun sei doch nicht so und schreib mir mal einfach die Code-Zeile hier rein!
    Das wär echt toll!!
     
  14. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Woher soll ich denn bitte die Code-Zeile wissen?!
    Hm, also wenn ich mir mit
    Code:
    ./cscreen -v
    die ganzen validen werte ausgeben lassen bekomme ich bei meinem PB u.a.
    Code:
     1        32       800        600  0
    wenn ich also:
    Code:
    ./cscreen -d 32 -x 800 -y 600 -s 1
    eingebe funktioniert das...

    -r kann ich bei mir nicht nutzen, da ich direkt über DVI dran gehe...
     
  15. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Du brauchst nichtmal -v angeben.
    Wenn ich
    Code:
    cscreen fjyieijsjisoskdbdjxj
    eingebe, dann bekomme ich auch die Werte.

    Also bei mir geht es nicht.
    Egal, wie ich die Werte setzen will, schmeißt mich das Programm zurück auf 800x800.
    Trotzdem danke.

    Falls hier irendwer 'nen Plan von dämlichen GUI-Scripting hat...
    Problem ist oben geschildert.

    Danke
     
  16. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Also Safe Mode ging? Dann führe doch mal in Safe Mode das Programm SwitchResX aus. Die Variante mit dem GUI-Scripting ist doch nur Rumgegurke. ;)
     
  17. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Nein – Safe Mode brachte nichts.
    Vor allem krümelig, da das Phänomen nicht jedes Mal auftritt, sondern nur zufällig mal...
     
  18. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Das las sich weiter oben aber noch anders. Was ist mit SwitchResX?
     
    #18 quarx, 20.02.09
    Zuletzt bearbeitet: 20.02.09
  19. Mini-Leopard

    Mini-Leopard Rhode Island Greening

    Dabei seit:
    20.03.08
    Beiträge:
    476
    Pass auf; ich hab den Safe Mode erst noch nicht probiert.
    Erst, als Du mich auf das SwitchResX aufmerksam gemacht hast.

    Das Teil werd ich jetzt erstmal laden und dann ausprobieren.


    Der Nachteil an dem Fehler ist ja, dass der zufällig auftaucht. Also nicht regelmäßig.
    Daher ist es auch nicht leicht, eine Aussage zu treffen.


    Also... Ich werde wieder berichten, heute schaffe ich es nicht mehr.
     
  20. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Macht nix. Ich habe mich auch verlesen, sorry, dachte Du hättest schon im Safe Mode gebootet.
     

Diese Seite empfehlen