Estou tentando adicionar ao meu script de configuração do OS X um comando que define o plano de fundo para o cinza escuro liso; no entanto, quando aplicado, ele o define apenas para o monitor principal e todos os monitores adicionais conectados no momento mantêm o plano de fundo atual e os itens adicionados posteriormente posteriormente receber o plano de fundo padrão do espaço. O que tenho até agora é o seguinte:
# Change Desktop default BackgroundColor to grey
defaults write com.apple.desktop '{ Background = { default = {BackgroundColor = ( "0.2549019753932953", "0.4117647111415863", "0.6666666865348816" ); Change = Never; ChangePath = "/Library/Desktop Pictures/Solid Colors"; ChangeTime = 1800; DrawBackgroundColor = 1; ImageFileAlias = <00000000 00ce0003 00000000 c73804cd 0000482b 00000000 000c2624 000c2633 0000ca1c 0a310000 00000920 fffe0000 00000000 0000ffff ffff0001 000c000c 2624000c 25fc000a 0789000e 00280013 0053006f 006c0069 00640020 00470072 00610079 00200044 00610072 006b002e 0070006e 0067000f 000c0005 006f0073 00780038 00360012 00394c69 62726172 792f4465 736b746f 70205069 63747572 65732f53 6f6c6964 20436f6c 6f72732f 536f6c69 64204772 61792044 61726b2e 706e6700 00130001 2f00ffff 0000>; ImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NewChangePath = "/Library/Desktop Pictures/Solid Colors"; NewImageFilePath = "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"; NoImage = 0; Placement = Crop; Random = 0; }; }; }'
Como definir o padrão de fundo cinza escuro por meio de um comando de terminal? Como altero todos os monitores já configurados para cinza por meio de um comando do terminal?
Respostas:
Nenhuma dessas outras soluções funciona mais no Mavericks porque a Apple moveu as configurações para um banco de dados sqlite. Mas tudo bem, porque agora é mais fácil, o png pode estar em qualquer lugar do sistema de arquivos e todos os desktops (mesmo virtuais) são atualizados.
Ou adicione-o como uma função ao seu ~ / .bash_profile e chame-o como um comando terminal com qualquer caminho não relativo.
wallpaper ~/path/to/any/picture.png
fonte
Isso deve funcionar para você:
Existem várias outras maneiras nesse segmento de rumores do Mac , mas o jeito dele é o mais fácil.
fonte
./a.scpt:31:46: execution error: Finder got an error: Can’t set file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png" to file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png". (-10006)
./a.scpt:31:46: execution error: Finder got an error: Can’t set file "/Library/Desktop Pictures/Solid Colors/Solid Gray Medium.png" to file "/Library/Desktop Pictures/Solid Colors/Solid Gray Medium.png". (-10006)
tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Solid Colors/Solid Gray Dark.png"
A maneira mais simples de fazer isso em uma linha:
fonte
osascript
funciona para mim somente se eu for executadokillall Dock
posteriormente. Alguém mais notou isso?Se você preferir instalar um novo aplicativo a criar uma nova função, usar
m-cli
é o caminho a percorrer. É fácil de usar e possui muitos outros recursos úteis, se necessário.m-cli
auto detecta a versão do sistema operacional, faça internamente as mesmas coisas que outras respostas corretas usando obash
script.fonte
Os caminhos precisam ser referenciados corretamente usando
POSIX file
para/posix/paths
ouas alias
comOld:Mac:Style:Paths
.Escolha seu veneno...
Caminho POSIX:
Caminho do Mac:
Você pode facilmente transformar qualquer um dos Applescripts acima em um comando terminal usando
osascript [-e statement]
:Para definir várias áreas de trabalho, você pode tentar algo como
tell application "System Events" to set picture of every desktop to "<path>"
. Infelizmente, isso parece estar quebrado na versão 10.7, então você receberá o seguinte erro:Expected class name but found application constant or consideration.
fonte
Combinando a resposta de jeremyjjbrown e este Gist por willurd , a maneira mais conveniente para El Capitan e para cima é a seguinte:
Service receives selected
comoimage files
na parte superior do fluxo de trabalho. Opcionalmente, você pode limitá-lo para funcionar apenas no Finder.Run Shell Script
ação ao fluxo de trabalhoEsvazie o script padrão e insira uma versão ligeiramente modificada da resposta de jeremyjjbrown no editor:
Salve o serviço com um nome de sua escolha, por exemplo
Set Desktop Picture on all Spaces
.Agora você pode clicar com o botão direito do mouse em qualquer imagem diretamente do Finder e escolher o serviço no menu de contexto, definindo facilmente o plano de fundo para todas as áreas de trabalho.
fonte
Um script perl para realizar o mesmo:
fonte
Nenhuma das soluções mencionadas funcionou para mim no macOS 10.14.2 Sierra e acabei com este AppleScript:
Pode ser executado a partir de um terminal assim:
Ou como um oneliner:
fonte