[linux] Laptop en externe monitor (en soms niet)

Pagina: 1
Acties:

  • AlBundy
  • Registratie: Februari 2000
  • Laatst online: 24-05-2025
Ik ben de trotse bezitter van een laptop met een externe DVI en VGA aansluiting. Op zich natuurlijk niks bijzonders, maar hetgeen wat ik er mee wil bereiken, lijkt onder Linux niet te kunnen, of ik heb er gewoon nog nooit van gehoord.
Ik gebruik al zo'n 9 jaar Linux als desktop, eerst Debian, later Gentoo en tegenwoordig Ubuntu, maar heb nog weinig ervaring met multi-monitoren. Het lukt me wel om de 2e monitor aan de praat te krijgen en alles, ook via Xinerama zodat ik vensters over en weer kan slepen en dergelijke, maar wat ik eigenlijk wil bereiken is het volgende:

Onder Windows, als ik mijn 2e monitor aansluit, wisselt automatisch mijn primary desktop naar de externe monitor met de juiste resolutie, en wordt het laptopscherm mijn extended desktop. Als ik hem weer lostrek, wisselt hij netjes terug, dus de laptop is weer primaire (en enige) desktop. Twee keer per week zit ik ook op een andere afdeling, waar ik een andere monitor (met een andere resolutie) heb staan. Als ik die inplug, wisselt Windows ook netjes naar de juiste resolutie voor die monitor, en maakt hij er weer mijn primaire desktop van. Als ik naar huis ga, neem ik mijn laptop mee, en kan ik gewoon thuis achter mijn laptop zitten met alleen het laptopscherm.

Dit wil ik ook onder Linux kunnen. Steeds als ik van monitor wissel, of met 1 monitor wil werken, moet ik een andere X-configuratie klaarzetten, gdm herstarten en opnieuw inloggen. Dit houdt ook in dat ik allerlei programma's opnieuw moet starten, die ik daarvoor nog open had staan. Soms heb ik lekker wat vensters openstaan, omdat ik bijv. iets aan het uitzoeken ben waar ik thuis nog even naar wil kijken e.d. en dan is dat logischerwijs erg storend.

Is er een tool waarmee dit wisselen van die monitorprofielen automatisch kan, op basis van het ingeplugd of uitgetrokken worden van een monitor, of desnoods via een icoontje in de system tray, zonder dat hiervoor de X-server herstart moet worden?

Mogeljk relevante informatie:

Laptop: Asus F3S, Ati Mobility Radeon HD2400.
OS: Ubuntu 8.10

***** Excellent cron job. Will run again.


  • flapdrol85
  • Registratie: Juni 2004
  • Niet online
kijk eens welke mogelijkheden xrandr biedt.....

  • robbert
  • Registratie: April 2002
  • Laatst online: 28-01 20:27
Ik ken de Ati driver niet, maar misschien heb je aan het volgende iets. Met mijn laptop met Intel kaart (met intel driver) kan ik met behulp van xrandr alles wijzigen (resoluties veranderen, desktop uitbreiden, etc), kijk hiervoor eens naar de man page van xrandr.

Op mijn desktop met Nvidia kaart (met proprietary nvidia driver) is het gene wat je met xrandr kan slechts heel beperkt. Met behulp van de metamodes regel in xorg.conf kan ik wel verschillende modes (resoluties + posities van mijn monitoren) aangeven. Met xrandr kan ik vervolgens tussen deze modes wisselen.

[ Voor 4% gewijzigd door robbert op 27-01-2009 19:30 ]


  • AlBundy
  • Registratie: Februari 2000
  • Laatst online: 24-05-2025
Thanks, hier ga ik eens mee spelen. Wel stom dat ik dat nergens zo makkelijk kon vinden eigenlijk, het is moeilijk om dit in de juiste zoektermen samen te vatten op Google :)

Mocht ik er niet uitkomen kom ik nog wel ff terug ;)

***** Excellent cron job. Will run again.


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 28-01 16:23

deadinspace

The what goes where now?

robbert schreef op dinsdag 27 januari 2009 @ 19:27:
Ik ken de Ati driver niet, maar misschien heb je aan het volgende iets. Met mijn laptop met Intel kaart (met intel driver) kan ik met behulp van xrandr alles wijzigen (resoluties veranderen, desktop uitbreiden, etc), kijk hiervoor eens naar de man page van xrandr.
Met de open-source "radeon" driver kan dat ook allemaal (werkt hier prima op een 8500 en een X800XL).

Met de proprietary "fglrx" driver weet ik het niet, maar ik vrees eigenlijk dat dat nog minder goed werkt dan NVidia's proprietary driver.

  • laurencevde
  • Registratie: November 2001
  • Laatst online: 02-10-2025
Goh, ik heb hier ook een laptop met hd2400, en ik loop ook regelmatig van monitor te wisselen.
fglrx kan het op 2 manieren: via het driver-eigen bigDesktop(of hoe ze dat ook noemen), en via Xrandr.
bigDesktop kan je via amdcccle configureren, maar ik kreeg daar 2 schermen met verschillende resolutie tegelijk niet mee werkend.
Xrandr moet je eerst aanzetten, daarna snapt amdcccle er niet veel meer van, maar kan je alles via "xrandr", of de graphische frontendjes doen.
Om Xrandr aan te zetten: aticonfig --set-pcs-str="DDX,EnableRandr12,TRUE"
Daarna was het bij mij nog nodig om een groot genoege virtual screen size in te stellen:
Voorbeeld voor in xorg.conf:
code:
1
2
3
4
5
6
7
8
9
10
Section "Screen"
    Identifier  "Ati Screen"
    Device      "Ati Device, fglrx"
    Monitor     "Flatpanel"
    DefaultDepth    24
    Subsection "Display"
        Depth   24
        Virtual 2960 1050
    EndSubsection
EndSection


Nu kun je (na voor de laatste keer X herstart te hebben) je monitoren aan en uitzetten zonder X elke keer te moeten herstarten. Om dat een beetje te automatiseren gebruik ik het volgende scriptje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
if [ "$( xrandr | grep "DFP1 connected (" )" ]; then
    #Monitor connected but not yet enabled
    xrandr --output DFP1 --auto --right-of LCD
#   xrandr --output LCD --pos 0x250
elif [ "$( xrandr | grep "DFP1 connected 1" )" ]; then
    #Monitor connected and enabled. Disable
    xrandr --output DFP1 --off
elif [ "$(xrandr | grep "DFP1 disconnected 1" )" ]; then
    #Monitor not connected, but still enabled
    xrandr --output DFP1 --off
fi

if [ "$( xrandr | grep "CRT1 connected (" )" ]; then
    #Monitor connected but not yet enabled
        xrandr --output CRT1 --auto --right-of LCD
elif [ "$( xrandr | grep "CRT1 connected 1" )" ]; then
    #Monitor connected and enabled. Disable
    xrandr --output CRT1 --off
elif [ "$(xrandr | grep "CRT1 disconnected 1" )" ]; then
    #Monitor not connected, but still enabled
    xrandr --output CRT1 --off
fi

Kun je per monitor mee aangeven hoe je het hebben wilt.
Dat scriptje moet je natuurlijk nog wel ergens aan een snelkoppeling hangen...
1 kleinigheidje: als je meerdere monitoren met verschillende resolutie hebt, krijg je een virtueel bureaublad groot genoeg om ze beide in te stoppen, en is dus een stukje boven of onder het kleinste scherm onzichtbaar, maar je kan er wel met je muis in.

Oh ja, je xorg.conf hoeft/mag maar 1 configuratie voor 1 scherm te bevatten (dus zoals single-monitor).

Have a taste of freedom. It is sometimes a bitter pill. To me though, this is the sweetness of the GPL

Pagina: 1