Записи с меткой «Эплскрипт»

Быстрая перезагрузка в Windows Развернуть ↓

Быстрая перезагрузка в Windows

Свернуть ↑

Обновление от 9.09.2009: я нашел две программы с функциональностью нижеописанного скрипта: BootChamp и QuickBoot.

Если вы регулярно перегружаетесь в Windows, процедура удерживания option при запуске может быть несколько утомительной.Есть гораздо более простой способ — указать загрузочный диск для следующего перезапуска с помощью команды bless и облечь это в форму AppleScript для последующего вызова кликом из меню или с помощью шортката.

Терминальная команда для назначения загрузочного диска:

sudo bless -mount /Volumes/имя_виндового_раздела -legacy -setBoot -nextonly

Теперь AppleScript. Однако, надо учесть, что вышеуказанная команда для выполнения требует админского пароля. У нас есть три варианта действий:

  1. Каждый раз при запуске скрипта вводить пароль;
  2. Отредактировать файл sudoers таким образом, чтобы наши команды выполнялись без запроса пароля.
  3. Сохранить пароль прямо в скрипте;

Вариант 1, являясь идеологически самым верным, сводит на нет все практическое удобство нашего способа перезагрузки «одним кликом». Опишем два оставшихся.

Вариант 2 — читайте man visudo. Пошаговой инструкции умышленно не даю — если она вам нужна, не советую выполнять данную процедуру, т. к. ошибки при манипуляции со списком sudoers чреваты серьезными неприятностями.

Вариант 3, думаю, рядовому пользователю подойдет больше всего. Он хоть и кажется в теории халатным, на практике вряд ли таит в себе сколько-нибудь значимую угрозу для безопасности. 

Открываем Script Editor, создаем новый документ и пишем туда следующий код (не забудьте вписать в соответствующие места в первой строке имя раздела с Windows и свой пароль):

do shell script "sudo bless -mount /Volumes/имя_виндового_раздела/ -legacy -setBoot -nextonly" password "ваш_пароль" with administrator privileges
tell application "System Events"
    restart
end tell

Надо заметить, что я встречал примеры аналогичных скриптов, использующие для перезагрузки терминальную команду shutdown. Пользоваться ей в повседневной жизни крайне нежелательно, т. к. она выключает систему практически принудительно. Мы воспользовались applescript-командой Restart из System Events dictionary.

По желанию можно добавить в скрипт подтверждение перезапуска — на случай, если в последний момент решите, что перегружаться в Windows вам не надо. Для этого добавьте в начало (первой строкой) скрипта такой текст:

display dialog "Reboot to Windows now?" buttons {"Cancel", "Reboot"} default button 2

Жмите Save As и сохраняйте скрипт как Application с опцией Run Only. (Если будете сохранять и исходник скрипта, то пароля там лучше не оставлять.) Готово, программкой можно пользоваться. Удобный для вас способ быстрого запуска получившегося файлика выберите сами.

Комментировать