Comment réinitialiser les paramètres du moniteur par défaut via le terminal?

30

J'ai un problème délicat concernant plusieurs moniteurs sur KDE (Kubuntu). J'ai un ordinateur portable qui, chez moi, est connecté à deux moniteurs - VGA et HDMI. Cela ne fonctionne que lorsque l'affichage de l'ordinateur portable intégré est désactivé (au moins on m'a dit cela).

Le problème est que maintenant, j'ai pris l'ordinateur portable et l'ai démarré sans aucun moniteur externe connecté. Le système se souvient que l'affichage intégré était désactivé, donc il le désactive même s'il est le seul moniteur connecté. De toute évidence, cela rend l'ordinateur portable pratiquement inutilisable. Passer à un terminal via Ctrl + Alt + F # fonctionne, je peux me connecter; même le client travaille normalement.

La question est de savoir comment (re) définir les paramètres de surveillance d’un compte via des terminaux, car je ne peux pas utiliser cette interface graphique.

Merci

    
posée Martin Melka 25.02.2013 - 16:27
la source

5 réponses

9

Bonne question. Un peu difficile à répondre, mais voici un essai.

Réponse de base

Il existe en fait une petite possibilité de réinitialisation incluse dans X11 . Vous pouvez le trouver à /etc/X11/Xreset . Vous pouvez utiliser le répertoire Xreset ( Xreset.d ) pour coller un script qui s'exécute automatiquement lorsqu'un utilisateur se déconnecte. Le fichier README:

# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

Vous pouvez ainsi a) ajouter un script de réinitialisation dans /etc/X11/Xreset.d et b) créer un script attaché à un lanceur qui définit vos deux affichages externes. En tant que tel, vous vous déconnectez et tout redevient normal, vous vous connectez à votre ordinateur portable, lancez le lanceur pour les écrans et profitez de la vie.

Plus d'informations

  1. Vous pourriez vouloir regarder sudo dpkg-reconfigure -phigh xserver-xorg pour réinitialiser le xserver ou (probablement mieux regarder le réponse Mik proposé dans les commentaires).

  2. Un gars de SuSE a écrit un bel article sur X.

  3. Dans une rapport de bug résolu, quelqu'un déclare:

      

    les administrateurs peuvent supprimer des scripts dans /etc/X11/Xreset.d/ pour qu’ils soient exécutés après la déconnexion de l’utilisateur.

  4. Voici le contenu du fichier:

Vous pouvez le trouver sur votre propre système.

#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d

if [ ! -d "$SYSSESSIONDIR" ]; then
  # Nothing to do, exiting
  exit 0
fi

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi 

exit 0

# vim:set ai et sts=2 sw=2 tw=80:
    
réponse donnée don.joey 04.03.2013 - 09:29
la source
16

Chaque fois que je mets mon ordinateur portable Lubuntu en veille lorsqu'il est exclusivement affiché sur mon téléviseur et le réveille après l'avoir débranché, je me retrouve avec un écran noir car la mauvaise résolution est attribuée. Donc, même problème, je dois définir la résolution à partir du terminal virtuel TTY1 que je peux atteindre avec Ctrl-alt-F1, mais xrandr ne semble pas fonctionner. J'ai parcouru les pages de résultats de recherche Google avant de trouver la solution, alors j'ai pensé partager.

L'essentiel est que xrandr ne fonctionne apparemment que sur l'écran actuellement focalisé. Donc, vous devez enchaîner une commande de veille avant votre commande xrandr pour vous donner le temps de revenir au serveur X avec Ctlr-alt-F7 pour que la commande soit exécutée à cet endroit. Sinon, vous obtenez une erreur comme xrandr: Configure crtc 0 failed .

  1. Ouvrez le terminal virtuel avec Ctrl-alt-F1 et connectez-vous

Pour obtenir le nom des écrans connectés (et en supposant que votre serveur X s'exécute sur :0 ):

  1. $xrandr -d :0

Pour modifier les paramètres d'affichage:

  1. $sleep 5; xrandr --output LVDS1 --auto -d :0

Remplacez LVDS1 par la sortie que vous voulez modifier et --auto par les paramètres xrandr que vous voulez utiliser.

  1. Basculez sur le serveur X avec Ctrl-alt-F7 avant que le délai de veille défini dans la commande ci-dessus ne soit écoulé.

Il doit y avoir une meilleure façon de le faire. Mais ça marche.

Source originale de la solution: lien

Découvrez ceci commenter pour une amélioration possible de ma solution (non testée moi-même).

    
réponse donnée Gabriel Morin 25.02.2016 - 02:40
la source
13

La commande xrandr -s 0 devrait réinitialiser vos affichages dans le terminal. Vous en trouverez plus sur le site suivant ou sur man xrandr in terminal.

lien

    
réponse donnée Miguel 06.12.2014 - 21:06
la source
3

avez-vous essayé (sth comme)

DISPLAY=:0 xrandr --output LVDS1 --auto

d'un autre tty (par exemple, tty1),

auquel vous pouvez accéder via Ctrl Alt F1 et revenir à (le graphique standard) tty7 avec Ctrl Alt F7 ?

    
réponse donnée nutty about natty 02.03.2013 - 21:00
la source
2

Une chose que je n'ai pas encore mentionnée, mais qui pourrait être critique: si vous utilisiez un ordinateur portable Thinkpad , la solution serait simple: Fn + F7 . Si vous utilisez un ordinateur portable de fabricant différent, il y aura très probablement une autre clé de type Fn qui fera défiler les sorties d'affichage / écran (par exemple, beamer, moniteur externe, affichage interne, miroir, on / off, et similaires) au niveau du BIOS (je suppose - Modifier : voir Comment fonctionnent les touches Fn? pour plus de détails à ce sujet.

Il n'y aurait donc pas lieu de réinitialiser quoi que ce soit dans Linux, pour ainsi dire.

    
réponse donnée nutty about natty 02.03.2013 - 20:52
la source

Lire d'autres questions sur les étiquettes