After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 628006 - Default resolution for RDP connections is poor
Default resolution for RDP connections is poor
Status: RESOLVED FIXED
Product: vinagre
Classification: Applications
Component: RDP
2.31.x
Other Linux
: Normal normal
: ---
Assigned To: vinagre-maint
vinagre-maint
: 673050 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-08-26 07:22 UTC by Dominique Leuenberger
Modified: 2013-10-28 19:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
allow to customize desktop size for RDP protocol (14.07 KB, patch)
2013-05-07 15:52 UTC, Marek Kašík
needs-work Details | Review
screenshot of the size setting (274.08 KB, image/png)
2013-05-07 15:55 UTC, Marek Kašík
  Details
allow to customize desktop size for RDP protocol (13.92 KB, patch)
2013-05-14 15:16 UTC, Marek Kašík
committed Details | Review
Use size of tab as desktop size for RDP protocol (14.49 KB, patch)
2013-10-28 19:12 UTC, Christian Bühler
none Details | Review

Description Dominique Leuenberger 2010-08-26 07:22:07 UTC
First, congrats! I really like the RDP feature integrated into vinagre and I'm surely going to use it a lot.

My current 'issue' though is that, either I get it sized at 640x480 (rather 'low res' nowadays or I can choose fullscreen, which is also not exactly what I'm looking for.

I think the best 'way' would be to 'detect' how big the are is we can fit (like for ssh for example: it's just all being used) and then fit rdp session in it, or alternatively, offer the option in rdp connection dialog to specify a resolution to use (which is probably rather simple to implement by looking at the code, as you use rdesktop in the background for the connection.
Comment 1 Carl van Tonder 2010-11-17 14:05:16 UTC
Dual monitors, vinagre 2.31.4

More information: clicking "View -> Fullscreen" having not ticked the "fullscreen" box when connecting results in a 640x480 display in the top-left of the screen, with the rest of the screen flat white.

Connecting with the "fullscreen" box ticked leads to a huge window (the size of both monitors) on the right monitor only, that doesn't occupy the top 24px of the screen (leaving space for a non-existent gnome panel).

In short, there is no usable way to get more than 640x480.
Comment 2 Dan Yasny 2011-12-28 11:19:34 UTC
vinagre for RDP is totally unusable without the possibility to change resolution. For now I ended up using xfreerdp -g AAAxYYY manually. Can't wait for this to be fixed
Comment 3 David King 2012-03-31 08:50:59 UTC
*** Bug 673050 has been marked as a duplicate of this bug. ***
Comment 4 Roman Šidleja 2012-04-06 08:08:04 UTC
(In reply to comment #2)

I have exactly the same experience, vinagre is unusable as RDP client because
default resolution is only 640x480 :(
Comment 5 Jon Dowland 2012-11-06 10:30:54 UTC
Hi David, what are the developer's views on this? Do you feel that a) this is not a problem b) vinagre should support user-customization of the RDP size c) vinagre should attempt to guess or negotiate a variable size.

Having an idea of your opinions on the issue would help drive-by-patchers…

Thanks
Comment 6 David King 2012-11-06 10:50:38 UTC
(In reply to comment #5)
> Hi David, what are the developer's views on this? Do you feel that a) this is
> not a problem b) vinagre should support user-customization of the RDP size c)
> vinagre should attempt to guess or negotiate a variable size.

I think that option C is preferable, but I would accept a patch for option B.
Comment 7 Anthony Horton 2013-02-14 03:10:17 UTC
2.5 years after the initial bug report and the situation (with vinagre 3.6.2) is still the same. RDP is essentially unusable because Vinagre uses a fixed resolution of only 640x480.

A relatively simple fix that would provide a reasonable user experience would be to have Vinagre simple check the current dimensions of the canvas in its main window when the user clicks 'connect' and pass those dimensions on to the underlying rdesktop command through the -g command line option.

With this in place the user can control the resolution of an RDP session by simply resizing the main Vinagre window to their taste prior to establishing the connection to the remote server.  This still wouldn't be an entirely ideal situation but it would be vastly preferable to the current behaviour.
Comment 8 awilliam 2013-02-15 14:46:49 UTC
FYI, I posted a bounty for this one.

http://www.freedomsponsors.org/core/offer/189/default-resolution-for-rdp-connections-is-poor
Comment 9 awilliam 2013-03-30 05:03:38 UTC
It looks like plugins/rdp/vinagre-rdp-tab.c really just builds a command line for the rdesktop command... the only supported screen size option if fullscreen (-f) so the 640x480 default comes not from vinagre but from rdesktop itself.
The rdesktop tool allows itself to be embedded in another X window (-X windowid) so it appears seamlessly integrated.
Comment 10 Marek Kašík 2013-05-07 15:52:17 UTC
Created attachment 243503 [details] [review]
allow to customize desktop size for RDP protocol

Hi,

attached patch adds spin buttons for specifying of width and height of remote desktop to vinagre together with corresponding properties of VinagreConnection. It passes the width and height to rdesktop through "-g" option.
I used 800x600 as default size.

Regards

Marek
Comment 11 Marek Kašík 2013-05-07 15:55:14 UTC
Created attachment 243504 [details]
screenshot of the size setting
Comment 12 awilliam 2013-05-07 19:03:56 UTC
AWESOME work Marek!
Comment 13 David King 2013-05-08 08:56:26 UTC
Review of attachment 243503 [details] [review]:

::: plugins/rdp/vinagre-rdp-connection.c
@@ +87,3 @@
+  vinagre_cache_prefs_set_integer  ("rdp-connection", "width", width);
+
+  g_object_set (conn, "width", width, NULL);

Rather than calling g_object set (twice), use the property setters that you added.

::: plugins/rdp/vinagre-rdp-plugin.c
@@ +135,3 @@
+  spin_button = gtk_spin_button_new_with_range (1, MAX_SIZE, 1);
+  /* Translators: This is the tooltip for the width field in a RDP connection */
+  gtk_widget_set_tooltip_text (spin_button, _("Set width of the remote desktop."));

No trailing full stop (period) on tooltips.

@@ +151,3 @@
+  spin_button = gtk_spin_button_new_with_range (1, MAX_SIZE, 1);
+  /* Translators: This is the tooltip for the height field in a RDP connection */
+  gtk_widget_set_tooltip_text (spin_button, _("Set height of the remote desktop."));

No trailing full stop.

::: vinagre/vinagre-connection.c
@@ +44,3 @@
   gboolean fullscreen;
+  gint   width;
+  gint   height;

These are always greater than zero (at least in the RDP case) so should be guint.

@@ +384,3 @@
+                                   g_param_spec_int ("width",
+                                                     "width",
+	                                              "width of screen",

Looks like tabs and spaces are being mixed here.

@@ +385,3 @@
+                                                     "width",
+	                                              "width of screen",
+                                                      1,

There should be a "#define MIN_SIZE 1" at the top of this file, which should be used here.

@@ +392,3 @@
+                                                      G_PARAM_STATIC_NICK |
+                                                      G_PARAM_STATIC_NAME |
+                                                      G_PARAM_STATIC_BLURB));

Replace all the G_PARAM_STATIC_ with G_PARAM_STATIC_STRINGS.

@@ +398,3 @@
+                                   g_param_spec_int ("height",
+                                                     "height",
+	                                              "height of screen",

Tabs and spaces mixed here.

@@ +399,3 @@
+                                                     "height",
+	                                              "height of screen",
+                                                      1,

MIN_SIZE comment, as above.

@@ +406,3 @@
+                                                      G_PARAM_STATIC_NICK |
+                                                      G_PARAM_STATIC_NAME |
+                                                      G_PARAM_STATIC_BLURB));

G_PARAM_STATIC_STRINGS comment, as above.
Comment 14 Marek Kašík 2013-05-14 15:16:38 UTC
Created attachment 244192 [details] [review]
allow to customize desktop size for RDP protocol

This is modified version of the previous patch fixing all the issues from the previous comment.
Comment 15 David King 2013-05-14 15:37:15 UTC
Review of attachment 244192 [details] [review]:

Looks good, please push to master
Comment 16 Marek Kašík 2013-05-14 15:57:51 UTC
Comment on attachment 244192 [details] [review]
allow to customize desktop size for RDP protocol

Thank you for the review. I've committed the patch to the master.

Marek
Comment 17 Christian Bühler 2013-10-28 19:12:14 UTC
Created attachment 258335 [details] [review]
Use size of tab as desktop size for RDP protocol

This patch reverts the change made by Marek and uses the size of the tab instead of a configured size.
What do you think about this solution?