Linux: Настройка основного отображения (nvidia) из командной строки
Это возможно?
Обычно я использую disper
включить мой внешний монитор, но я не думаю, что смогу заставить второй монитор быть основным. http://willem.engen.nl/projects/disper/
Я играл с nv-control-dpy
включен в исходный код nvidia-control, но я пока не понял, как это сделать. Как получить: http://ubuntuforums.org/showthread.php?t=922956
РЕДАКТИРОВАТЬ
Это ноутбук, к которому я подключаю внешний hdmi дисплей, когда добираюсь до работы. dipser -e
расширяет рабочий стол для меня, но ноутбук остается основным рабочим столом (удерживая панели и т. д.). nvidia-settings
Можно установить основной монитор для меня, но я хочу использовать Cli.
4 ответа
Мне удается именно то, что вы имеете в виду, может быть, потому что у меня версия 2.3, на Ubuntu 10.04 с nvidia-setting v 1.0
После исправления ошибки:
это было перечислено как большой один раз:
https://bugs.launchpad.net/disper/+bug/321288
в версии 2.1 должен работать так, как вы просили на 20010-04, а исправление ошибки было подтверждено 2009-02-16
Что я имел
используя:
disper -l
там я увидел мои устройства были:
- DFP-0: LGD (дисплей ноутбука)
- CRT-0: Samsung SyncMaster (внешний монитор)
(внешнее устройство не отображается при запросе xrandr)
Что я хотел и как
Ноутбук находится справа, а монитор слева, я хотел, чтобы ноутбук был удлинен от Samsung, поэтому, имея ноутбук физически выровненным по верху, я хотел, чтобы они были также логически выровнены по верху и имели собственное максимальное разрешение:
disper -d CRT-0,DFP-0 -r auto -e -t right
это должно читаться как: (-d) сначала выполнить на SyncMaster, а затем на ноутбуке lcd, (-r) рассмотреть автоматическое разрешение, (-e) расширить второй дисплей [второй здесь - ноутбук, потому что -d устанавливает порядок отображения], (-t) выдвиньте второй дисплей [ноутбук] справа от первого.
Google правильно и попробуйте сначала
Очень просто без необходимости взлома nvidia. Надеюсь, поможет.
ура
Splinux
Я взломал источник nvidia-settings и получил рабочее решение:
Это сделано в Ubuntu, но переносить его не должно быть сложно.
Запустите эти команды:
sudo apt-get build-dep nvidia-settings
apt-get source nvidia-settings
cd nvidia-settings-195.36.08/src
Отредактируйте "nvidia-settings.c" и замените main() следующим образом:
int main(int argc, char **argv)
{
ConfigProperties conf;
ParsedAttribute *p;
CtrlHandles *h;
char * target;
/* initialize the parsed attribute list */
p = nv_parsed_attribute_init();
/* initialize the ConfigProperties */
init_config_properties(&conf);
/* allocate the CtrlHandles for this X screen */
h = nv_alloc_ctrl_handles(":0.0");
if (!h || !h->dpy) {
return 1;
}
/* Get target from command line */
if(argc != 2){
printf("Usage: %s PRIMARY_DISPLAY\n", argv[0]);
printf("Example: %s DFP-1\n");
return 1;
}
target = argv[1];
int i;
for (i = 0; i < h->targets[X_SCREEN_TARGET].n; i++) {
if (h->targets[X_SCREEN_TARGET].t[i].h) {
printf("Setting primary display: %s\n", target);
NvCtrlSetStringAttribute(h->targets[X_SCREEN_TARGET].t[i].h, NV_CTRL_STRING_TWINVIEW_XINERAMA_INFO_ORDER, target, NULL);
break;
}
}
return 0;
} /* main() */
компиляции:
cd ..
make
поместите двоичный файл в путь:
sudo cp nvidia-settings /usr/local/bin/setPrimaryDisplay
используй это:
setPrimaryDisplay DFP-1
gnome-panel --replace 2>/dev/null &
Где DFP-1 - это название нужного дисплея. Панель Gnome не идет в ногу со временем и должна быть перезапущена.
Вы можете скачать мой двоичный файл, скомпилированный для amd64, здесь: http:// while1.no/files/setPrimaryDisplay
Может быть слишком очевидным и вариант, который вы предпочитаете не использовать, но как насчет изменения, которое является основным в BIOS?
Вы можете попробовать возиться с xrandr
, В командной строке есть большая коллекция скриптов на основе xrandr.