Changer la résolution par défaut de Remote Desktop Connection (mstsc)
Y a-t-il un moyen de changer la résolution par défaut que mstsc utilise ?
Je ne veux pas qu'elle soit par défaut à la pleine résolution de la machine cliente.
Y a-t-il un moyen de changer la résolution par défaut que mstsc utilise ?
Je ne veux pas qu'elle soit par défaut à la pleine résolution de la machine cliente.
Bien sûr, il suffit de faire glisser cette “Configuration d'affichage” d'un cran vers la résolution que vous souhaitez. Ensuite, retournez à l'onglet “Général” et cliquez sur le bouton “Enregistrer”.
Hey presto, new default :-)
Pendant que vous y êtes, il n'y a généralement pas de mal à aller dans l'onglet “Ressources locales” et à décocher “Imprimantes” pour voir ce qui est partagé (sérieusement, qui imprime par-dessus RDP ?).
Je travaille personnellement sur un écran d'ordinateur portable de 1440x900 et j'aime que les fenêtres de mon bureau à distance soient un peu plus petites que l'écran lorsqu'elles sont agrandies. J'utilise donc les interrupteurs mstsc.exe /v : et /w : pour régler sa hauteur et sa largeur (voir mstsc.exe / ? pour une liste complète). mstsc.exe /h:900 /w:1100 le règle à ma taille préférée, et il semble conserver ce réglage pour les sessions futures.
Vous pouvez également modifier directement le fichier .rdp. En général, je l'ouvre simplement dans le bloc-notes. Vous pouvez l'éditer et l'enregistrer comme n'importe quel fichier texte ordinaire. Les propriétés que je modifie le plus souvent sont desktopwidth
, desktopheight
, et winposstr
. Cela vous permet également de choisir n'importe quelle résolution, et pas seulement celles prédéfinies dans le curseur de l'interface graphique. La seule partie qui est un peu déroutante est les paramètres de winposstr
; laissez les deux premiers seuls et les quatre derniers sont respectivement les emplacements gauche, haut, droit et bas de la fenêtre. J'ai une configuration à trois moniteurs avec une résolution de 1600 X 1200, et voici ce que j'utilise pour afficher la session sur mon troisième moniteur sans barres de défilement.
full address:s:Win7VM
prompt for credentials:i:1
screen mode id:i:1
use multimon:i:0
desktopwidth:i:1590
desktopheight:i:1160
session bpp:i:32
winposstr:s:0,3,3200,0,4790,1160
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
drivestoredirect:s:
autoreconnection enabled:i:1
authentication level:i:2
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
Si vous voulez plus de détails sur winposstr
, en coulisses, il utilise la fonction API de Windows SetWindowPos
.
Edit:
J'ai oublié de le mentionner. Un autre avantage de l'édition sous forme de fichier texte est que vous pouvez ouvrir plusieurs documents dans quelque chose comme le bloc-notes++ et effectuer des remplacements en masse. Disons que j'ai dix fichiers .rdp et que je veux modifier winposstr
pour qu'il ait les mêmes valeurs dans chacun d'eux. Je peux simplement les déposer dans notepad++ et effectuer un remplacement en masse, ce qui est beaucoup plus facile que de se perdre dans l'interface graphique et de devoir changer d'onglet pour sauvegarder.
J'aime lancer mstsc.exe à partir d'un script PowerShell. Mes scripts s'appellent “RDP.PS1” parce que RDP est plus facile à taper que mstsc :)
Il y a certaines valeurs que je veux presque toujours les mêmes : pas d'imprimante, pas de lecteur et des paramètres d'affichage BASIC pour que la session RDP s'exécute plus rapidement.
J'ai une combinaison de “default.rdp” et des commutateurs disponibles avec mstsc.exe. J'ai fait cela parce que mstsc.exe ne permet pas une configuration complète à partir de la ligne de commande. En réglant toutes mes préférences dans “default.rdp”, puis en incluant un nom de serveur, /v : et des dimensions d'affichage, /h : et /w :, j'obtiens une session comme je le souhaite.
Créer un “default.rdp” et le sauvegarder comme ce fil de discussion l'a décrit. puis combinez-le avec les commutateurs mstsc.exe :
mstsc.exe MyDefaultPrefs.RDP /v:MyServer /h:815 /w:1300
J'ai utilisé PowerShell pour ajouter quelques autres commutateurs si je veux les utiliser. Mais pour la plupart, je ne tape que :
RDP MyServer
et je laisse les valeurs par défaut.
Le problème du portable 1440x900 est assez courant. Oui, vous pourriez choisir une résolution plus petite, disons 1024x768 ou 800x600, et elles donneraient des résultats acceptables - si ce que vous cherchez est d'éviter les barres de défilement avec l'instance RDP elle-même.
Le plus pratique est de choisir d'utiliser la résolution actuelle de votre bureau, mais dans de nombreux clients, cela donnera des résultats moins que satisfaisants (vous obtenez les barres de défilement), à moins de passer en plein écran.
Pour avoir votre client RDP (puisque nous semblons parler de MSTSC. exe ici) se déroule dans une fenêtre elle-même, tout en évitant les barres de défilement (ou les résolutions susmentionnées qui sont moins qu'optimales), les paramètres /h:900 /w:1100 suggérés ci-dessus sont un excellent point de départ, mais avec tout ce qui est YMMV, alors jouez avec jusqu'à ce que vous l'obteniez just so ;)
De nombreux clients RDP vous permettent également de définir une résolution “personnalisée” juste avant de vous connecter, et oui, la plupart des clients se souviendront de vos dernières sessions.
Une chose importante dont vous devez être conscient. Pour nous tous, les gens d'UNIX, nous allons utiliser des choses comme vcenter, putty, etc., dans nos sessions Windows à distance, et peu importe comment vous voulez appeler vos consoles de type DOS, eh bien… Elles ne suivent pas les mêmes règles que le reste de votre bureau, alors notez bien cela lorsque vous définissez vos résolutions, et réglez vos préférences en fonction de la façon dont le bureau Windows s'intègre dans votre espace de travail, parce que vous allez devoir vous habituer à déplacer ces fenêtres DOS-like, car elles seront toujours un peu encombrantes.
Vous pouvez aussi régler la couleur 24 bits avec un hack, parce qu'elle est désactivée par défaut, bien que la plupart des gens n'en aient pas besoin, et bien que certaines personnes aiment désactiver l'impression, je trouve que l'utilisation d'applications distantes et l'impression locale via RDP n'est pas seulement un rêve, mais fait partie de mes tâches quotidiennes.
donc souvenez-vous, si votre résolution locale est de 1440x900, vous devez soit faire tourner votre client RDP en mode plein écran (qui apparaît comme s'il s'agissait de votre bureau local), soit, pour le faire tourner comme une application à fenêtre évidente, vous devez ajuster votre résolution d'écran custom à quelque chose de légèrement plus petit, ce qui donnera une fenêtre de la taille de votre bureau entier, mais sans apparaître comme si c'était votre bureau local - c'est ce que beaucoup préfèrent, car ils trouvent cela déroutant autrement.
J'espère que cela vous aidera :)
Voici ce que j'ai fait pour résoudre le problème. Il fonctionne également avec les anciennes applications qui ne gèrent pas bien la mise à l'échelle de l'IAP élevée.
Il faut d'abord dire à Windows de chercher un fichier manifeste pour une application par défaut - une entrée de registre.
HKEY_LOCAL_MACHINE
→SOFTWARE
→Microsoft
→Windows
→CurrentVersion
→SideBySide
NEW
→DWORD (32 bit) Value
PreferExternalManifest
, puis appuyez sur Entrée. PreferExternalManifest
, puis cliquez sur Modify
. Value Data
de 1
et sélectionnez Decimal
. Ensuite, il faut fournir un fichier manifeste pour une application donnée - le nom du fichier exécutable suivi de .manifest
.
L'application RDP est %windir%\System32\mstsc.exe
, donc le fichier manifeste est mstsc.exe.manifest
.
Je ne peux pas joindre le fichier manifeste, donc voici le contenu :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC90.CRT"
version="9.0.21022.8"
processorArchitecture="amd64"
publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
J'ai un ordinateur portable que je connecte à différents moniteurs externes à différents endroits, parfois je me connecte à mon ordinateur portable à partir d'une machine de bureau pour bénéficier des avantages d'un clavier/souris/moniteur de taille normale…
Cela me cause du chagrin parce qu'ils ont tous des résolutions différentes et bien que j'aie choisi “Plein écran”, cela ne semble pas me sauver. Si je travaille à la maison à une résolution, puis que je viens au bureau et que j'utilise un moniteur à une résolution différente, il arrive souvent que ma fenêtre RDP finisse par avoir la résolution “plein écran” du dernier moniteur que j'ai utilisé. Cela signifie qu'elle est soit un peu trop grande, soit un peu trop petite.
Pour remédier à cela, j'ai utilisé le bouton “/f” directement dans le lien du menu de démarrage.
J'espère que cela vous aidera.
Voir ce manuel sur les options disponibles dans le fichier .rdp. Par exemple, je voulais qu'une connexion s'ouvre en mode plein écran sur le moniteur qui prolonge l'écran de mon ordinateur portable. 2 paramètres sont responsables de cela :
screen mode id:i:2 // fullscreen mode
winposstr:s:0,<screen number>,<laptop screen width>,0,<laptop screen width + monitor screen width>,<monitor screen height>
La solution que j'ai trouvée la plus utile a été de régler les propriétés de la barre des tâches de mon ordinateur local sur “auto-hide” (clic droit sur la partie vide de la barre des tâches, choix des propriétés, je déverrouille la barre des tâches et je coche la propriété “auto-hide”). La barre des tâches locale apparaît toujours lorsque je passe la souris jusqu'au bas de l'écran. Sinon, je vois et je peux utiliser la barre des tâches du système distant. J'espère que cela vous sera utile.
Vous pouvez également utiliser le Smart Resizing dans le fichier rdp comme indiqué ici .
Cela vous permet d'avoir une taille par défaut personnalisée, mais aussi de redimensionner la fenêtre de votre bureau à distance à la volée sans introduire de barres de défilement indésirables.
En résumé :
desktopwidth:i:1280 and desktopheight:i:1024
(en remplaçant ces chiffres par la résolution souhaitée) smart sizing:i:1