Никто в интернете не объясняет, как изменить папку sys на Ubuntu

449
TheGame

Я только что установил Ubuntu в свой ноутбук, но изменить яркость внешнего монитора, подключенного в VGA, с помощью ползунка SO невозможно.

Я провел различные исследования в сети и пришел к выводу, что драйвер устройства вывода установлен правильно, на самом деле это содержимое встроенной графической папки Intel:

-r--r--r-- 1 root root 4096 set 13 16:45 actual_brightness -rw-r--r-- 1 root root 4096 set 13 16:45 bl_power -rw-r--r-- 1 root root 4096 set 13 2018 brightness lrwxrwxrwx 1 root root 0 set 13 16:45 device -> ../../card0-eDP-1 -r--r--r-- 1 root root 4096 set 13 2018 max_brightness drwxr-xr-x 2 root root 0 set 13 2018 power lrwxrwxrwx 1 root root 0 set 13 2018 subsystem -> ../../../../../../../class/backlight -r--r--r-- 1 root root 4096 set 13 2018 type -rw-r--r-- 1 root root 4096 set 13 2018 uevent 

Проблема в том, что системная ссылка устройства указывает на неправильный порт (внутренний разъем eDP)

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1 

в то время как это должно указывать на VGA-1

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1 

Я попытался изменить системную ссылку, но невозможно изменить содержимое системной папки / sys /, потому что я думаю, что это виртуальная файловая система.

У кого-нибудь есть какие-либо советы о том, как поступить?

1

1 ответ на вопрос

7
dirkt

То, что у вас есть, sysэто «файлы», которые действительно указывают на параметры ядра, используемые различными модулями. Таким образом, загруженные модули ядра определяют то, что вы видите под sys. Менять его не имеет смысла, потому что на другом конце не было бы соответствующего модуля ядра для обработки измененных файлов.

Вот почему «никто в Интернете не объясняет, как изменить папку / sys»: Вы не можете это изменить.

Даже если вы могли бы сделать это: с вашим портом eDP связано оборудование, которое имеет некоторую подсветку. Таким образом, вы можете изменить яркость подсветки .

Разъем VGA не имеет специального оборудования для подсветки (аналоговые мониторы не имели подсветки, и вы просто не можете управлять подсветкой ЖК-мониторов, подключенных таким образом).

Теперь, когда вы не можете изменить яркость подсветки, вы можете изменить яркость изображения, сказав графической карте по-разному отображать цвета. Вы можете сделать это с помощью xgamma(хотя это действительно изменяет значение гаммы, которое влияет на яркость), с помощью xrandr --brightnessи с помощью, xcalibчтобы изменить цветовой профиль или напрямую изменить яркость / контрастность.

Если вы хотите изменить яркость монитора VGA следующим образом: Тогда я бы порекомендовал использовать элементы управления на мониторе, результаты будут намного лучше. Изменение яркости с помощью цветовой карты изображения работает только в некоторой степени, использование элементов управления на мониторе даст вам полный диапазон.

редактировать

Если вы хотите использовать DDC для изменения настроек монитора (которые ваш монитор может поддерживать или не поддерживать), используйте ddccontrolили ddcutil. Обратите внимание, что это также не «регулирует яркость» в том смысле, что ядро ​​может изменять аппаратную яркость подсветки. Вместо этого это общий способ связи с монитором и указания микропрограммному обеспечению на мониторе для выполнения каких-либо действий. Так что это будет более или менее эквивалентно использованию элементов управления непосредственно на мониторе.

Многие VGA-соединения - даже Carts - технически поддерживают [DDC] (https://en.m.wikipedia.org/wiki/Display_Data_Channel) для управления яркостью / подсветкой, но, поскольку это зависит от модели монитора, ядро ​​не знает, как привязать его к sysfs "яркость". grawity 6 лет назад 0
Your answer is very exhaustive. So if I buy an HDMI cable and connect it to the monitor, can I then decrease the brightness from the SO slider? My monitor is Acer G247HL (LED). The problem is that the monitor is very bright even lowering the settings on it and xrandr ruins the colors of the output video. TheGame 6 лет назад 0
Я до сих пор не уверен, что вы подразумеваете под «SO slider», но HDMI похож в этом отношении на VGA - нет яркости подсветки, но эквивалентен каналу DDC (называемому CI). Хотя доступ к каналу CI труднее, потому что к нему подключаются не все кодеры HDMI. Я также не могу сказать, что контролирует ваш монитор, даже зная его название. Если изображение по умолчанию слишком яркое, в первую очередь я посмотрю на [информация EDID] (https://unix.stackexchange.com/questions/114359/how-to-get-edid-for-a -single-monitor) ваш монитор отправляет, и посмотреть, требует ли он необычные значения гаммы. dirkt 6 лет назад 0
Хотя покупка кабеля HDMI может стоить попробовать, потому что вместо отправки информации об изображении в виде аналогового напряжения через VGA и преобразования монитора в цифровую форму вы будете передавать данные в цифровом виде через HDMI, поэтому монитор может (или может не отображаться по-другому. dirkt 6 лет назад 0
Я попытаюсь подключиться к каналу DDC, у меня есть только один вопрос: можно ли уменьшить яркость сверх предела производителя с помощью команды MCCS, отправленной на монитор? TheGame 6 лет назад 0
Все зависит от производителя, что вы можете делать с командами MCCS, но я бы ожидал, что они станут просто еще одним интерфейсом для настроек, которые вы уже можете настроить. Позвольте мне повторить: если изображение на вашем мониторе выключено, и особенно если цвета искажены яркостью xrandr, я сильно подозреваю, что монитор с необычными и разными значениями гаммы для трех цветов. Итак (1) проверьте значения гаммы EDID, (2) поиграйте с `xgamma`, (3) поиграйте с` xcalib` для получения полного цветового профиля. dirkt 6 лет назад 0