My Lenovo W520 laptop is running the
Windows 8 consumer preview. When at home, I don't use my laptop
as my primary workstation -- I have my 6 core 4.2ghz, 2x30" beast
for the majority of my work. However, I do often need to do some
things on my laptop, especially given that it is currently the only
Windows 8 machine in my office.
The way I work on the laptop is to remote into it from my main
desktop. Many others will presumably do the same, since you can
only code for Windows 8 Metro on Windows 8 Metro, and many of us
are not yet ready to convert our main machines to the beta. This
post includes some tips I've learned to use when working with
Windows 8 over Remote Desktop.
IMPORTANT: For the Consumer
Preview/Beta, I highly recommend that you install Win8 using the
option to do a fresh install and pave over your machine. There are
some developer-specific issues with the Win7-Win8 Consumer Preview
upgrade process, one of which is the inability to get a required
developer key for metro app building. There are reports of this on
Connect and in various forums.
First, before we get into remoting specifics, a note on your Microsoft
Account.
Pick one Live ID and Stick With It
Like the Windows Phone, Windows 8 makes use of your Microsoft
Account for integration with features and services. You also get
really cool things like roaming profiles.
Not so much a remoting tip as just a general usage tip. The
operating systems for phone, tablet, and desktop are relying more
heavily on Microsoft Accounts (Windows Live IDs or Passport
accounts for old dudes like me).
You don't have to use a Microsoft Account for your login, but
you'll want to to be able to take advantage of roaming
profiles and many other cool features, so a Microsoft
Account is really the way to go.
I have two different Microsoft Accounts that I use for
everything:
Account 1 |
Account 2 |
Xbox |
MSDN Subscription |
Zune Pass |
Some event registrations |
Windows Phone |
Mesh, but I haven't used that in
ages |
Other random stuff |
Other random unimportant stuff |
I don't use the social networking aspects of Windows Live,
instead focusing most of my efforts on Twitter and Facebook, so
no worries there. I'm also not (yet) an active Skydrive user - my
photos tend to be on Flickr.
Happily, Windows 8 knows about those and offers some really good
integration points, especially with Flickr and Facebook.
Combining two accounts is nearly impossible, and linking
them just doesn't bring it for most uses. So, I decided to
just phase one of them out. From talking to others, this is the
usual solution.
In this case, I'll phase out account 2, as MSDN's subscription
system makes it really easy to pick which account I'm using when I
download stuff, but the integration in Windows and Zune make it
difficult (maybe impossible) to log in with one and then use
another for a specific app. Plus, I don't want to lose my Zune pass
downloaded files or all those awesome Xbox achievements.
Switching your Microsoft Account
Once you pick your ID, you may need to change from one Microsoft
Account to another, or from the local account to a Microsoft
Account. The latter is required if you performed an upgrade
install and want to turn the migrated local machine account into a
Microsoft Account.
One thing that is great is that Windows 8 makes it really easy
to change the Live ID/Microsoft Account associated with your
account. Switching between a local account and Live ID
preserves settings as you would hope. That's
pretty significant considering what's going on behind the
scenes.
To change between two different Live IDs and preserve the same
settings, you'll need (at least in the Consumer Preview) to first
switch to a local account and then switch to a different Microsoft
Account. It's just a matter of clicking a button on the Your
account screen.
One easy way to get to this screen is by clicking your photo at
the top of the Start screen and then selecting "change picture".
Once in the PC settings, select "users". This is what you'll
see:
Click the "Switch to a Microsoft Account" button or "Switch to a
local account" button as appropriate. After switching, you'll want
to reboot. It's not required, but I found that not all apps
properly pick up the new credentials until you do. Luckily, this is
a one-time thing and rebooting (especially if you have an SSD) is
fast.
Remote Login Using a Microsoft Account
Now, back to the main purpose of this post: working with a Win8
box remotely.
First, when prompted for credentials, you're likely used to
entering <machine name>/<user name> or <domain
name>/<user name>. But how does that work with a Microsoft
Account? It's pretty simple, just use
MicrosoftAccount for the domain, and the account
email address for the rest of the name. So, something like
MicrosoftAccount\somedude@hotmail.com is what
you'll want.
Remember, if you log in as a local user instead, you may
not have access to a bunch of nice things including your roaming
profile.
The Windows Key is More Important Now
So many of the keyboard shortcuts require the Windows key. To
make life a bit easier, set up remote desktop to pass all the
Windows key combinations on to the remote machine. By default,
those are processed by the local machine even when the remote
desktop app has focus (if running in a windowed mode, like I
do)
Be sure to save your settings via the General
tab.
Keyboard and Mouse Shortcuts
Without access to touch, mouse gestures and keyboard shortcuts
are going to be your friend.
This thread on the Windows 8 IT forums has some great
information on keyboard and mouse shortcuts. In addition, remember
that the screen corners are your friend. Bottom left to get back to
Start, bottom and top right for the charms and top left to switch
between running apps. It's a little trickier to hit them when
running remote desktop in a window, but it's not impossible. You
may find yourself leaning on the keyboard shortcuts for that
reason.
Liven up the Experience.
Windows 8 is, despite being very simple, a visually rich
operating system. If you haven't already, now is a good time to
beef up those remote settings to the max. The animations will still
be a little choppy coming across the network, but it's better than
nothing for sure.
You can try out the different options to see what they bring.
At the very least, however, make sure you turn on Font
Smoothing: many apps (Visual Studio 11 included) are
barely usable without it.
Set your Screen Resolution
The base resolution for Windows 8 Metro is
1366x768. This wide screen resolution lets you get the
full metro experience, including pinning apps. You can go as low as
1024x768 (but you lose snapping), but no lower. You can certainly
go larger (the 1440x900 stock resolution is decent), but you may
want your remote resolution to be the same as this minimum size in
order to get the same experience as a device. Changing to that
resolution is not as simple as just picking a setting in the
dialog, however.
Notice how none of the stock resolutions match up with this, and
you can't change them. To get around this, save the connection
information as a .rdp file and then open it with
notepad. Once open, set the desktopwidth and desktopheight
values to 1368 and 768 respectively. Notice how I had to
make the width two pixels wider than the actual value.
1366 isn't a value that RDP likes, so you need to bump it up to the
next highest or else it ends up at 1364. (presumably a multiple of
four, it appears). If you don't have at least 1366 in usable width,
the snap feature will not work. It took me a while to figure out
what broke snap, but those two pixels were everything.
screen mode id:i:1
use multimon:i:0
desktopwidth:i:1368
desktopheight:i:768
session bpp:i:32
winposstr:s:0,1,188,242,1644,1180
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
...
Since you're manually editing the file, do this last, as you'll
want to change a few other remote desktop settings first. Here's
the screen with snap, all over remote desktop.
A Final Note
Some apps do run a little…strangely over Remote Desktop. For
example, the preview version of the Solitaire crashes over remote
desktop. I'm not sure what causes it, but if you see an app fail to
start, be sure to check it out on the actual machine before
assuming it's broken. Of course, this includes your own developed
applications. It's a good beta er.. Consumer Preview, but being a
beta, you're going to have oddness from time to time :)