Если вы не возражаете против создания сценариев оболочки и нашли сценарий, который можно запустить из терминала, который переключится на окна, вы можете создать сценарий, содержащий эту команду (и, возможно, reboot
команду, следующую за ней). Давайте назовем это winreboot.sh
ради аргумента. Затем измените владельца этого скрипта на root
, отметьте его как исполняемый и поместите в полезное место (например, /usr/local/bin/
). Если вы запустите его так:
sudo /usr/local/bin/winreboot.sh
Он попросит у вас пароль администратора, а затем должен сделать свое дело, так как скрипт запускается от имени пользователя root. Тем не менее, sudo
поддерживается список правил, по которым пользователям разрешено запускать какие команды с помощью sudo
, и требуется ли пароль. Этот набор правил хранится в /etc/sudoers
- к сожалению, синтаксис очень запутанный, поэтому вы не должны редактировать файл напрямую, но должны использовать
sudo visudo
вместо этого, который проверяет ваш синтаксис при сохранении. Обратите внимание, что для редактирования используется vim, о котором вы, возможно, захотите прочитать, прежде чем запускать его - это может очень сбить с толку, если вы к этому не привыкли. (чтобы выйти без сохранения, нажмите <ESC>
и введите, :q!
а затем нажмите <ENTER>
клавишу). Если вы не можете войти в vim, отредактируйте копию sudoers в вашем любимом редакторе и проверьте синтаксис с помощью visudo -f /path/to/sudoers-copy
. Если все в порядке, скопируйте его поверх оригинала.
Возвращаясь к делу: правило, которое вы хотите добавить в sudoers, заключается в том, что вы хотите, чтобы пользователи в admin
группе могли запускать ваш сценарий от имени пользователя root без пароля. Это выглядит так:
%admin localhost=(ALL) NOPASSWD: /usr/local/bin/winreboot.sh
Добавьте это как последнюю строку sudoers. Если вы сейчас попытаетесь запустить свой скрипт с sudo
(должен сделать это с абсолютным путем), он НЕ будет запрашивать пароль, а просто запустит его вместо этого. Оберните команду sudo в другой сценарий оболочки, сделайте ссылку на него с рабочего стола или где-либо еще, и ваш 6-летний ребенок сможет в любой момент переключиться на Windows.
Надеюсь, это поможет, дайте мне знать, если что-то неясно.