Mac OS переключение пользователя клавиатурным сокращением
|Все знают что такое fast user switching в операционной системе Mac OS от Apple, (быстрое переключение пользователей) и как им пользоваться, выводить в верхнее меню рядом с часами. Клацаете на кнопку и быстро переключаетесь в нового пользователя.
Но есть случаи когда вверху пользователь «болтаться» не должен.
- Иконка занимает много места. Особенно акутально в ноутбуках с маленькой диагональю экрана.
- Привлекает внимание
- Или другой вариант
Как это обойти:
- В системных настройках-> Учетные записи убрать галочку с «Показывать fast user switching»
Недостаток — переключить пользователя можно только если сделать логаут из первого пользователя, завершив все его программы - Выбрать показывать иконку.
Это сэкономит место и будет менее заметно
Если такие варианты не подходят, к примеру если компьютер гостевой, и пользователю не нужны лишние иконки, или нам надо срочно переключать пользователя перед начальством или еще какие либо другие причины, мы делаем маленькую программу, которая поможет в нашей нелегкой задаче. Для этого:
- Идем в Системные настройки->Учетные записи
- Клацаем на пользователя на которого будем переключатся правой кнопкой. Именно на которого, а не текущего.
- Записываем его ID.
ID пользователя это его идентификатор в системе. Unix системы не понимают что пользователя зовут Andrey, или ftpuser, для системы Andrey это пользователь с ID 500, а ftpuser это пользователь с ID 501.
- Открываем новый документ в TextEdit Пишем
1 2
#!/bin/sh /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID ID пользователя
- Делаем простой текст. Формат->Конвертировать в простой текст
- Сохраняем. Обращаем внимание на кодировку. На убранную галочку «Использвать .txt» и удаляем в названии документа окончание txt. Документ можно назвать как хотим и сохранить куда хотим.
- Открываем терминал, и пишем
1
chmod +x
- Нажимаем Enter.
Наш файл стал исполняемым. И при нажатии на него мы переходим во второго пользователя.
Также при желании можно переключение пользователя вывести на определенное клавиатурное сокращение, не создавая исполняемые файлы. Для этого:
- Открываем Автоматор и создаем новую службу:
- Выбираем Утилиты->Запустить Shell скрипт. Также выбираем «Нет входных данных» и «Любой программе»
- Вписываем туда нашу команду
1
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID ИД пользователя
и сохраняем
Службу мы создали, и теперь надо назначить ей клавиатурное сокращение:
- Идем в Cистемные настройки->Языки и текст->Методы ввода->Клавиатурные сокращение
- На вкладке Службы ищем созданную службу и назначаем ей удобное клавиатурное сокращение
Также можно наш скрипт запускать по определенному расписанию. К примеру переключить пользователя в 10 утра и 7 вечера. Как это сделать вы можете прочитать в статье запуск скриптов Apple skript по расписанию. Технология запуска по расписанию что в Appleskript, что в shell одинаковая
На это все, но если у вас остались вопросы, напишите комментарий, попробую вам помочь.