10 полезных команд для Терминала в Mac
Терминал — это мощный инструмент OS X. Вы даете своему компьютеру команды, и операционная система их покорно выполняет. С помощью терминала вы можете выполнить действия, которые значительно сложнее или невозможно выполнить, используя графический пользовательский интерфейс. Однако терминал нельзя назвать дружелюбным инструментом для простых пользователей. Многие его остерегаются в страхе дать неправильную команду и столкнуться с непредвиденными последствиями. В этой статье вы найдете подборку простых и даже забавных команд, с которых можно начать знакомство с терминалом.

Как пинговать сайт
Команда Ping позволяет проверить вам доступность домена или IP-адреса. Вы также сможете увидеть, насколько быстро будет дан ответ от сервера. Попробуйте проверить, насколько быстро вы получите ответ от «www.appleinisder.ru». Для этого существует очень простая команда:
Отключение тени на скриншотах
Если вы делаете скриншот окна в OS X, по умолчанию он создается с тенью. Вы можете отключить тень на скриншотах простой командой:
defaults write com.apple.screencapture disable-shadow -bool TRUE
После нее наберите:
Эта команда заставит изменения вступить в силу. Если захотите снова включить тени на скриншотах, просто проделайте ту же операцию, заменив в команде «TRUE» на «FALSE».
Показать скрытые файлы в Finder
Для того чтобы в Finder начали отображаться все скрытые файлы, просто наберите в терминале:
defaults write com.apple.finder AppleShowAllFiles -bool TRUE
Для применения изменений потребуется перезапустить Finder. Для этого вы можете использовать команду:
Все скрытые файлы будут показаны. Хотите снова скрыть их? Проделайте те же действия, заменив в команде «TRUE» на «FALSE».
Как научить Mac говорить
Простой командой вы можете заставить свой компьютер произнести любую фразу. Попробуйте набрать:
Mac засыпает — что делать
Если вам нужно избежать засыпания вашего компьютера, это очень просто сделать с помощью терминала. Введите:
Вы также можете указать время, которое Mac должен работать без сна в секундах:
Вы можете досрочно отменить выполнение команды комбинацией Ctrl+C.
Как посмотреть историю команд — Terminal
Для того чтобы вспомнить все, что вы доверили терминалу, введите:
Хотите очистить историю команд? Введите:
Стресс-тест компьютера Mac
Стресс-тест создаст процесс «yes» и направит на его выполнение все силы процессора. Мы как то обсуждали пользу этой команды. Сделать стресс-тест просто:
Завершить процесс можно командой:
Включить звук зарядки на Mac
Обычно Mac молчит при подключении зарядного устройства. Если хотите, можете включить звук на это действие, подобный тому, что издает ваш iPhone. Он включается следующей командой:
defaults write com.apple.PowerChime ChimeOnAllHardware -bool TRUE; open /System/Library/CoreServices/PowerChime.app &
Для отключения этого звука используйте команду:
defaults write com.apple.PowerChime ChimeOnAllHardware -bool FALSE; killall PowerChime
Проверить обновления на Mac чаще
Ваш компьютер сам проверяет наличие обновления системы. Если вы хотите проверять чаще, чем это делает он, можете проверить вручную, а можете просто попросить OS X проверять наличие обновлений чаще с помощью терминала. Хотите вместо еженедельной проверки включить ежедневную? Для этого есть следующая команда:
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
Как вы можете догадаться, для того чтобы вернуться к еженедельной проверке, стоит использовать команду:
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 7
Как поставить заставку на обои
Если вы в каком-то странном настроении и оно настолько необычно, что вы хотите временно использовать заставку вместо обоев на вашем Mac, попробуйте команду:
Как только вы закроете Терминал или нажмете Ctrl+C, к вам вернутся ваши обычные обои.
Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.
Наши соцсети
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас

Если ваших игр для компьютера нет в App Store или в сервисах облачного гейминга, вы все равно можете запустить их на смартфоне. Объясняем, как бесплатно играть в любые ПК игры на Айфоне через MTS Remote Play и удобно ли это

В будущем обновлении Ватсап наконец появятся короткие имена: с помощью ников вы будете быстрее находить пользователей, даже не зная номера телефона. При этом найти человека в Ватсапе удобными способами можно даже сейчас! Скорее читайте, как это сделать

Приложение Retrato нарисует вам несколько фотосессий в стиле реализм. Достаточно просто загрузить в него 15-20 своих снимков и дать ему подумать. На выходе вы получите 72 фотографии и еще более 600 — за дополнительную плату
Systemuiserver mac os что это
Будь в курсе последних новостей из мира гаджетов и технологий
iGuides для смартфонов Apple

Как изменить стандартные названия скриншотов в macOS и для чего это может пригодиться
Фархад Усманов — 21 февраля 2023, 17:05

Операционная система для компьютеров Apple, macOS, позволяет делать скриншоты или записывать ролики с происходящими на экране действиями без использования стороннего софта. При этом файлы сохраняются с длинными названиями, содержащими дату и время. Такое обозначение данных не всегда бывает удобным, но, к счастью, это можно изменить.
Если вы часто работаете со скриншотами и придерживаетесь порядка в хранимых на компьютере данных, то эта инструкция будет вам полезна. Например, вам нужно сделать кучу скриншотов какой-либо онлайн-трансляции — с этим гайдом вы сможете задать для них общее название, чтобы при необходимости их было проще найти через Spotlight.

Благодаря простой команде терминала, вы можете изменить название скриншотов по умолчанию на что-то более простое и близкое вам:
- Для начала запустите приложение Терминал;
- Введите следующую команду и нужное имя файла в двойных кавычках;

- Затем нажмите Enter;
- Готово! Теперь скриншоты и записи экрана будут сохраняться в таком формате.
Каждый последующий снимок или видеоролик будет автоматически пронумерован.
Чтобы сбросить название скриншотов по умолчанию, введите в Терминале следующую команду:
defaults write com.apple.screencapture «include-date» 1; killall SystemUIServer
Моя борьба с PTPCamera или увлекательная история о реверсинге для самых маленьких
Почти все продвинутые зеркальные камеры, а также некоторые правильные мыльницы, позволяют управлять собой с компьютера. Программное управление камерой дает интересные возможности, например: съемка time lapse video, сопряжение камеры с микроскопом, эксперименты в области компьютерного зрения. Для управления камерой вендоры предоставляют свои проприетарные SDK, которые обычно работают исключительно под Windows и поддерживают камеры только в рамках определенной линейки (например у Canon есть аж 4 несовместимых между собой SDK). Какое счастье, что есть достойная открытая альтернатива — проект gphoto.
Прямо сейчас gphoto поддерживает 1598 моделей камер и список постоянно растет. Проект собирается под все UNIX-like ОС, включая Linux и Mac OS X. Съемкой можно управлять как при помощи command line утилиты, так и из своей собственной программы, используя библиотеку libgphoto. Доступны биндинги для разных языковых платформ, включая node.js.
В современных ОС присутствуют встроенные средства для работы с цифровыми камерами — как правило под «работой» подразумевается только выгрузка фото из камеры. Эти встроенные механизмы препятствуют работе gphoto, так как захватывают USB устройство в эксклюзивном режиме. Особенно интересно дела в этом плане обстоят в Mac OS X — ОС не предоставляет никаких штатных возможностей для отключения, но при этом система поддержки цифровых камер легко поддается реверс инжинирингу.
Скрипты для блокировки запуска PTPCamera на github.
PTPCamera
Интернет советует выполнить команду killall -9 PTPCamera (убить процесс PTPCamera) после подключение фотоаппарата для нормальной работы gphoto. Это в самом деле помогает, однако каждый раз при подключении камеры процедуру приходится повторять заново. Разумеется, программу PTPCamera можно просто удалить, но мне хотелось обойтись менее радикальным решением.
В общем, требовалось понять механизм запуска PTPCamera, и максимально корректно отключить эту функцию.
О захвате изображений в Mac OS X
Согласно имеющимся источникам [1,2], инфраструктура захвата изображений в Mac OS X устроена следующим образом.

На вершине стека расположены приложения, с которыми непосредственно взаимодействует пользователь (ex: iPhoto).
В самом низу расположены приложения для управления устройствами, к числу последних относится PTPCamera. Приложения для управления устройствами ( MassStorageCamera.app , PTPCamera.app , TWAINBridge.app и тд.) живут в системных папках /System/Library/Image Capture/Devices и /Library/Image Capture/Devices .
Посередине находится коммуникационный слой, который организует связь между верхним и нижним уровнями. Любопытно, что несколько пользовательских приложений могут использовать одно устройство совместно, а также возможна прозрачная работа с устройствами по локальной сети.
Кто же запускает PTPCamera?
Попробуем определить механизм запуска PTPCamera, и для начала определим родительский процесс.
$ pgrep PTPCamera 29045 $ ps -O ppid -p 29045 PID PPID TT STAT TIME COMMAND 29045 202 ?? S 0:00.10 /System/Library/Image Capture/Devices/PTPCamer $ ps -p 202 PID TTY TIME CMD 202 ?? 0:16.75 /sbin/launchd
Итак, мы видим что PTPCamera запущен процессом launchd. В Mac OS X launchd — это универсальная запускалка для системных и пользовательских демонов. В системе запущено по экземпляру launchd для каждого активного пользователя. Launchd пользователя root выполняет те же функции, что init в традиционных UNIX системах.
$ ps -A -O user | grep /sbin/launchd 1 root ?? Ss 3:06.80 /sbin/launchd 172 _windowserver ?? Ss 0:00.06 /sbin/launchd 202 nickz ?? Ss 0:16.76 /sbin/launchd 206 _spotlight ?? Ss 0:00.27 /sbin/launchd 28919 _cvmsroot ?? Ss 0:00.01 /sbin/launchd 28937 _securityagent ?? Ss 0:00.01 /sbin/launchd
Кроме демонов, laucnhd также запускает графические приложения по команде других программ. PTPCamera — это именно последний случай, как можно убедиться по ID задачи в launchd, об этом нам говорит [префикс].
$ launchctl list | grep PTPCamera 29045 - [0x0-0x457457].com.apple.PTPCamera
Итак, мы знаем что PTPCamera был запущен процессом launchd, по команде некого приложения X.
Включим логирование launchd ( launchctl log level debug ), и спровоцируем повторный запуск PTPCamera.
По умолчанию, на каждый процесс в системе выделена квота в 500 записей в логе в секунду. Сообщения, не уложившиеся в лимит, отбрасываются. Настроим отдельную сборку отладочных сообщений для обхода лимита.
Добавляем в файл /etc/syslog.conf строку
*.debug /var/log/debug.log
и информируем демон syslogd о необходимости перечитать настройки
sudo killall -HUP syslogd
Анализируем полученный файл debug.log . Находим искомое:
([0x0-0x2d92d9].com.apple.PTPCamera[24472]): Spawned by PID 240: com.apple.SystemUIServer.agent
Запрашиваем у launchd информацию о com.apple.SystemUIServer.agent :
$ launchctl list com.apple.SystemUIServer.agent < "Program" = "/System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer"; >;
Теперь мы знаем, что «виновник» запуска PTPCamera — это SystemUIServer , ни много ни мало.
Ковыряем SystemUIServer
Имеется подозрение, что искомый функционал находится не в самом SystemUIServer , а в одном из прилинкованных фреймворков:
$ otool -L /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer: /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI /System/Library/PrivateFrameworks/Admin.framework/Versions/A/Admin /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon /System/Library/PrivateFrameworks/SystemUIPlugin.framework/Versions/A/SystemUIPlugin /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit /System/Library/Frameworks/Security.framework/Versions/A/Security /System/Library/PrivateFrameworks/ICANotifications.framework/Versions/A/ICANotifications /System/Library/PrivateFrameworks/iPod.framework/Versions/A/iPod .
В этом списке главный подозреваемый — ICANotifications.framework . ICA — это сокращение от image capture, тот же акроним используется в публичных фреймворках для захвата изображений.
Изучаем ICANotifications.framework
Лирическое отступление. Исполняемый файл состоит из кода и неизменяемых статических данных (разные константы, таблицы, и тп.) Особый интерес представляют строковые константы. Извлечь их можно при помощи команды strings .
Запускаем strings /System/Library/PrivateFrameworks/ICANotifications.framework/Versions/A/ICANotifications , и наслаждаемся результатами:
. /Library/Caches/com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.%d . CREATE TABLE DBVersion (ID integer primary key not null, typeID integer, value integer) CREATE TABLE SourceFile (ID integer primary key not null, typeID integer, bundleID varchar(256), bundleVersion integer, bundlePath varchar(256), deviceDiscoveryPath varchar(256), deviceDiscoveryModDate varchar(20), readDate varchar(20), iTWAINDS integer) CREATE TABLE IOUSBDevice (ID integer primary key not null, typeID integer, idVendor integer, idProduct integer) CREATE TABLE IOUSBInterface (ID integer primary key not null, typeID integer, bInterfaceClass integer, bInterfaceSubClass integer, bInterfaceProtocol integer) .
Итак, рабочая гипотеза — библиотека работает с SQLite базой данных, наиболее вероятно, что это файл com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase в /Library/Caches .
$ ls /Library/Caches/com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.* /Library/Caches/com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.501 $ sqlite3 /Library/Caches/com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.501 sqlite> .schema CREATE TABLE DBVersion (ID integer primary key not null, typeID integer, value integer); CREATE TABLE IOUSBDevice (ID integer primary key not null, typeID integer, idVendor integer, idProduct integer); CREATE TABLE IOUSBInterface (ID integer primary key not null, typeID integer, bInterfaceClass integer, bInterfaceSubClass integer, bInterfaceProtocol integer); .
Видно, что в конец имени ( com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.501 ) дописывается ID пользователя, для каждого пользователя поддерживается собственный файл. Из содержимого понятно, что база задает список соответствий класса устройств и управляющей программы, которую нужно запускать при обнаружении устройства.
Редактирую базу данных, мы отключаем запуск PTPCamera для любого выбранного пользователя, это однозначный успех!
При необходимости вернуть все обратно, откатываем изменения, или просто удаляем файл бд (название папки /Library/Caches сообщает нам, что ОС при необходимости может перегенерировать содержимое).
Факультативные материалы
- Amit Singh Mac OS X Internals: A Systems Approach [amazon]
- Репозиторий проекта
What is SystemUIServer??
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
BLDun
macrumors regular
Original poster
Jan 22, 2005 164 0
I am having multiple problems with my iMac since I installed 10.5.7 and in trying to track down the problem I checked the activity monitor and I noticed that one of the list is in red letters instead of black. It is listed as SystemUIServer. I have no idea what it does or what it’s for or why it is in red? Any help??
WildCowboy
Administrator/Editor
Staff member
Jan 20, 2005 18,254 2,555
We have a basic explanation of what SystemUIServer is here.
Processes listed in red in Activity Monitor are currently hanging, which could account for the unspecified problems you’re having with your computer.
You can trying killing the process, as it will just restart itself within a few seconds. As for what’s causing the hang, that can require some digging. Have you made any changes to your system recently?
You can try dragging /Library/Preferences/com.apple.systemuiserver.plist to your desktop to see if that fixes things. A new one will be created, but you’ll still have the old one on your desktop to put back so that you don’t lose your settings if you don’t see any changes.
BLDun
macrumors regular
Original poster
Jan 22, 2005 164 0
OK, I removed the SystemUIServer and almost immediately it came back and appeared in red and next to the name it says (not responding). I also tried moving the com.apple.systemuiserver.plist to the desktop but it doesn’t seem to make any difference. I didn’t have any of these problems before I installed the 10.5.7 update. Now I can’t restart or shut down the computer without holding in the power button. I also cannot place the mouse on the menu bar near the bluetooth, volume control or time machine icons without immediately getting the beachball. I have lost all control of my wireless mouse and can’t even access the bluetooth through system preferences. What a mess! I am lost here!
BLDun
macrumors regular
Original poster
Jan 22, 2005 164 0
I think I found the problem. I unplugged the multiple USB hub and everything was fine. So I plugged it back in and began unplugging the USB cables one at a time until I found the problem. Turns out it was the bluetooth plug for my wireless keyboard. Guess I will need to get a new one tomorrow.