La taille de la police change après l'exécution de xrandr --off

8

J'ai un ordinateur portable avec un moniteur externe et bascule entre les deux écrans en utilisant xrandr --autoet xrandr --off. Parfois, lorsque je change d'écran, la taille de la police dans les programmes est soudainement étrangement grande. Cela n'affecte pas les programmes qui ont été lancés auparavant. J'utilise Lubuntu 16.04.

J'ai pu reproduire l'erreur en utilisant cette chaîne de commandes plusieurs fois:

xrandr --output eDP1 --off && sleep 1 && xrandr --output eDP1 --auto

Le moniteur externe n'a rien à voir avec cela, il suffit de désactiver l'écran de l'ordinateur portable (eDP1) et de le réactiver suffit pour obtenir ces problèmes de taille de police étranges.

Modifier : Ce qui a été modifié par xrandr --offest DPI de l'écran , voir ici:

$ xdpyinfo | grep dots
  resolution:    96x96 dots per inch                                                                                                                                              
$ xrandr --output eDP1 --off && sleep 1 && xrandr --output eDP1 --auto 
$ xdpyinfo | grep dots
  resolution:    204x205 dots per inch

Exemples

Pour l'échelle: les boutons sont de taille normale. Fenêtre VLC normale en arrière-plan, modifiée en premier plan.

vlc

GnuCash

Ce que j'ai essayé jusqu'à présent

J'ai essayé de jouer avec les paramètres de police de Lubuntu (intacts) et je peux réinitialiser les polices à la normale (qui devrait être 11) en choisissant la taille de police 6, mais les polices dans les applications déjà ouvertes (panneau, etc.) changent ensuite pour ce qui est vraiment la taille 6 La seule façon de remettre les choses à la normale est de se déconnecter puis de se reconnecter ou systemctl restart lightdm.service.

J'ai découvert une solution de contournement possible : au moins jusqu'à aujourd'hui, le problème n'est pas revenu car je cherche à avoir au moins un moniteur activé à tout moment. Donc, pour passer du moniteur eDP1 au DP2, je le fais

xrandr --output DP2 --auto && xrandr --output eDP1 --off

Cela fonctionne pour l'instant, mais bien sûr, ne résout pas le problème.

Comment puis-je réinitialiser la taille de la police lorsque cela se produit?

Sorties de commande de terminal

  • xrandr, moniteur externe (DP2) connecté et activé, écran d'ordinateur portable (eDP1) éteint
dessert
la source
vérifiez le fichier ~ / .xsession-errors, il peut avoir quelques indices sur les raisons. (Ce fichier contient stderr de toutes les applications X).
George Shuklin,
Vous faites quelque chose d'étrange. Mon .xsession-errorsfichier fait environ 4k lignes et grandit.
George Shuklin
@dessert, malheureusement, sans aucune sortie de logiciel, c'est vraiment difficile à deviner. Le problème n'est pas dans xradr, il faut donc voir tous les messages d'erreur dans la session pour deviner une source de problèmes. Essayez de trouver une autre fonction de journalisation liée à l'utilisateur. Peut-être journalctl --user? Ou quelque chose ne va pas avec la sortie d'erreur .xsession. Essayez de toucher et de redémarrer. (liste de fin de supposition).
George Shuklin du

Réponses:

2

Vous pouvez modifier la taille des polices pour les futures fenêtres ouvertes en ouvrant le terminal et en utilisant:

xrandr --dpi 96

Pour les moniteurs de résolution supérieure (1920 x 1080), essayez d'utiliser:

xrandr --dpi 144

J'utilise ceci sur des programmes qui n'implémentent pas eux-mêmes la mise à l'échelle HiDPI. Bien qu'il puisse ne pas expliquer votre problème, il peut le résoudre. Ou peut-être pas ... YMMV.

WinEunuuchs2Unix
la source
Félicitations, cette solution simple a totalement résolu le problème! J'ai reproduit l'erreur, j'ai couru xrandr --dpi 96et la taille de la police a été réinitialisée à la normale pour les nouvelles fenêtres ouvertes.
dessert du
xdpyinfo | grep dotsrend xrandrvisible la modification DPI émise par .
dessert
@dessert Oui, je savais en quelque sorte à la sdpyinfo | grep dotsfin de l'année dernière, mais j'ai oublié comment le trouver à inclure dans ma réponse. Merci pour vos deux commentaires :)
WinEunuuchs2Unix