Как отключить наложение регулятора громкости?

При изменении громкости на Mac вы видите большую уродливую серую рамку, показывающую изменение громкости. Это очень раздражает при (скажем) просмотре фильма. Есть ли способ отключить это?

введите описание изображения здесь

Спасибо Plastonick, у меня была проблема с клавишей F5, которая иногда сходит с ума и автоматически нажимается… и это приводит к появлению раздражающего экранного меню яркости клавиши. Я отключил все OSD, и даже если я немного беспокоился о потере громкости и уведомлений о яркости ЖК-дисплея, я должен сказать, что использование Mac без КАЖДОГО наложения намного лучше .... они мешают вам сосредоточиться, и в этом нет необходимости для OSD, когда я могу ясно видеть эффекты клавиш, которые мы нажимаем....
Я хочу избавиться от Volume Overlay в Mac OS 10.15 Catalina. Я знаю, что эта ветка довольно старая, так что может ли кто-нибудь подтвердить, как лучше всего это сделать в текущей ОС?

Ответы (8)

Подождите, не изменяйте важные системные файлы!
В Mac OS есть хороший способ запуска/остановки служб без нанесения непоправимого ущерба.

Чтобы отключить лицевые панели для этого пользователя до следующего входа в систему:
launchctl unload -F /System/Library/LaunchAgents/com.apple.BezelUI.plist
Чтобы отменить, измените unloadна loadили просто выйдите из системы и снова войдите.

Для macOS 10.12 Sierra: отключите защиту целостности системы , а затем:
launchctl unload -F /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist
не забудьте включить защиту целостности системы, когда закончите.


Чтобы отключить лицевые панели на неопределенный срок для этого пользователя:
launchctl unload -wF /System/Library/LaunchAgents/com.apple.BezelUI.plist

Для macOS 10.12 Sierra: Отключите защиту целостности системы, а затем:
launchctl unload -wF /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist
Теперь вы можете снова включить защиту целостности системы — ваши настройки сохранятся.

Чтобы отменить, измените unloadна load.


Чтобы отключить лицевые панели на неопределенный срок для всех пользователей:
sudo defaults write /System/Library/LaunchAgents/com.apple.BezelUI Disabled -bool YES

Для macOS 10.11 Sierra: отключите защиту целостности системы , прежде чем выполнять указанные выше действия.

Чтобы отменить, измените YESна NOили:
sudo defaults delete /System/Library/LaunchAgents/com.apple.BezelUI Disabled

Для macOS 10.12 Sierra: Отключите защиту целостности системы , а затем:
sudo defaults write /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled -bool YES
Теперь вы можете снова включить защиту целостности системы — ваши настройки сохранятся.

Чтобы отменить, измените YESна NOили:
sudo defaults delete /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled

Пользователи могут переопределить этот глобальный параметр, используя два описанных выше метода.


Дополнительная информация: launchctlэто интерфейс командной строки для запуска программы, которая управляет службами и заданиями в Mac OS.

  • Чтобы отменить любое из вышеперечисленных действий, просто измените unloadна load.
  • -wозначает запись предпочтения на диск, чтобы он использовался для последующих входов в систему
  • -Fозначает принудительную выгрузку/загрузку независимо от глобальногоDisabled ключа

Подробнее об этом можно прочитать в man launchctl.

Из далеко лучший ответ!
Спасибо! Единственная проблема в том, что мой ответ пришел спустя 4 года…
Похоже, это решение не будет работать в 10.12, потому что агент запуска и BezelUIServer удалены.
Это работает для этого сеанса, но не работает бесконечно. Это дает мне com.apple.BezelUI.plist: Could not find specified service. Редактировать: это работает! Мне просто нужно было снова загрузить службу, чтобы я мог ее выгрузить....
BezelUIизменен на OSDUIHelperв 10.12 - новый файл/System/Library/LaunchAgents/com.apple.OSDUIHelper.plist
Спасибо за совет @HawkenRives! Я обновил свой ответ. К сожалению, это связано с отключением защиты целостности системы в 10.12+, поэтому, если у кого-то есть лучшее решение, дайте мне знать.
Когда я пытаюсь выполнить команду выгрузки, я получаю следующее сообщение: /System/Library/LaunchAgents/com.apple.BezelUI.plist: Нет такого файла или каталога
У вас macOS 10.12? Если это так, следуйте только инструкциям для версии 10.12.
Как насчет macOS High Sierra 10.13, возникла ошибка «Неожиданный аргумент YES»
Это на самом деле -bool(один тире), мой плохой! Я тоже отредактирую ответ.
@interestinglythere High Sierra такая же, как Sierra
Я бы предположил, но я не проверял. Можете ли вы попробовать и дайте мне знать, если это работает?
В mac os 10.15.3 кажется, что «большая уродливая серая рамка» снова включается после повторного включения «Защиты целостности системы» (путем загрузки с диска восстановления и csrutil enable). Я следовал инструкции «Чтобы отключить лицевые панели на неопределенный срок для этого пользователя:». Я делаю что-то неправильно?
Привет, я не пробовал это в последнее время, но есть большая вероятность, что нет способа отключить наложение с включенной защитой целостности системы. Если кто-то найдет способ, не стесняйтесь ответить здесь.
Любые новости о том, как эта работа работает в чем-то новее, чем 10.15?
Это должно работать, если вы отключите SIP. Чтобы заставить его работать с включенным SIP, у меня, к сожалению, нет обновлений. Если у кого-то еще есть обновление, не стесняйтесь звонить.

В автоматизаторе создайте новую службу, которая не принимает никаких входных данных. Дайте ему одно действие: Запустите AppleScript Введите следующий AppleScript:

set x to get output volume of (get volume settings)
if x >  10 then 
    set volume output volume (x-10)
else
    set volume output volume 0
end if

Сохраните сервис под названием «Громкость вниз» и привяжите сервис к F11.

Создайте еще один новый сервис, который не принимает никаких входных данных. Дайте ему одно действие: Запустите AppleScript Введите следующий AppleScript:

set x to get output volume of (get volume settings)
if x < 90 then 
    set volume output volume (x+10)
else
    set volume output volume 100
end if

Сохраните сервис под названием «Громкость вверх» и привяжите сервис к F12.

Прощай, наложение громкости.

И спасибо за сообщения в блоге AppleScript, @Nathan Greenstein, которые помогли мне сделать это. Я новичок в AppleScript.
Потрясающий ответ! Какая отличная идея. Просто к вашему сведению, эти проверки не нужны; громкость автоматически уменьшится до 0 и дойдет до 100.
Не проходите через все эти хлопоты, просто запустите некоторые из команд, которые там упоминаются в его ответе.

Если вам просто нужен минимальный HUD, я написал такой, который работает с mySIMBL. Он просто рисует полосу в верхней центральной части экрана. Возможно, в будущем он получит больше функциональности.

рисунок

https://github.com/w0lfschild/mySIMBL

https://github.com/w0lfschild/cleanHUD

Простое решение:

/System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/Bezel‌ UI/

«Показать содержимое пакета» в «BezelServices.loginPlugin» для доступа через Finder

Переименуйте «BezelUIServer» во что-то другое (я просто поставил пробел перед ним) — это отключит наложение громкости.

Это не позволит мне изменить его. Он говорит, что это требуется для OSX. Я использую Эль-Капитан 10.11.
Это из-за защиты целостности системы . На самом деле вы можете отключить его, если хотите, но это не рекомендуется и может подвергнуть вас угрозам безопасности. Кроме того, изменения в системных файлах могут быть отменены будущими обновлениями.

Для этого нет встроенного метода, но поиск в Google выдает такие предложения, как переопределение используемого для него изображения, чтобы оно было менее навязчивым.

Сообщение, на которое вы ссылаетесь, предлагает изменить изображения в папке, которой нет в Lion.
Под Lion они есть, /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/BezelUI/HiDPI/но PDF-файлы кажутся пустыми.
Для этого действительно существует встроенный метод. Смотрите мой ответ ниже.

Не используйте клавиши регулировки громкости. Если вы меняете громкость с помощью панели меню, наложение не отображается.

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

Есть ли способ сделать это легко с клавиатуры? В вопросе упоминается просмотр фильма, и в этом случае отображение строки меню на самом деле не является улучшением по сравнению с лицевой панелью.
^F8 переместит фокус на меню состояния... проведите курсором к регулятору громкости и вверх/вниз для регулировки. Убедитесь, что этот параметр включен в Системных настройках -> Клавиатура -> Сочетания клавиш - Клавиатура и ввод текста.

Я обнаружил, что решение AppleScript не работает для меня, я не смог привязать сценарии к своим кнопкам увеличения и уменьшения громкости (на моем пульте дистанционного управления или клавиатуре). Возможно, из-за гораздо более новой OS X.

Однако, поиграв, я нашел решение, которое отключает ВСЕ службы панели (все, что отображается в сером полупрозрачном квадрате: громкость, яркость экрана, яркость клавиатуры и т. д.).

Отработав информацию из матрицы относительно того, где находятся соответствующие файлы, я переименовал «BezelUIServer» в «mBezelUIServer» (хотя подходит любое переименование, это легко изменить).

Найдите файл здесь: /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/Bezel‌​UI/

Надеюсь, это может помочь вам или любому будущему гуглеру.

Для всех, кому интересно, это сработало для меня на Yosemite как шарм:

sudo /bin/chmod -x /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/BezelUI/BezelUIServer
Что оно делает?
Он отключает наложение регулятора громкости, как и хотел сделать оригинальный постер. Это просто более простой метод, и он работает в Yosemite.
Я имею в виду, что он делает технически?
Вы удаляете разрешение на выполнение для всех пользователей BezelUIServer. Так что не может выполнить.
Почему бы просто не сказать диспетчеру заданий launchd, чтобы он вообще не запускал BezelUIServer? Смотрите мой ответ ниже.