Visual Studio Remote Desktop
- Visual Studio Remote Develop
- Remote Desktop Download
- Visual Studio Live Share
- Remote Desktop Visual Styles
- Visual Studio Remote Desktop Windows 10
Developing inside a Container. The Visual Studio Code Remote - Containers extension lets you use a Docker container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code's full feature set. Download this app from Microsoft Store for Windows 10, Windows 8.1, Windows 10 Mobile, Windows Phone 8.1, Windows 10 Team (Surface Hub), HoloLens. See screenshots, read the latest customer reviews, and compare ratings for Microsoft Remote Desktop. Visual Studio Remote Code Execution Vulnerability A remote code execution vulnerability exists in Visual Studio when it improperly handles objects in memory. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user. Visual Studio Remote Code Execution.
Linux is a highly variable environment and the large number of server, container, and desktop distributions can make it difficult to know what is supported. Visual Studio Code Remote Development has prerequisites for the specific host / container / WSL distribution you will be connecting to.
Visual Studio Remote Develop
The server is RDS, Remote Desktop Server, and the client is RDV, Remote Desktop Viewer. The executables are packaged up with the source code, and there are projects for Visual Studio 2005 and 2008. I built a custom project out of the zlib library and compiled it as a Windows library with the /MT settings. I want to connect to a Remote PC using visual studio 2015 and access desktop applications and work on some of the elements of that particular application. The reason to do this is to achieve automation.
The extensions are known to work when connecting to recent stable/LTS version of:
- Ubuntu 64-bit x86, ARMv8l (AArch64) (16.04+, IoT 18.04+)
- Debian 64-bit x86, ARMv8l (AArch64) (Stretch/9+)
- Raspbian ARMv7l (AArch32) 32-bit (Stretch/9+)
- CentOS / RHEL 64-bit x86 (7+)
- Alpine Linux 64-bit x86 containers or WSL hosts (3.9+) in Remote - Containers, Remote - WSL
The following non-Linux SSH hosts are also supported:
- Windows 10 / Server 2016/2019 SSH hosts (1803+) using the official OpenSSH Server and enabling
remote.SSH.useLocalServer
in VS Code settings. - macOS 10.14+ (Mojave) SSH hosts with Remote Login enabled.
However, if you are using a non-standard configuration or downstream distribution of Linux, you may run into issues. This document provides information on requirements as well as tips to help you get up and running even if your configuration is only community-supported.
Remote Desktop Download
Note that other extensions may have dependencies beyond those listed here. Some extensions also contain compiled native code that may not work on Alpine Linux, or ARMv7 (AArch32), or ARMv8 (AArch64). These platforms are considered in 'preview' for this reason. If you encounter an issue that only occurs with a particular extension, contact the extension authors for information on their native dependencies.
Local Linux prerequisites
If you are running Linux locally, the VS Code prerequisites drive most of the requirements.
In addition, specific Remote Development extensions have further requirements:
- Remote - SSH:
ssh
needs to be in the path. The shell binary is typically in theopenssh-client
package. - Remote - Containers: Docker CE/EE 18.06+ and Docker Compose 1.21+. Follow the official install instructions for Docker CE/EE for your distribution. If you are using Docker Compose, follow the Install Docker Compose directions as well. (Note that the Ubuntu Snap package is not supported and packages in distributions may be out of date.)
docker
anddocker-compose
must also be in the path. However, Docker does not need to be running if you are using a remote host.
Remote host / container / WSL Linux prerequisites
Platform prerequisites are primarily driven by the version of the Node.js runtime (and by extension the V8 JavaScript engine) shipped in the server component automatically installed on each remote endpoint. This server also has a set of related native node modules that need to be compiled and tested for each target. 64-bit x86 glibc-based Linux distributions currently provide the best support given these requirements.
You may encounter issues with certain extensions with native dependencies with ARMv7l (AArch32) / ARMv8l (AArch64) glibc-based hosts, containers, or WSL and 64-bit x86 musl-based Alpine Linux. For ARMv7l/ARMv8l, extensions may only include x86_64 versions of native modules or runtimes in the extension. For Alpine Linux, included native code or runtimes may not work due to fundamental differences between how libc
is implemented in Alpine Linux (musl
) and other distributions (glibc
). In both these cases, extensions will need to opt-in to supporting these platforms by compiling / including binaries for these additional targets. Please raise an issue with the appropriate extension author requesting support if you encounter an extension that does not work as expected.
Distribution | Base Requirements | Remote - SSH Requirements | Notes |
---|---|---|---|
General | kernel >= 3.10, glibc >=2.17, libstdc++ >= 3.4.18, Python 2.6 or 2.7, tar | OpenSSH server, bash , and curl or wget | Run ldd --version to check the glibc version. Run strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX to see if libstdc++ 3.4.18 is available. |
Ubuntu 16.04+, Debian 8+, Raspbian Stretch/9+ and downstream distributions | libc6 libstdc++6 python-minimal ca-certificates tar | openssh-server bash and curl or wget | Requires kernel >= 3.10, glibc >= 2.17, libstdc++ >= 3.4.18. Debian < 8 (Jessie) and Ubuntu < 14.04 do not meet this requirement. |
RHEL / CentOS 7+ | glibc libgcc libstdc++ python ca-certificates tar | openssh-server bash and curl or wget | Requires kernel >= 3.10, glibc >= 2.17, libstdc++ >= 3.4.18. RHEL / CentOS < 7 does not meet this requirement without using a workaround to upgrade. |
Alpine Linux 3.9+ | musl libgcc libstdc++ . musl >= 1.1.18, glibc not required. | Not yet supported. | Supported in Remote - Containers and Remote - WSL. Extensions installed in the container may not work due to glibc dependencies in extension native code. |
openSUSE Leap / SUSE Linux Enterprise 15+ | glibc libgcc_s1 libstdc++6 python ca-certificates gzip tar | curl or wget | Requires kernel >= 3.10, glibc, libstdc++6 |
Tips by Linux distribution
The following is a list of distributions and any base requirements that may be missing. End-of-life versions of distributions are not included.
- ✅ = Working
- ⚠️ = Working, but see note for limitations
- 🔬 = Experimental
- 🛑 = Unsupported, but has workaround
- ❌ = Unsupported
Server Distribution | Docker Image | Missing libraries | Notes / additional steps |
---|---|---|---|
⚠️ Alpine Linux 3.10 (64-bit) | alpine:3.10 | libgcc libstdc++ | Supported in Remote - Containers and Remote - WSL only. Some extensions installed in the container may not work due to glibc dependencies in extension native code. |
✅ CentOS 7 Server (64-bit) | centos:7 | <none> | <none> |
🛑 CentOS 6 Server (64-bit) | centos:6 | glibc >= 2.17, libstdc++ >= 3.4.18 | Requires a workaround. |
✅ Debian 10 Server (64-bit) | debian:10 | <none> | <none> |
✅ Debian 9 Server (64-bit) | debian:9 | <none> | <none> |
✅ openSUSE Leap Server 15 (64-bit) | opensuse/leap:15 | Docker image is missing tar and gzip . | <none> |
✅ openSUSE Leap Server 42.3 (64-bit) | opensuse/leap:42.3 | Docker image is missing tar and gzip . | <none> |
✅ Oracle Linux 7 (64-bit) | oraclelinux:7 | <none> | <none> |
🛑️ Oracle Linux 6 (64-bit) | oraclelinux:6 | glibc >= 2.17, libstdc++ >= 3.4.18. Docker image is missing tar . | Requires a workaround. |
⚠️ Raspbian Stretch/9 (ARMv7l 32-bit) | <n/a> | <none> | Some extensions may not work when installed on an ARMv7l host due to extension x86 native code. Remote - Containers does support connecting to containers on an ARM host. |
✅ RedHat Enterprise Linux 7 (64-bit) | <none> | <none> | |
🛑 RedHat Enterprise Linux 6 (64-bit) | glibc >= 2.17, libstdc++ >= 3.4.18 | Requires a workaround. | |
✅ SUSE Linux Enterprise Server 15 (64-bit) | Docker image is missing tar and gzip . | <none> | |
✅ SUSE Linux Enterprise Server 12 (64-bit) | Docker image is missing tar and gzip . | <none> | |
❌ SUSE Linux Enterprise Server 11 (64-bit) | glibc >= 2.17, libstdc++ >= 3.4.18 | Might work compiling glibc from source, but untested. | |
⚠️ Ubuntu 18.04 IoT (ARMv8l 64-bit) | <n/a> | Some extensions may not work when installed on an ARMv8l host due to extension x86 native code. Remote - Containers does support connecting to containers on an ARM host. | |
✅ Ubuntu Server 20.04 (64-bit) | ubuntu:20.04 | <none> | <none> |
✅ Ubuntu Server 19.04 (64-bit) | ubuntu:19.04 | <none> | <none> |
✅ Ubuntu Server 18.04 (64-bit) | ubuntu:18.04 | <none> | <none> |
✅ Ubuntu Server 16.04 (64-bit) | ubuntu:16.04 | <none> | <none> |
✅ Ubuntu Server 14.04 (64-bit) | ubuntu:14.04 | <none> | <none> |
Updating glibc and libstdc++ on RHEL / CentOS 6
RHEL / CentOS 6 ships with glibc 2.12 and libstdc++ 3.4.13. Unfortunately, this does not meet the requirements for Remote Development. RHEL / CentOS 6 goes out of support in 2020, so we strongly recommend upgrading to RHEL / CentOS 7 or higher.
However, as a workaround, you can either build glibc manually or use the following script to install updated binaries. The bash script below will upgrade these libraries without having to build them. It is adapted from information in this article, this gist, and this Fedora copr project. The article also includes instructions for manually building glibc if you would prefer not to use the binaries from the article.
Do not run this script on anything mission critical without a rollback strategy since it does update libraries that other applications depend on.
For servers, run the following script and restart the server so the updates take effect.
Visual Studio Live Share
In a container environment, you can add similar contents to a Dockerfile:
Questions or feedback
- See Tips and Tricks or the FAQ.
- Search on Stack Overflow.
- Add a feature request or report a problem.
- Create a development container definition for others to use.
- Contribute to our documentation or VS Code itself.
- See our CONTRIBUTING guide for details.
Remote Desktop Visual Styles
Use Remote Desktop on your Windows, Android, or iOS device to connect to a Windows 10 PC from afar.
Visual Studio Remote Desktop Windows 10
Set up the PC you want to connect to so it allows remote connections: Genymotion for mac os x.
Make sure you have Windows 10 Pro. To check, go to Start > Settings > System > About and look for Edition. For info on how to get it, go to Upgrade Windows 10 Home to Windows 10 Pro.
When you're ready, select Start > Settings > System > Remote Desktop, and turn on Enable Remote Desktop. Youtube mp3 for mac free.
Make note of the name of this PC under How to connect to this PC. You'll need this later.
Use Remote Desktop to connect to the PC you set up:
On your local Windows 10 PC: In the search box on the taskbar, type Remote Desktop Connection, and then select Remote Desktop Connection. In Remote Desktop Connection, type the name of the PC you want to connect to (from Step 1), and then select Connect.
On your Windows, Android, or iOS device: Open the Remote Desktop app (available for free from Microsoft Store, Google Play, and the Mac App Store), and add the name of the PC that you want to connect to (from Step 1). Select the remote PC name that you added, and then wait for the connection to complete.