6

Это возможно?

Обычно я использую 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 ответа4

3

Мне удается именно то, что вы имеете в виду, может быть, потому что у меня версия 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

1

Я взломал источник 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

0

Может быть слишком очевидным и вариант, который вы предпочитаете не использовать, но как насчет изменения, которое является основным в BIOS?

0

Вы можете попробовать возиться с xrandr . В командной строке есть большая коллекция сценариев на основе xrandr.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .