Solía editar el script de inicio para el GDM (/ etc / gdm / Init / Default) para cambiar permanentemente la resolución de mi pantalla.
¿Cómo puedo hacer esto con LigthDM en Ubuntu Oneiric?
Solía editar el script de inicio para el GDM (/ etc / gdm / Init / Default) para cambiar permanentemente la resolución de mi pantalla.
¿Cómo puedo hacer esto con LigthDM en Ubuntu Oneiric?
Respuestas:
Creo que puedes agregar los modos de visualización /etc/X11/xorg.conf
.
Si no tiene un xorg.conf
, entonces puede usar lo siguiente como base. Es necesario sustituir las entradas con los nombres Modeline
, Driver
y Modes
con las entradas correctas para su sistema. Dependiendo de su hardware, puede necesitar entradas adicionales, por ejemplo, si su sistema tiene más de un chip gráfico.
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
Si no conoce el nombre del controlador de video que está usando su sistema, puede obtener el nombre de la siguiente manera (si tiene un chip gráfico Intel, el nombre del controlador es solo "Intel"):
lshw -class display | grep "driver"
Las modelinas se pueden generar con cvt
:
cvt <h-resolution> <v-resolution> [refresh]
cvt
comando y el controlador del otro (y lo intenté vesa
también), pero simplemente se colgó sin mensajes de error. La solución de Jon Roberts funcionó perfectamente para mí y es independiente de cosas como el controlador de la tarjeta de video que mencionas aquí, que podría salir mal para los novatos, por lo tanto, estoy votando su respuesta.
lshw
salida i915
, sin embargo, el controlador correcto es intel
.
Modifique /etc/lightdm/lightdm.conf
para agregar las siguientes opciones:
display-setup-script> llama a mycustomloginvideo.sh antes de que aparezca la pantalla de inicio de sesión
session-setup-script> llama a mycustomdesktopvideo.sh antes de que comience la sesión de escritorio del usuario
[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
Es posible que la herramienta gui "arandr" genere el script sh anterior, seleccionando parámetros de la configuración X de su sesión actual.
Asegúrese de que su script de shell sea ejecutable:
chmod a+x /usr/share/mycustom*video.sh
y puede probar que funciona (es decir, que no tiene ningún error tipográfico o de configuración en su comando xrandr) simplemente ejecutándolo en un terminal:
/usr/share/mycustomdesktopvideo.sh
Si el script de inicio de sesión no funciona por algún motivo, es posible que su máquina no complete el proceso de inicio en la pantalla de inicio de sesión. Si el script de escritorio falla, es posible que no obtenga un escritorio después de iniciar sesión. Si está configurando un monitor externo, estos scripts fallarán cuando lo desconecte y la sesión X no se iniciará.
display-setup-script
script ya que Xfce ya lo tenía configurado por la configuración de la pantalla, por lo que session-setup-script
me dejó en la pantalla de inicio de sesión.
Alguien publicó otra solución, aunque debo decir que no funcionó para mí. Probablemente podría funcionar para ti. En mi caso, rompe la unidad y solo puedo mover el cursor del mouse. El panel superior del indicador de la aplicación parece vacío, pero después de desconectar mi LCD pude eliminar las líneas agregadas y todo volvió a la normalidad.
editar el archivo /usr/sbin/lightdm-session
Así es como se ve la primera parte de ese archivo ahora:
#!/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
Tenga en cuenta que la configuración de Xrandr debe cambiarse para que coincida con la suya.
He estado tratando de resolver un problema similar por un tiempo y encontré una solución que funciona para mí, así que espero que me ayude ...
Tengo un viejo aspirante AOA110 en el que he roto la pantalla muchas veces y después de comprar un nuevo portátil decidí que trataría de convertirlo en un HTPC, pero la pantalla externa que tengo no es reconocida por X, así que tuve que "Ajústelo" varias veces para que funcione con la resolución correcta.
Aquí esta lo que hice:
Después de usar este http://ubuntuforums.org/showthread.php?t=1112186 tutorial hasta el paso 5, pude encontrar una resolución aceptable y que funcionaba en xrandr, pero esto no funcionaba en la pantalla de inicio de sesión de LightDM.
No siga los pasos para que sea persistente en lo anterior, pero puede ser la forma correcta de hacerlo en 11.10. Encontré esta publicación en ArchWiki https://wiki.archlinux.org/index.php/Xorg que adapté a mis necesidades.
Primero cree un archivo aquí: /etc/X11/xorg.conf.d/10-monitor.conf
Luego agregue los detalles X apropiados para su pantalla, así es como se veía el mío:
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
Los bits importantes para agregar están debajo del apropiado Section "Monitor"
incluyen el apropiado Modeline
que encontró al usar gtf 1440 900 60.00
y luego debajo del correspondiente, Section "Screen"
incluido el correcto Modes
.
Notarás que lo que estaba tratando de hacer no era solo configurar la conexión VGA1 a una resolución adecuada, sino también decirle que no usara mi salida LVDS1. Obviamente, deberá ajustar los suyos adecuadamente para que coincidan con el número correcto de salidas y las secciones correctas de Dispositivo, Pantalla y Pantalla para su configuración.
Perdón por la publicación épica, he estado ajustando archivos xorg.conf desde hace algún tiempo con la pantalla Hannspree que he estado usando y las antiguas configuraciones de xorg.conf que usaba antes de 11.10 simplemente ya no funcionan correctamente, esta es la La única solución que he encontrado que funciona.
¡Buena suerte!
xrandr -q
debería darle la información correcta sobre qué pantalla se está utilizando y los posibles modos.
Xorg :1 -configure
, lo que crea un nuevo servidor X y genera un archivo de configuración a partir de él; esto se puede copiar de /root/xorg.conf.new
a /etc/X11/xorg.conf
. Encontré una mejor manera fue la respuesta anterior
Tuve un problema similar con mi computadora portátil que el anterior, y quería agregar algo a la conversación. Si no le importa la resolución de inicio de sesión (no me importa), pero desea que el espacio de trabajo real sea la resolución correcta, puede agregar la información de su monitor a LightDM pero no activar la resolución completa hasta que inicie sesión.
Acabo de agregar el siguiente script para mi monitor en un archivo: lighdmxrandr
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00
entonces lo llamo /etc/lightdm/lightdm.conf
display-setup-script=/usr/bin/lightdmxrandr
Una vez que inicie sesión, puedo configurar mi monitor en pantallas y funciona, incluso después de volver a iniciar sesión (solía darme un gran error feo).
Como una mejora para la respuesta de Jon Roberts, permítanme especificar que arandr no incluye en su generación de script sh todos los parámetros que funcionan en la sesión actual. Monitor primario (en caso de que esté utilizando una configuración de monitor dual), la frecuencia de actualización y la configuración de gamma para cada monitor no están incluidos, por ejemplo. Mi script de sesión se ve así:
#!/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
Agregué manualmente las opciones --rate y --primary en la primera línea y luego agregué manualmente una segunda línea con la corrección gamma porque aparentemente la configuración de gamma xrandr se pierde cada vez que cambia un monitor a primario .
No sé si este comportamiento particular con la configuración de gamma al hacer que un monitor sea primario es intencionado o es un error.
Además, lightdm no llama al script de shell de sesión, sino como una aplicación de inicio, porque parece que lightdm llama al script antes de que las cosas estén listas para xrandr y sucedan cosas extrañas.
Tuve el problema de querer una pantalla extendida en mi nuevo cuadro LXDE, (no un clon dual), encontré el comando correcto, pero no pude hacerlo permanente.
xrandr --output VGA-0 --right-of DVI-0
Todos los métodos anteriores parecían demasiado difíciles / no era la forma correcta de hacerlo.
Finalmente encontré esto: http://www.sudo-juice.com/change-lxde-screen-resolution-ubuntu-lubuntu/
Eso funcionó de maravilla, pero usé gedit en su lugar:
gksu gedit /etc/xdg/lxsession/LXDE/autostart
Luego agregó la línea al final con un símbolo @ al comienzo:
@xrandr --output VGA-0 --right-of DVI-0
Espero que ayude y gracias a sudo-juice.
PD Tenga -
en cuenta el doble en el comando xrandr --
(no apareció muy claramente en mi pantalla).
Cree un nuevo documento y asígnele un nombre, por ejemplo, /home/yourusername/yourscriptname.sh
escriba
#!/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
y guárdelo en su carpeta de inicio (esto establece la resolución en 1600x900)
Abra las Aplicaciones de inicio (o ejecute gnome-session-properties
) y haga clic en "AGREGAR". Dé un nombre y escriba en la línea de comando:
bash /home/yourusername/yourscriptname.sh
Guárdelo y ahora el script se ejecutará cada vez que inicie sesión, por lo que deberá cerrar sesión primero para que surta efecto. Ejecutar el comando (por ejemplo bash /home/yourusername/yourscriptname.sh
) en un terminal también sería una buena idea para verificar si el script funciona.
/usr/bin
no funcionó, pero agregar ese script a mis aplicaciones de inicio gnome-session-properties
fue exitoso.
Basado en las respuestas superiores, hice algunas pruebas y encontré un método útil que me funciona, luego creé un script simple para automatizarlo con mis instalaciones automáticas. Pero funcionará para cualquier otro caso.
Cree un scriptinstallxrandrfixed.sh Agregue estas líneas:
#Variables for lightdm script and xrandr script to setup 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 /etc/lightdm/lightdm.conf.d
#A fix to some old displays in high school at Fray Bentos, fix to 1024x768
#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
creará los scripts y los archivos para la visualización y sesión de lightdm. no olvides darle permiso para ejecutar
chmod + x scriptinstallxrandrfixed.sh
Y ejecutar
./scriptinstallxrandrfixed.sh (debe estar ubicado en el mismo directorio donde tiene el archivo).
si no está en el mismo directorio: /path/to/script/scriptinstallxrandrfixed.sh
Modifícalo según tus necesidades. Saludos cordiales. Pablo