2015-10-31 56 views
0

我發現Change laptop Mac OS X wallpaper upon location下面的腳本,但它會讀取一個錯誤,當我運行它,說「grep:SSID ::沒有這樣的文件或目錄」。獲取牆紙更改爲基礎的Wifi腳本工作

set mySSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I|grep \" SSID: \"|cut -c 18-" 

if mySSID is equal to "NETWORK_NAME" then 
    tell application "Finder" 
     set desktop picture to {"Macintosh HD:Users:USER_NAME:Desktop:IMAGE_NAME.jpg"} as alias 
    end tell 
end if 

我是新來的Automator和腳本,但想學習和理解爲什麼這是行不通的。

回答

0

這可能是因爲你的wifi沒有連接,那麼'cut'功能沒有什麼可以削減的。連接時獲得更好的使用這個syntaxe這只是給你空字符串的情況下沒有連接,SSID名稱:

set mySSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID:/{print $2}'" 
+0

太棒了,它的工作原理!這最終只改變了一個桌面,我怎樣才能做到這一點? – chrisbritish

+0

對不起,我不明白你的評論。桌面爲用戶會話更改。該會話只有一個桌面。您沒有授權訪問權限來更改其他用戶的桌面。或者你的意思是你想要每個可能的SSID的桌面? – pbell

+0

對不起,我的意思是如何更改所有空間的桌面。目前它只會改變活動空間的桌面。 – chrisbritish

0

更加清晰。

自10.9以來,不再支持有關空間偏好的AppleScript說明。

此外,沒有直接的方法來設置壁紙已經創建的空間。 僅用於接下來的新空間,壁紙將使用與空間1相同的值。

解決辦法可能是您的腳本在所有現有空間的循環中更改壁紙。 在這種情況下,您必須在系統偏好設置中定義在空格之間切換的按鍵,並使用按鍵模擬這些按鍵,然後更改空間並更改牆紙,然後切換下一空格等等。 但我不知道如何獲得當前打開的空間數量!