Понятый это.
Я должен был работать xrandr --output HDMI-0 --mode 1280x1024 --right-of DVI-0
с sudo
.
Тем путем нормальные приложения не имеют доступа к установке Randr (разрешение и т.д.), и так ничего не могут повредить.
Править: На самом деле это помогло только с одной игрой (Osmos). Для других монитор все еще теряет сигнал, но я могу, по крайней мере, работать xrandr
снова восстановить его.
Это не фактический ответ на Ваш вопрос, просто указатель на инструмент, который мог бы быть связан и полезный:
Вы имеете dkms
установленный? (Некоторая информация здесь, alioth страница кажется вниз в данный момент.) Это, как предполагается, делает просто это, если я не введен в заблуждение. Это требует соответствующего linux-headers
пакет и module/firmware/something-like-that пакет, который будет установлен; и это работает на все установленные linux-image
пакеты. (Я ничего не могу сказать об универсальном модуле, но он хорошо работал, когда я использовал его с несвободным модулем Nvidia.)
(Существует больше ссылок здесь, как страница справочника и это linuxjournal.com
статья, которая дает non-Debian-ecosystem-centric объяснение программы.)
dkms действительно является ответом, если вы используете дистрибутив с поддержкой DKMS -(, как и большинство популярных ). Если вы используете дистрибутив, который не использует DKMS, или вы создали собственную установку Linux, читайте дальше.
Проблема в том, что хук postinst.d
вызывается перед перезагрузкой, где uname
по-прежнему возвращает старую версию ядра.
Решение несколько хакерское, но, учитывая, что весь вопрос вращается вокруг хака для предварительной сборки модулей после обновления, я уверен, что это нормально:)
Вам просто нужно перечислить файлы в /boot/
(, если только вы не запускаете какую-то чрезвычайно эзотерическую установку, где ядро установлено где-то еще ), отсортируйте содержимое по mdate и извлеките версию ядра из самой последней установленной версии. ядро, в том же духе:
KVERSION=$(ls -at /boot | sed -n 's/^vmlinuz-//;t p;b;:p;p;q')
# KVERSION will hold some value like 4.19.0-10-arm64
(Предполагается, что ядро сжато и установлено как/boot/vmlinuz-${KVERSION}
)
Хотя dkms
может быть ответом, у меня есть для вас подход, который может предложить более простое решение, если вы не хотите связываться с этим или другими сложными решениями.
Поскольку вам это не понадобится, пока вы не перезагрузитесь и не начнете запускать новое ядро, почему бы просто не запустить скрипт как раз вовремя (при следующей загрузке )?
Вы можете использовать что-то из себя -, например this для постановки вашей команды в очередь для выполнения только при следующей загрузке, и скрипт , который из /etc/kernel/postinst.d
.
/opt
. – Naftuli Kay 29.01.2012, 23:38