web-dev-qa-db-fra.com

Haut écran DPi xrandr sur Ubuntu 18.04 LTS

Je viens d'installer Ubuntu 18.04 LTS en dual boot avec Windows 10 sur mon Thinkpad X1 Yoga 2ème génération, doté d'un écran à haute résolution (2560x1440). Étant donné que les paramètres de l'interface graphique ne permettent pas une mise à l'échelle fractionnelle (et 100% est trop petit alors que 200% est trop grand ), j'ai suivi les intructions dans this page.

Cependant, en exécutant la commande suivante à partir du terminal

xrandr --output eDP-1 --scale 1.3x1.3 --panning 2560x1440

J'obtiens un joli mauvais résultat où le bureau est redimensionné et j'obtiens des bordures noires. De plus, je peux faire glisser des fenêtres dans les bordures noires mais elles laissent une trace beheind (picture here ).

Je pense que c’est peut-être un conflit entre xrandr et l’environnement de bureau Gnome, mais ce n’est qu’une hypothèse. Des suggestions sur la façon de résoudre ce bug?

2
Alessandro Piazza

J'ai eu ce problème aussi. Quelque chose qui a fonctionné pour moi est d'exécuter les deux parties de la commande séparément:

xrandr --output eDP-1 --scale 1.25x1.25
xrandr --output eDP-1 --panning 2560x1440

Je ne reçois alors pas les frontières noires. Cela ne fonctionnait pas dans un script de démarrage, cependant - je dois l'exécuter à chaque fois que je me connecte.

Après que je suspende et reprenne, cependant, les frontières noires apparaissent à nouveau. Si quelqu'un a des conseils pour contourner cela, ce serait apprécié.

3
Olof

Cela répond à la fois à la question du PO et à celle de l'autre réponse.

Créez un script en utilisant:

Sudo -H gedit /lib/systemd/system-sleep/scale

Copiez ces lignes dans gedit:

#!/bin/bash

# NAME: scale
# PATH: /lib/systemd/system-sleep
# DESC: Reset Ethernet card after suspend, not working automatically
# DATE: Dec 8, 2018


MYNAME=$0

set_scale() {
   xrandr --output eDP-1 --scale 1.3x1.3
   xrandr --output eDP-1 --panning 2560x1440
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
   hibernate|suspend|pre*)
      ;;
   resume|thaw|post*)
      # sleep 2;
      set_scale;;
esac

Enregistrez le script et quittez gedit.

Marquez le script exécutable en utilisant:

chmod a+x /lib/systemd/system-sleep/scale

Le script s'exécutera chaque fois que vous reprendrez la suspension.

Vous pouvez également le faire fonctionner dans votre applications de démarrage en ajoutant une entrée contenant la commande:

/lib/systemd/system-sleep/scale post suspend

Les applications de démarrage sont exécutées après que vous vous êtes connecté .

2
WinEunuuchs2Unix