Linux: Configurando a exibição principal (nvidia) a partir da linha de comando

6

Isso é possível?

Normalmente eu uso disper para ativar meu monitor externo, mas não acho que posso forçar o segundo monitor a ser primário. link

Eu brinquei com nv-control-dpy incluído na fonte de controle da nvidia, mas ainda não descobri como fazer isso. Como conseguir: link

EDITAR

Este é um laptop, ao qual eu conecto um monitor HDMI externo quando eu começo a trabalhar. dipser -e estende a área de trabalho para mim, mas o laptop continua sendo a área de trabalho principal (mantendo os painéis, etc.). nvidia-settings pode definir o monitor principal para mim, mas eu quero usar o cli.

    
por Joernsn 15.04.2010 / 10:03

4 respostas

3

Eu consegui fazer exatamente o que você quer dizer, talvez porque eu tenha a versão 2.3, no Ubuntu 10.04 com nvidia-setting v 1.0

Após a correção de erros:

isso foi listado como grande uma vez:

link

pela versão 2.1 deve funcionar como você pediu no 20010-04 e o 'bug fix' foi confirmado em 2009-02-16

O que eu tinha

usando:

disper -l

lá vi meus dispositivos:

  • DFP-0: LGD (tela do laptop)
  • CRT-0: Samsung SyncMaster (monitor externo)

(o dispositivo externo não aparece consultando xrandr)

O que eu queria e como

O laptop está à direita e o monitor está à esquerda , eu queria que o laptop fosse estendido da da Samsung, , tendo o laptop alinhado fisicamente na parte superior, eu queria que eles também estivessem alinhados logicamente e tivessem uma resolução própria máxima:

disper -d CRT-0,DFP-0 -r auto -e -t right

isto deve ser lido como: ( -d ) opere primeiro no SyncMaster e então no laptop lcd, ( -r ) considere resolução automática, ( - e ) estender o segundo display [o segundo aqui é laptop, porque a -d definição da ordem de exibição], ( -t ) estende o segundo display [laptop] para o direito do primeiro.

Google corretamente e tente primeiro

Muito simples, não é necessário usar o nvidia-hacking. Espero que ajude.

Felicidades

Splinux

    
por 26.02.2011 / 17:34
1

Eu invadi a fonte de configurações da nvidia e obtive uma solução de trabalho:

Isso é feito no Ubuntu, mas a portabilidade não deve ser difícil.

Execute estes comandos:

sudo apt-get build-dep nvidia-settings
apt-get source nvidia-settings
cd nvidia-settings-195.36.08/src

Edite "nvidia-settings.c" e substitua main () por:

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() */

compilação:

cd ..
make

coloque o caminho binário em:

sudo cp nvidia-settings /usr/local/bin/setPrimaryDisplay

use:

setPrimaryDisplay DFP-1
gnome-panel --replace 2>/dev/null &

Em que DFP-1 é o nome da exibição de diapositivos desejada. O painel do Gnome não acompanha os horários e precisa ser reiniciado.

Você pode baixar meu binário compilado para amd64 aqui: link

    
por 06.10.2010 / 12:36
0

Pode ser muito óbvio e uma opção que você prefere não usar, mas, e quanto a mudar qual é a principal na BIOS?

    
por 16.04.2010 / 11:31
0

Você pode tentar mexer com xrandr . commandlinefu tem uma ótima coleção de scripts baseados em xrandr.

    
por 16.04.2010 / 15:35