Abrindo a nova janela Terminal.app com um determinado perfil da linha de comando ou do AppleScript? -- acos campo com terminal campo com applescript campo com command-line camp apple Relacionado O problema

Opening new Terminal.app window/tab with a certain profile from command-line or AppleScript?


6
vote

problema

português

Quando eu fiz login no My Mac, eu quero abrir automaticamente uma nova janela Terminal.App com um determinado perfil, digamos Monitor , que tem um comando de inicialização e várias configurações de aparência. Eu pensei que seria muito fácil fazer isso a partir do AppleScript ou da linha de comando (via osascript ), para que eu possa adicionar um script aos meus itens de login, mas isso acontece que isso não é tão trivial depois de vários tenta.

Minha melhor maneira atual é o seguinte AppleScript:

  tell application "Terminal"     set origSettings to default settings     set default settings to settings set "Monitor"     activate     tell application "System Events" to keystroke "n" using command down     set default settings to origSettings end tell    

No entanto, eu quero saber se há uma maneira mais simples de fazer isso sem confiar na interface do usuário (com eventos do sistema) ou brincando com o meu terminal default settings .

AppleScript (OsAscript) para alterar o perfil do terminal.app Parecia promissor, mas é para quando já há uma janela de terminal aberta . Não tenho ideia de como criar uma nova guia terminal ou janela com o seu current settings especificado. O comando do script , que cria uma nova janela, infelizmente ignora o comando de inicialização definido no perfil, fazendo-me cair de volta para a interface do usuário.

Eu também encontrei este script: http: // blog.azizlight.me/having-fun-with-applescript-and-terminal-app/ Qual novamente depende de scripts da interface do usuário. Porque algumas das minhas máquinas usam uma localidade não-inglesa, prefiro aderir às teclas em vez de etiquetas de menu.

english

When I login to my Mac, I want to automatically open a new Terminal.app window with a certain profile, say Monitor, that has a startup command and several appearance settings. I thought it would be very easy to do this from AppleScript or command-line (via osascript), so I can add a script to my login items, but it turns out this is not so trivial after several tries.

My current best way is the following AppleScript:

tell application "Terminal"     set origSettings to default settings     set default settings to settings set "Monitor"     activate     tell application "System Events" to keystroke "n" using command down     set default settings to origSettings end tell 

However, I want to know if there's a simpler way to do this without relying on UI scripting (with System Events) or messing around with my Terminal's default settings.

applescript (osascript) for changing Terminal.app profile seemed promising, but it's for when there's already a Terminal window open. I have no idea how to create a new Terminal tab or window with its current settings specified. The do script command, which does create a new window, unfortunately ignores the startup command set in the profile, making me fall back to UI scripting.

I also found this script: http://blog.azizlight.me/having-fun-with-applescript-and-terminal-app/ which again relies on UI scripting. Because some of my machines use non-English locale, I prefer sticking to keystrokes rather than menu labels.

           

Lista de respostas

1
 
vote
vote
Melhor resposta
 

Perito Estou perdendo o ponto, mas você não pode exportar o perfil como um arquivo abcdefghgjklmnabcdefghijklmn0 e adicionar isso aos seus itens de login?

Exportar:

Digite a descrição da imagem aqui

Adicione o arquivo exportado a itens de login:

Digite a descrição da imagem aqui

 

Possible I am missing the point, but can't you Export the profile as a .terminal file and add that to your Login Items?

Export:

enter image description here

Add the exported file to Login Items:

enter image description here

 
 
     
     
2
 
vote

Você pode simplesmente executar o comando de inicialização com do script ?

  tell application "Terminal"     do script "emacs"     set current settings of selected tab of window 1 to settings set "Grass" end tell    

Se alguém não precisar executar qualquer comando de inicialização, você pode usar do script "" para abrir uma nova janela:

  tell application "Terminal"     do script ""     set current settings of selected tab of window 1 to settings set "Grass" end tell    

ou você também pode usar do script "" ao alterar default settings :

  tell application "Terminal"     set old to default settings     set default settings to settings set "Grass"     do script ""     set default settings to old     activate end tell    
 

Can you just run the startup command with do script?

tell application "Terminal"     do script "emacs"     set current settings of selected tab of window 1 to settings set "Grass" end tell 

If someone else doesn't need to run any startup command, you can use do script "" to open a new window:

tell application "Terminal"     do script ""     set current settings of selected tab of window 1 to settings set "Grass" end tell 

Or you could also use do script "" when changing default settings:

tell application "Terminal"     set old to default settings     set default settings to settings set "Grass"     do script ""     set default settings to old     activate end tell 
 
 
 
 

Perguntas relacionadas

18  Como atualizar o aplicativo App Store a partir da linha de comando?  ( How to update app store application from command line ) 
Eu gostaria de forçar uma atualização de aplicativos de aplicativos da linha de comando. Como posso fazer isso? ...

0  Como esse script AWK funciona?  ( How does this awk script work ) 
Eu tenho 2 arquivos de dados contendo uma coluna. Eu quero fazer outro arquivo de dados mesclando as duas colunas. Eu tenho a linha de comando na concha, mas ...

1  Como executar o script do shell no lançamento do aplicativo?  ( How to run shell script upon application launch ) 
Não tenho certeza se isso pertence aqui ou no superusuário, mas é o Mac específico, então eu vou com aqui. Eu escrevi um script Ruby que edita o arquivo de ...

6  Os comandos de linha de comando podem ser insensíveis à ordem de nomes e opções de arquivos?  ( Can command line commands be made insensitive to order of filenames and options ) 
Eu sou novo para o uso do MAC. Parece que a maioria dos comandos tropega as opções dadas após os nomes dos arquivos. No Linux, que eu usei há anos, não import...

1  Como corrigir localize.updatedb não respeitando o diretório excluído de /etc/locate.rc?  ( How to fix locate updatedb not respecting directory excluded from etc locate rc ) 
Eu queria excluir alguns diretórios a partir dos resultados de ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Ao editar ABCDEFGHIJKLMNABCDEFGHIJKLMN1 . Infelizmente se eu e...

4  Obtenha o tempo de CPU do usuário e do sistema de processo no OSX via linha de comando?  ( Get per process user and system cpu time on osx via command line ) 
Estou familiarizado com ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Comando que fornece Usuário e System CPU separados por processo no Linux: $ sudo pidstat -p 3162 Li...

4  Fazer Localizador.Updatedb Run Diariamente no Snow Leopard sem Hacking / System / Library?  ( Make locator updatedb run daily on snow leopard w o hacking system library ) 
No banco de dados ABCDEFGHIJKLMNABCDEFGHIJKLMBCDefGHIJKLMN1 é atualizado uma vez por semana por um trabalho de lançamento, /System/Library/LaunchDaemons/co...

1  Problema com sintaxe de exclusão de conta script  ( Problem with scripted account deletion syntax ) 
Estou trabalhando em um módulo de script de limpeza de contas que pode lidar com as contas ocultos e unilindas que estamos criando em massa em novos sistemas ...

1  Sintaxe de comando do terminal enrolado do AppleScript  ( Curl terminal command syntax from applescript ) 
Eu quero executar um comando curl no AppleScript que faz o seguinte ( por esta pergunta / resposta ): https://superuser.com/a/1054803/471181. . ... faze...

26  Como posso inspecionar as variáveis ​​de ambiente de um processo de execução?  ( How can i inspect the environment variables of a running process ) 
Existe algum equivalente (CLI ou GUI) para o recurso ABCDefGHIJKLMNABCDefGHIJKLMN0 ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.