Откройте терминал и выполните команды на Mac User Login - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь автоматизировать часть сценария запуска, которая открыла бы окно терминала, которое будет запускать команды и отображать кучу текста пользователю при входе в систему.

Я пытался создать список в / Library/ LaunchAgent, который, кажется, не работает

/ LaunchAgents / blah.blah.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>terminal.menu</string>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</script>
        <string>/Library/Scripts/Startup.sh</string>
    </array>
</dict>
</plist>

, и Startup.sh выглядит следующим образом

osascript -e 'tell app "Terminal"
    do script "echo blah blah ; ssh blah blah"
end tell'

1 Ответ

0 голосов
/ 15 декабря 2018

Основываясь на информации из здесь , есть несколько правок, которые вы можете внести в .plist:

  1. Значение label должно соответствоватьимя вашего .plist, в данном случае "blah.blah", или вы должны сохранить .plist как "terminal.menu.plist".

  2. Вы указали ProgramArguments, но не Program.Возможно, если вы измените это:

    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</script>
        <string>/Library/Scripts/Startup.sh</string>
    </array>
    

    на это:

    <key>Program</key>
    <string>/Library/Scripts/Startup.sh</string>
    

Таким образом, ваше определение blah.blah.plist теперь будет выглядеть так:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "..........">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>blah.blah</string>
        <key>Program</key>
        <string>/Library/Scripts/Startup.sh</string>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>
...