Ubuntu 10.04 с ограниченными драйверами Nvidia, работающая с Nvidia 9600 GT с двумя мониторами DVI (22" и 23"). В метарежиме по умолчанию (1) оба монитора активны. Я добавил второй метарежим через nvidia-settings
(версию 1.0), в котором включен только 23" монитор. Я могу переключаться между метарежимами с помощью графического nvidia-settings
интерфейса. Есть ли способ сделать это из командной строки? Я читал оРассеиватьна этом сайте, но не пробовал, так как надеялся, что эта функция доступна через nvidia-settings
? Однако на странице руководства я не нашел ничего полезного.
Редактировать: После переключения между двумя метарежимами в nvidia-settings
GUI я заметил строку в GUI с надписью «Switched to MetaMode AxB.», где A и B задают новое разрешение. То есть переключение метарежимов — это просто изменение разрешения? Я где-то читал, что то, что я хочу сделать, можно сделать с помощью xrandr
. Будет ли это правильно, потому что, похоже, все, что мне нужно сделать, это изменить разрешение? В метарежиме 1 разрешение составляет 3600x1080; в метарежиме 2 — 1920x1080.
решение1
Вы почти сами дали ответ.
xrandr -s N
переключается в метарежим N, так что вы можете использовать xrandr -s 0
и xrandr -s 1
для включения и выключения второго монитора. На моем ПК работает отлично.
EDIT: Нашел одну проблему: у меня обе панели внизу. После переключения метарежима они имеют одинаковую высоту (видна только одна, переключается случайным образом при наведении курсора). Мне приходится устанавливать одну наверх и обратно вниз, чтобы другая отображалась над ней.
EDIT: Найденное решение: Используйте gconftool-2 --dump /apps/panel
для получения текущих настроек, переместите панель, получите измененные настройки и найдите, что изменилось с помощью diff
. Используя эту информацию, я создал два файла, один для pannel вверху, один внизу. Теперь я могу написать скрипт изменения Metamode и перемещения панели.