Saltar al contenido

¿Aplicar la configuración de pantalla a todas las cuentas de usuario?

Este equipo de expertos pasados algunos días de trabajo y de juntar de información, obtuvieron los datos necesarios, queremos que te sea de utilidad en tu trabajo.

Solución:

Dependiendo de la forma en que haya configurado su sistema, puede ser tan fácil como copiar el monitors.xml Archivo del usuario configurado correctamente a todos los usuarios:

Para probar esto para un usuario:

cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /home/TestUser/.config/

luego cierre sesión TestUser si ya ha iniciado sesión, vuelva a iniciar sesión y compruebe si todo está correcto.

El comando para todos los usuarios:

cp /home/CorrectUser/.config/monitors.xml /tmp/
for szUser in /home/* ; do sudo cp --preserve=timestamps /tmp/monitors.xml $szUser/.config/ ; done

El comando para la pantalla de inicio de sesión:

sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /var/lib/lightdm/.config/

El comando para todos los usuarios futuros¹:

sudo mdkdir -p /etc/skel/.config
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /etc/skel/.config/

Nota¹: Todos los usuarios que creará en el futuro

Para establecer la configuración de su pantalla para cada usuario que inicie sesión (esto no cambiará la configuración en la pantalla de inicio de sesión), puede crear un .desktop presentar en /etc/xdg/autostart

Como hacer eso

  1. averigüe el nombre de la pantalla que le gustaría rotar ejecutando xrandr. Producirá una serie de líneas, entre las que se verán algunas líneas como:

    VGA-0 connected
    

    Esto le brinda información sobre los nombres de las pantallas conectadas.

  2. Elija el que desea rotar, en mi ejemplo a continuación VGA-0
  3. Crea un lanzador con (p. Ej.) gedit:

    sudo -i gedit /etc/xdg/autostart/set_screens.desktop
    

    Pegue el texto a continuación en el archivo:

    [Desktop Entry]
    Name=set_screens
    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    Type=Application
    

    reemplazar en la línea:

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    El string: VGA-0 por el nombre de su pantalla (rotada).

Notas importantes

  • En la linea

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    Incluí un sleep 10. Eso es porque a veces, xrandr los comandos se interrumpen si se ejecutan demasiado pronto, antes de que el escritorio “termine” de cargarse. Posiblemente necesite aumentar la rotura, o podría intentar omitirla. En el comando, tal como está, la pantalla gira después de 10 segundos después de iniciar sesión en ningún usuario.

  • El comando:

    xrandr --output VGA-0 --rotate left
    

    gira la pantalla hacia la izquierda, no es necesario decir que si desea otro tipo de rotación, puede elegir entre left, right, normal, inverted (ver también aquí).

Explicación

Puede ejecutar comandos en el inicio (en realidad, iniciar sesión) colocando un .desktop archivo (lanzador) en ~/.config/autostart. Esto solo ejecutará el lanzador para un único usuario. Si hace lo mismo, pero coloque el lanzador en /etc/xdg/autostart, el comando se ejecuta siempre que ningún el usuario inicia sesión, a menos que un usuario específico desactive el lanzador en Dash> Aplicaciones de inicio

Adicionalmente, simplemente puede copiar su ~/.config/monitors.xml archivo a /var/lib/lightdm/monitors.xml para que la configuración también funcione en la pantalla de inicio de sesión.

Imo la combinación de esto y la solución anterior (un lanzador en /etc/xdg) es la solución más sencilla para lograr exactamente lo que desea tanto para la pantalla de inicio de sesión como para (cualquier) usuario. Además, la solución de un lanzador en /etc/xdg se revierte o cambia (muy) fácilmente en caso de que necesite hacer otra configuración, sin editar muchos archivos en el nivel de (cada) usuario, ya que tanto la configuración del usuario como la pantalla de inicio de sesión se administran para todos los usuarios a la vez en dos archivos simples .

Solo quería agregar un comentario para cualquiera que encuentre esto luchando con un problema similar. Me quedé atascado con la resolución de mi antiguo monitor (1280×1024) cada vez que inicio sesión, pero la pantalla de inicio de sesión y el inicio de sesión del usuario invitado utilizan el 1680×1050 predeterminado correcto.

He leído muchas publicaciones durante los últimos cuatro meses buscando una respuesta, leyendo sobre xorg.conf, monitores.xml, lightdm y xrandr y otras sugerencias, pero algunos cambios de configuración son complicados y conllevan el riesgo de romper la pantalla por completo, por lo que terminé usando la interfaz gráfica de usuario para cambiar la configuración del monitor manualmente cada inicio de sesión.

Hoy hice un grep para la resolución anterior en mi carpeta .config.

grep -HrnIF '1280' .config | less

El primer resultado fue ~ / .config / autostart / xrandr.desktop archivo que contiene esto,

Exec=xrandr -s 1280x1024 -r 75

así que saqué el archivo de allí. Y bingo, me conecto y obtengo la resolución predeterminada de 1680×1050.

Me tomó algunas horas de búsqueda y no pude encontrar una respuesta lo suficientemente cercana, así que publique aquí en caso de que sea útil para alguien.

valoraciones y comentarios

Si estás de acuerdo, tienes la opción de dejar una crónica acerca de qué te ha parecido este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *