web-dev-qa-db-fra.com

Ajouter un faux affichage quand aucun moniteur n'est branché

J'ai un serveur Ubuntu 14.04 qui n'a pas de moniteur externe connecté. J'utilise NoMachine pour contrôler à distance la machine. Lorsque je le fais, l'interface Unity/Gnome ne voit aucun moniteur connecté, je ne peux donc utiliser que 800x600 lors d'une connexion avec NoMachine. Si je connecte un moniteur, je peux régler la résolution à la taille de la fenêtre NoMachine sur l'ordinateur distant.

Existe-t-il un moyen de créer un "faux" périphérique moniteur sur Ubuntu afin que je puisse définir une résolution de bureau sur Unity/Gnome?

45
John Chapman

J'ai trouvé un moyen de le faire sans avoir besoin d'un plug factice: http://blog.mediafederation.com/andy-hawkins/ubuntu-headless-vnc-vesa-800x600-fix/

Fondamentalement, installez un pilote factice:

Sudo apt-get install xserver-xorg-video-dummy

Puis écrivez-le dans le fichier /usr/share/X11/xorg.conf.d/xorg.conf (créez-en un, s'il n'existe pas):

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

Puis redémarrez l'ordinateur.

48
John Chapman

Spécifiez la résolution sur un bureau Ubuntu 14.04 sans qu'un moniteur ne soit connecté:

À partir de la page de manuel xrandr:

--fb widthxheight
   Reconfigures the screen to the specified size. All configured 
   monitors must fit within this size. When this option is not 
   provided, xrandr computes the smallest screen size that will 
   hold the set of configured outputs; this option provides a 
   way to override that behaviour.

Par conséquent, utilisez la commande après la connexion:

xrandr --fb 1280x1024
19
Eric Leschinski

Ceci est une solution matérielle/solution de contournement qui peut fonctionner pour certains matériels/pilotes graphiques.

  • Soit vous achetez une fiche factice VGA (ou analogique DVI), soit certains appellent cela une clé factice.

  • Ou utilisez simplement 3 résistances d’environ 75 Ohm à la sortie VGA: 1 → 6, 2 → 7, 3 → 8.

    +/- 10 Ohm peut fonctionner sans problème. Certaines cartes fonctionnent avec une seule résistance. (Comme mon Intel, 2 → 7 ou 3 → 8, sera détecté en tant que moniteur)

Référence: Comment créer des plugs factices pour vos cartes graphiques .

8
user.dz

Je suis sur Ubuntu 18.04, voici comment je l'ai résolu:

J'ai créé l'affichage virtuel en utilisant la réponse à cette question: https://unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg

Créez un fichier 20-intel.conf:

Sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf

Ajoutez les informations de configuration suivantes dans le fichier:

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

Cela indique au processeur graphique Intel de créer 2 écrans virtuels. Vous pouvez modifier le nombre de VirtualHeads en fonction de vos besoins.

Ensuite, j'ai créé un script Shell (n'oubliez pas de définir l'exécutable) et je l'ai mis dans les applications de démarrage:

#! /bin/bash

/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
/usr/bin/xrandr

De cette façon, VIRTUAL1 est défini comme sortie et connecté. Au démarrage, un nouveau mode (trouvé avec "cvt 1600 900") est en cours de création et nommé dans VIRTUAL1.

Le seul problème avec ceci est: le dock est manquant au redémarrage ... Je ne l'ai pas encore résolu.

2
Stefan Lemmens

Considérez Xvfb qui est probablement le moins susceptible de gâcher l'affichage lorsque vous branchez un moniteur réel

1
Rufus