Rösta fram årets bästa pepparkakshus!
2010-02-12, 20:33
  #1
Medlem
soers avatar
Jag vill göra ett AppleScript som loggar ut användaren och sedan direkt loggar in samma användare igen. Detta löser ett problem jag har på mitt mediacenter där skärmen blir blå efter att datorn och Plex väcks från vila.

Har testat med följande kod som jag klippt ihop från olika forum:
Kod:
set logInUser to ”Media"
set logInPassword to ”media"
tell application "System Events" to log out
delay 1
tell application "System Events"
    keystroke return
end tell
delay 2
tell application "System Events"
    tell application process "loginwindow"
        key code 53
        delay 1
        key code 125
        delay 1
        key code 36 using option down
        delay 1
        keystroke tab
        delay 1
        key code 117
        delay 0.5
        keystroke tab
        delay 0.5
        key code 117
        keystroke return
        delay 1
        keystroke tab
        delay 0.2
        repeat with aChar in characters of logInUser
            keystroke aChar
            delay 0.2
        end repeat
        keystroke tab
        delay 0.5
        repeat with aChar in characters of logInPassword
            keystroke aChar
            delay 0.2
        end repeat
        key code 98 using control down
        delay 0.2
        keystroke return
    end tell
end tell ¬

Problemet är ju att när scriptet loggar ut användaren så avslutas alla program, inklusive AppleScript-redigeraren och därmed stoppas scriptet innan den loggar in användaren igen. Hur löser jag detta?
Citera
2010-02-13, 06:11
  #2
Medlem
d.mustaines avatar
Du kan kanske lösa det genom "snabbt användarbyte" istället.
(Fast user switching)
Citera
2010-02-13, 11:40
  #3
Medlem
soers avatar
Citat:
Ursprungligen postat av d.mustaine
Du kan kanske lösa det genom "snabbt användarbyte" istället.
(Fast user switching)

Tror tyvärr inte det. Syftet är att ladda om skrivbordet när det har fuckat sig vid väckning ur vila. Om man gör snabbt användarbyte till samma användare laddar den inte om så som jag vill.

Men tack för ditt svar!
Citera
2010-02-13, 12:21
  #4
Medlem
Varför inte bara starta om finder?

activate application "Finder"
tell application "Finder" quit delay 4 activate application "Finder"
end tell
Citera
2010-02-13, 13:44
  #5
Medlem
soers avatar
Citat:
Ursprungligen postat av hypokondrisk
Varför inte bara starta om finder?

activate application "Finder"
tell application "Finder" quit delay 4 activate application "Finder"
end tell

Det ska vi testa. Stort tack för tipset!

Jag testade faktiskt, när jag håll på att pröva olika lösningar häromdagen, att öppna terminal och skriva killall Finder, det funkade inte. Men detta gjorde jag ju i blindo, så det är inte ens säkert att datorn tog kommandot. Mitt ursprungliga problem har jag visserligen löst på ett annat sätt nu, men jag ska försöka återskapa problemet och se om detta fungerar.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in