it-swarm.dev

Jak mohu učinit xrandr přizpůsobení trvalým?

Použil jsem upravit spouštěcí skript pro GDM (/ etc/gdm/Init/Default), abych trvale změnil rozlišení displeje.

Jak to mohu udělat s LigthDM v Ubuntu Oneiric?

66
Edocastillo

Myslím, že můžete přidat režimy zobrazení do /etc/X11/xorg.conf.

Pokud nemáte xorg.conf, pak můžete jako základ použít následující. Musíte nahradit položky jménem Modeline, Driver a Modes správnými položkami pro váš systém. V závislosti na hardwaru budete možná potřebovat další položky, například pokud má váš systém více než jeden grafický čip.

Section "Monitor"
    Identifier    "Monitor0"
    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    SubSection "Display"
        Modes       "1280x1024_60.00" "1024x768_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier    "Card0"
    Driver        "nvidia"
EndSection

Pokud neznáte název grafického ovladače, který váš systém používá, můžete jej získat následujícím způsobem (pokud máte grafický čip intel, je název ovladače pouze „intel“):

lshw -class display | grep "driver"

Modely lze generovat pomocí cvt:

cvt <h-resolution> <v-resolution> [refresh]
24
Nimmermehr

Upravit /etc/lightdm/lightdm.conf přidejte následující možnosti:

display-setup-script > volá vaše mycustomloginvideo.sh předtím, než se objeví přihlašovací obrazovka session-setup-script >, volá mycustomdesktopvideo.sh před spuštěním relace plochy uživatele

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
display-setup-script=/usr/share/mycustomloginvideo.sh
# for your desktop session
session-setup-script=/usr/share/mycustomdesktopvideo.sh

Možná budete mít " arandr " GUI nástroj, který vygeneruje výše uvedený sh skript a vybere parametry z vaší X konfigurace vaší aktuální relace.

Ujistěte se, že váš skript Shell je spustitelný:

chmod a+x /usr/share/mycustom*video.sh

a můžete otestovat, že to funguje (tj. že v příkazu xrandr nemáte žádné překlepy nebo chyby konfigurace) pouhým spuštěním v terminálu:

/usr/share/mycustomdesktopvideo.sh

Pokud přihlašovací skript z nějakého důvodu nefunguje, nemusí váš počítač dokončit spouštěcí proces na přihlašovací obrazovce. Pokud se skript plochy nezdaří, po přihlášení se vám pravděpodobně nepodaří získat plochu. Pokud nastavujete externí monitor, tyto skripty se po odpojení nezdaří a relace X se nespustí.

63
Jon Roberts

Někdo vyslal další řešení, i když musím říct, že to pro mě nefungovalo. Pravděpodobně by to mohlo fungovat pro vás. V mém případě to narušuje jednotu a mohu pohybovat kurzorem myši. Horní panel indikátoru aplikace vypadá prázdný, ale po odpojení mého LCD jsem byl schopen smazat přidané řádky a vše se vrátilo k normálnímu stavu).

upravit soubor /usr/sbin/lightdm-session

Takto vypadá první část tohoto souboru:

#!/bin/sh
#
# LightDM wrapper to run around X sessions.

echo "Running X session wrapper"

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
  if [ -f  "$file" ]; then
     echo "Loading profile from $file";
     . "$file"
  fi
done

xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode CRT1 1368x768_60.00
xrandr --output CRT1 --mode 1368x768_60.00

# Load resources

Mějte na paměti, že nastavení Xrandr by měla být změněna tak, aby odpovídala vašim.

10
Meconio

Pokouším se vyřešit podobný problém už nějakou chvíli a našel řešení, které pro mě funguje, tak doufejme, že to pomůže ...

Mám starou aspirovanou AOA110, kterou jsem příliš často rozbil na obrazovce a po zakoupení nového notebooku jsem se rozhodl, že se pokusím proměnit ji v HTPC, ale externí displej, který mám, X nerozpozná, takže jsem musel "Tweak" to mnohokrát, aby to fungovalo ve správném rozlišení.

Zde je to, co jsem udělal:

Po použití tohoto http://ubuntuforums.org/showthread.php?t=1112186 tutoriálu až do kroku 5 jsem v xrandru našel funkční a přijatelné rozlišení, ale to nefungovalo na Přihlašovací obrazovka LightDM.

Nedodržujte kroky, které by ve výše uvedeném textu vytrvaly fungovaly, ale myslím, že je to správný způsob, jak to provést v 11.10. Našel jsem tento příspěvek na ArchWiki https://wiki.archlinux.org/index.php/Xorg , který jsem přizpůsobil svým potřebám.

Nejprve zde vytvořte soubor: /etc/X11/xorg.conf.d/10-monitor.conf

Pak přidejte příslušné X podrobnosti pro váš displej, jak vypadá moje:

Section "ServerLayout"
Identifier     "DualSreen"
Screen       0 "Screen0"
Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
#Option         "Xinerama" "1" #To move windows between screens
EndSection

Section "Monitor"
Identifier     "LVDS1"
Option         "ignore" "true"
EndSection

Section "Monitor"
Identifier     "VGA1"
Option         "Enable" "true"
Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
EndSection

Section "Device"
Identifier     "Device0"
Driver         "intel"
Screen         0
EndSection

Section "Device"
Identifier     "Device1"
Driver         "intel"
Screen         1
EndSection

Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "VGA1"
DefaultDepth    24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
    Modes          "1440x900_60.00"
EndSubSection
EndSection

Section "Screen"
Identifier     "Screen1"
Device         "Device1"
Monitor        "LVDS1"
DefaultDepth   24
Option         "TwinView" "0"
SubSection "Display"
    Depth          24
EndSubSection
EndSection

Důležité bity, které chcete přidat, jsou pod příslušnými Section "Monitor" vložte příslušný Modeline, který jste našli při použití gtf 1440 900 60.00 a poté pod odpovídající Section "Screen" včetně správného Modes.

Všimnete si, že jsem se snažil nejen nastavit připojení VGA1 na vhodné rozlišení, ale také říct, aby nepoužíval můj výstup LVDS1. Je zřejmé, že budete muset vyladit vaše řádně, aby odpovídaly správný počet výstupů a správné části zařízení, obrazovky a displeje pro vaše nastavení.

Omlouvám se za epický příspěvek, už nějakou dobu vylepšuji soubory xorg.conf pomocí displeje Hannspree, který používám, a staré nastavení xorg.conf, které jsem použil před 11.10, prostě nefungují správně, toto už není jediné řešení, které jsem našel, funguje.

Hodně štěstí!

6
faithinfriction

S laptopem jsem měl podobný problém jako výše a chtěl jsem do konverzace něco přidat. Pokud vám záleží na rozlišení přihlašování (nemám), ale chcete, aby skutečný pracovní prostor byl správným rozlišením, můžete přidat informace o monitoru do LightDM, ale zapnout plné rozlišení až po přihlášení.

Právě jsem do souboru přidal následující skript pro svůj monitor: lighdmxrandr

xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00

pak to nazývám /etc/lightdm/lightdm.conf

display-setup-script=/usr/bin/lightdmxrandr

Jakmile se přihlásím, mohu svůj monitor nastavit v zobrazeních a funguje to i poté, co se znovu přihlásím (používá se k velké ošklivé chybě).

5
Karl

Měl jsem problém chtít rozšířené zobrazení na mé nové LXDE krabici (ne duální klon), najít správný příkaz, ale nemohl jsem ho učinit trvalým.

xrandr --output VGA-0 --right-of DVI-0

Všechny výše uvedené metody se zdály příliš tvrdé/ne správný způsob, jak to udělat.

Nakonec jsem to našel: http://www.Sudo-juice.com/change-lxde-screen-resolution-ubuntu-lubuntu/

To fungovalo, ale místo toho jsem použil gedit:

gksu gedit /etc/xdg/lxsession/LXDE/autostart

Poté na konec přidejte řádek se symbolem @:

@xrandr --output VGA-0 --right-of DVI-0

Doufám, že to pomůže a děkuji džusové šťávě.

PS Všimněte si dvojitého - v příkazu xrandr -- (na obrazovce se příliš jasně nezobrazil).

4
abisdad

Jako vylepšení pro odpověď Jon Roberts, dovolte mi upřesnit, že arandr nezahrnuje do své generování sh skript všechny parametry pracující v aktuální relaci. Primární monitor (v případě, že používáte konfiguraci duálního monitoru), obnovovací frekvence a nastavení gama pro každý monitor například nejsou zahrnuty. Můj skript relace vypadá takto:

#!/bin/sh
xrandr --output LVDS --mode 1366x768 --pos 1600x432 --rotate normal --output HDMI-0 --off --output DVI-0 --off --output VGA-1 --mode 1600x1200 --rate 85 --pos 0x0 --rotate normal --primary
xrandr --output VGA-1 --gamma 0.8:0.7:0.55 

Ručně jsem přidal --rate a --primary volby do prvního řádku a pak jsem přidal ručně druhý řádek s gama korekcí, protože zjevně xrandr gama nastavení se ztratí při každém přepnutí monitoru na primární.

Nevím, zda je toto konkrétní chování s nastavením gama při vytváření primárního monitoru určeno nebo je chyba.

Navíc skript Shell relace není volán lightdm, ale jako spouštěcí aplikace, protože se zdá, že lightdm volá skript dříve, než jsou věci připraveny pro xrandr a děje se divné věci.

4
Hermes

Vytvořte nový dokument a pojmenujte jej např. /home/yourusername/yourscriptname.sh Vepište

#!/bin/bash
xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace

a uložte jej do své domovské složky (nastaví rozlišení na 1600x900)

Otevřete spouštěcí aplikace (nebo spusťte gnome-session-properties) a klikněte na „PŘIDAT“. Do příkazového řádku zadejte název a napište:

bash /home/yourusername/yourscriptname.sh

Uložte jej a nyní bude skript spuštěn při každém přihlášení, takže se musíte nejprve odhlásit, aby se projevil. Spuštění příkazu (např. bash /home/yourusername/yourscriptname.sh) v terminálu by také bylo dobré zkontrolovat, zda skript funguje.

2
Nikhil

Na základě výše uvedených odpovědí jsem provedl několik testů a našel užitečnou metodu, která mi pracuje, a poté jsem vytvořil jednoduchý skript, který jej automatizuje pomocí automatických instalací. Ale bude fungovat i v jiných případech.

Vytvořit scriptinstallxrandrfixed.sh. Přidejte tyto řádky:

#Variables for lightdm script and xrandr script to set up fixed resolution for old displays: 
xrandrscript=/usr/local/bin/xrandrscript.sh
lightdmstartscript=/usr/share/lightdm/lightdm.conf.d/60-xrandrscript.conf

#Added old style configuration for lightdm: 
Sudo  ln -s /usr/share/lightdm/lightdm.conf.d /ec/lightdm/lightdm.conf.d
#A fix to some old displays in high school at Fray Bentos, fix to 104x768
#Some useful information comes from: http://askubuntu.com/questions/63681/how-can-i-make-xrandr-customization-permanent
Sudo sh -c "echo '[SeatDefaults]' > $lightdmstartscript"
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
Sudo sh -c "echo 'display-setup-script=$xrandrscript' >> $lightdmstartscript"
# for your desktop session
Sudo sh -c "echo 'session-setup-script=$xrandrscript' >> $lightdmstartscript"
Sudo sh -c "echo 'xrandr --size 1024x768 --rate 60.0' > $xrandrscript"
Sudo chmod +x $xrandrscript

vytvoří skripty a soubory pro zobrazení a relaci lightdm. Nezapomeňte dát svolení k provedení

chmod +x scriptinstallxrandrfixed.sh

A vykonat

./scriptinstallxrandrfixed.sh

(musíte být umístěn ve stejném adresáři, kde máte soubor.)

pokud není ve stejném adresáři: /path/to/script/scriptinstallxrandrfixed.sh

Upravte jej podle svých potřeb.

1
pablodav