Windows Server 2012 force font smoothing (anti-aliasing) over RDP - windows-server-2012

I am using Guacamole 0.9.7 which uses RDP through a middle server to then project the RDP to a web browser. Works great, but I have users who want font smoothing. Guacamole doesn't yet support font-smoothing over RDP. There are some manual fixes, but they look daunting and no guarantee it will work.
What I am wondering is if there is a way to simply force font smoothing on the Windows 2012 server. I can set font smoothing manually after connecting, but it goes away the next time a user connects. I also would prefer to use RemoteApps as opposed to giving them access to the full desktop, so they wouldn't even have the option to set it manually every time.
I've dug around endlessly in the registry, group policy and searched the web, but I can find nothing that will force font smoothing to stick. Any ideas/suggestions?
A batch file that enables font smoothing that I could put in the startup folder would also be fine. If anyone knows the command lines for that, it would be much appreciated.

As of Guacamole 0.9.8, you can enable font smoothing using the enable-font-smoothing parameter: http://guac-dev.org/doc/gug/configuring-guacamole.html#rdp-perf-flags
From the documentation linked above:
If set to "true", text will be rendered with smooth edges. Text over RDP is rendered with rough edges by default, as this reduces the number of colors used by text, and thus reduces the bandwidth required for the connection.
The corresponding issue in JIRA was GUAC-835 ("Support RDP performance flags").

Enable/disable ClearType in Windows7
Found that buried in the internets. It worked for me on a Windows 10 test machine through guacamole. Make it a logon script or something. powershell "& 'C:\myscript.ps1' 1" Found that command in the comments, should let you make it into a batch file if needed. If you've figured out how to get clipboard sharing and sound and other integrated stuff, please share.

I figured out how to enable font smoothing in Windows Remote Desktop Protocol (RDP) for Windows Server 2012 when a user logs in and/or when they reconnect to a remote session.
Download and install a program called ClearTypeSwitch.
Control Panel -> Administrative Tools -> Task Scheduler
Select "Create Task..."
General tab, name it and check "Run with highest privileges" and "Hidden"
Create two triggers "On connection to user session" and "At log on"
Actions "C:\Program Files (x86)\ClearType Switch\ClearTypeSwitch.exe" s+ c+"
Click "Ok"

Related

Capture invisible (i.e.locked) virtual desktop

For test automation I'd like to capture a virtual desktop which is not visible. It is not even accessible, as a secure desktop is shown.
I know it is possible to hook into the composite manager ("dwm") to capture each and every window on that desktop. And I kmow it is possible to send events to windows on that desktop. (I know that because otherwise the test tools wouldn't work)
Before I start to re-implement the composite manager: Is it possible to get the DesktopWindow from dwm, and if so how Do I force dwm to do its job even if a secure desktop is shown?
If I have to bite the bullet and need to implemrnt compositing myself, what is the fastest way to order all windows bottom to tom and to render them to some image?
Does the win10 capture api work for invisible desktops?
To answer the last question: No, the new win10 capture API doesnt't help. For example the program
https://github.com/robmikh/SimpleRecorder/tree/master/SimpleRecorder
cannot capture a locked desktop nor can it capture sub windows.
The above is the elaborate version of:
GDI32Util.getScreenshot(handle)
with handle being the desktop window (doent work when locked) or some other window handle (works when locked, but misses the subwindows).
So the only option is to traverse all windows in z order from bottom to top.

Script solution for tabs in bash wanted

i'm in search for a solution for the following situation:
I am working for a customer who only allows accessing the linux servers
by putty (from a Windows Terminal Server).
Unfortunately i need multiple Session to work properly and effective.
Tmux and Screen are not a good option for me, because i need a visual
"tab" to keep track of all the stuff im doing.
Is this even possible or am i lost here?
Best regards.
MremoteNG does tabs and uses Putty (Putty comes with it). If you have RDP or console access to Windows server, you can upload MremoteNG portable.
Perfectly possible in screen: How to open tabs windows in GNU screen – DevSolar
Perfectly solved my problem! Thanks DevSolar!
If you're using PuTTY, you can simply open two sessions at once. Open your first session, then right-click on the PuTTY icon in your taskbar, click "PuTTY" from the context menu, and it'll open a new instance of the program. Unfortunately, this won't result in a second tab, but instead it will result in a second window and you can swap back and forth between windows.
Other SSH clients do have actual tabs as a feature - one example is MobaXTerm, which is free and doesn't require admin privileges to use on your computer, and which is indeed tabbed. It can also import your existing PuTTY configurations, so setting it up is pretty quick.
You can get this application that allows you to have mulptiple tabs in putty. you dont need to "install" it so your lack of permissions wont be an issue :
http://ttyplus.com/multi-tabbed-putty/
Regarding your auth issue, I would recommend read this :
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
Note - Dont worry about being lost, everybody learns at different speeds.
Regards!

Application launch in blue prism

I am trying to launch an windows application. I have given executable path. Whenever I click on launch, it’s not changing to Identify. It’s coming back to Launch. So what could be the issue?
When the application is successfully launched, but the button does not change from "Launch" to "Detach", it's usually an issue with how you've targeted your window's title.
Usually, appending wildcards to the ends of the window's title will assist in matching correctly. Additionally, ensure that the "Windows process name" field is completed correctly.
This is common for windows applications that are trigger points like RDP, MMC. You would have to have an attach after the launch to gain the connection for identify to become enabled.

multi monitor public information display (4 monitor / each with one chrome/firefox window)

I've 4 monitors connected to a pc running CentOS 7. Each physical monitor/display should show a website in full screen and auto refresh it every x seconds.
I've tried:
opening from bash and moving with xdotool -> how can I distinguish between the 4 chrome or firefox windows? If I don't do it and apply to the last active this might become unreliable with other programs open.
researched devilspie, seems it has the same problem (can't distinguish between multiple chrome/firefox windows)
using DISPLAY variable -> does only find one display 0.0
https://addons.mozilla.org/de/firefox/addon/monitor-master/ -> does not work with extended workspace, contacted developer
I've only a xrandr bash script to rearrange the displays when they become connected (three of four may be switched off to save power).
I would use a firefox/chrome add on for the auto refresh functionality.
Maybe someone can give me a hint how to reliably do this?
In addition to the "easy auto refresh" chrome plugin. I have another idea for you, why not use a chrome extension for handling the positioning.
It is of course, only for chrome(maybe thats fine for you).
Background: We had related difficulties. Internal webapp that opens multiple documents in windows, and need to be placed in other monitors.
The javascript does not support this, for security reasons and only a native extension can properly work with the tabs/windows objects.
Therefore, we have created an open source chrome extension for doing exactly that: flexible windows position across multi-monitor setups.
In your case you can define for each monitor a website-rule that the window would appear there.
The chrome extension is called "MultiWindow Positioner" and its complete free. You can get it at the chrome store here
The actual source code you find in github in the project chrome-multiwindow-positioner
Disclaimer: I am the maintainer of the open source (MIT) github project. If there any interesting idea, or comments feel free to share them here.

Linux Window Manager Forces Window Size/Location

We're using Red Hat Linux 6.4, and our application is built using Qt. The application has multiple windows and we support a layout system where our users can save the application layout and restore it later. The application is cross-platform, and on Windows, everything is fine. On Linux, we're having problems restoring windows when a window spans multiple monitors. Our configuration uses a single virtual X display spanning all monitors, and the users can manually position and size windows across the monitors as desired.
What we've found is that the window manager is enforcing a policy on windows that are programmatically set and forcing them not to span across divide between two monitors. When we attempt to restore a saved layout containing a window that spanned monitors, the window manager reduces its size and repositions at as it sees fit. Basically, as long as the user makes the change by dragging and resizing the window, the window manager respects it, but an application that programmatically sets it gets overridden. I'm sure someone somewhere thought this was a reasonable restriction, but our customers disagree.
A developer here has spent days searching and experimented trying to find a way to work around this behavior programmatically, or better yet, tell the window manager to stop doing that. We're using the GNOME desktop and Qt 4.8.x.
Any ideas?
Thank you,
Doug McGrath

Resources