запуску простого скрипта оболонки при запуску в Yosemite


1

Що стосується станції обміну як отримати сценарії оболонки при запуску на Yosemite

Пропозиція тут цікава, але все, що я хочу зробити, це встановити IP-адресу одного з інтерфейсів Ethernet, en0 з ifconfig. Я не хочу запускати деамон.

команда для запуску:

ifconfig en0  inet 192.168.1.23 netmask 255.255.255.0 

Звичайно, драйвери інтерфейсу повинні бути запущені, а інтерфейси доступні для конфігурації. Це має виконуватися корінь, інший мудрий він повинен бути попередньо з sudo, який має бути надано повноваження.

У мене на обліковому записі активовано кореневий обліковий запис, і я відчуваю більшість небезпек.

Але я не хочу робити це вручну кожного разу, коли машина завантажується або перезапускається.

Можливо, хтось з Apple має посилання на патч або інформацію про те, чому Операції мережевих налаштувань для ручної конфігурації інтерфейсів не встановлять їх на моєму.

Я купую і використовую Маки з кінця 1990-х. Це один з лише двох з майже десятка Маків, я володів, що не нещодавно придбаний авторитетний дилер.

Сервер Apache також не запускатиметься з варіантом веб-обміну.

Можливо, машина з установкою занадто стара? це є

Note: I BOUGHT THIS MACHINE USED FOR CASH
 Model Name:    MacBook Pro
 Model Identifier:  MacBookPro5,1
 Processor Name:    Intel Core 2 Duo
 Processor Speed:   2.4 GHz
 Number of Processors:  1
 Total Number of Cores: 2
 L2 Cache:  3 MB
 Memory:    4 GB
 Bus Speed: 1.07 GHz
 Boot ROM Version:  MBP51.007E.B06
 SMC Version (system):  1.33f8
 <sn deleted for this post>
  Hardware UUID:    63410FEB-9CFF-5C8C-A692-8733BBEE36C5
 Sudden Motion Sensor:
 State: Enabled

Це не говорить мені, що це фактично дата виготовлення.

Дякуємо за час і увагу

Джефф


Чи є скрипт, який ви помістили в / System / Library / StartupItems / виконуваний файл і належать root?
tron_jones

MBP 5,1 являє собою a Модель кінця 2008 року .
tubedogg

Це сказало, що вік машини не має відношення до того, що ви намагаєтеся зробити. Це операційна система, яка визначатиме, чи буде щось працювати, а запущені сценарії оболонки під час входу не повинні бути проблемою в Йосеміті.
tubedogg

@tron_jones: Так, скрипт виконується і є власністю root, оскільки він налаштовує мережевий інтерфейс. Я встановлюю виконуваний біт на ньому, я вважаю, що це те, що ви робите,
JeffK

Чому б не просто встановити його в Мережевій панелі Системних налаштувань, як звичайно?
Gordon Davisson

Відповіді:


3

Ви можете зберегти свій скрипт, що хочете, і викликати його з .plist файл збережено на /Library/LaunchAgents/ буде запущено під час запуску.

Дозвольте мені пояснити, як це зробити з прикладом.

  • Створіть скрипт і збережіть його /Users/username/setip.sh.
  • Створити новий файл з назвою com.username.setip.plist в /Library/LaunchAgents/. Цей файл має мати такий формат:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.username.setip</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/username/setip.sh</string>
  </array>

  <key>Nice</key>
  <integer>1</integer>

  <key>StartInterval</key>
  <integer>60</integer>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/tmp/com.username.setip.err</string>

  <key>StandardOutPath</key>
  <string>/tmp/com.username.setip.out</string>
</dict>
</plist>

Файл досить зрозумілий. Він запустить команду /Users/username/setip.sh кожні 60 секунд, буде запущений під навантаженням, буде збережено помилки /tmp/com.username.setip.err і входить до системи /tmp/com.username.setip.out.

Перезапустіть, і сценарій буде виконано.


Якщо під час запуску скрипт запускатиметься від імені користувача root, його потрібно помістити в / Library / LaunchDaemons. LaunchAgents запускається, коли користувач входить в систему, як цей користувач.
Gordon Davisson

Отже, звідки береться "кожні 60 секунд"?
mkataja

На жаль, забув включити пару рядків. "Кожні 60 секунд" виходить з лінії з StartInterval та наступне значення - час у секундах.
jherran

він не працює!
saruftw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.