1![Server-Connected](../images/icons/server-connected.png)
2
3This feature refers to the ability of using an existing display server (an existing desktop session, usually connected to a real physical display) and use xpra to access it remotely.
4
5It is supported on all platforms including MS Windows and Mac OS X, but not on Wayland.\
6It is not optimized on all platforms and may cause high CPU load on both the server and the client in some cases.
7
8On most platforms, the display being shadowed must be active: not locked or turned off.
9
10# Examples
11<details>
12  <summary>All-in-one SSH command</summary>
13
14If you have SSH access to the machine whose X11 display you wish to access remotely, simply run from your client:
15```shell
16xpra shadow ssh://HOST/
17```
18This will connect over SSH to `HOST`, start and xpra shadow server and connect to it.\
19The shadow server will be stopped once you disconnect.\
20Xpra must already be installed on the server.
21
22The xpra shadow server will be accessible like any other xpra server through its unix domain socket (ie: `xpra info ssh://HOST/DISPLAY`), and it will show a system tray menu whilst active, and a different icon when a client is connected:
23![shadow tray example](../images/win32-shadow-tray-menu.png)
24</details>
25<details>
26  <summary>via a shell session</summary>
27
28If starting via SSH is not supported as above, as is the case on most MS Windows and MacOS systems, or simply if you want to start the shadow server manually, and potentially configure more options, you can start it from a shell.
29
30To expose your existing main display session (usually found at `:0` on *nix) using a TCP server on port 10000:
31```shell
32xpra shadow :0 --bind-tcp=0.0.0.0:10000
33```
34
35Notes:
36* this is insecure and does not cover [authentication](./Authentication.md) or [encryption](../Network/Encryption.md)
37* MS Windows and Mac OS X do not have X11 display names (`:0` in the example above), in this case you can simply omit the display argument
38* if there is only a single `$DISPLAY` active on the system, you do not need to specify it (no `:0`)
39* do not shadow an existing [seamless](../../docs/Usage/Seamless.md) or [desktop](../../docs/Usage/Start-Desktop.md) xpra session when you can just attach to it
40</details>
41
42# Debugging
43<details>
44  <summary>Diagnostics</summary>
45
46Use the `-d ssh` [debug logging](./Logging.md) switch.
47</details>
48<details>
49  <summary>Issues</summary>
50
51* [#899](https://github.com/Xpra-org/xpra/issues/899) generic shadow improvements
52* [#389](https://github.com/Xpra-org/xpra/issues/389) ms windows shadow server improvements
53* [#558](https://github.com/Xpra-org/xpra/issues/558) nvenc support for shadowing on win32
54* [#390](https://github.com/Xpra-org/xpra/issues/390) damage events for the posix shadow server
55* [#391](https://github.com/Xpra-org/xpra/issues/391) osx shadow server improvements: mdns, keyboard support, etc
56* [#530](https://github.com/Xpra-org/xpra/issues/530) allow client side shadow windows to be resized
57* [#972](https://github.com/Xpra-org/xpra/issues/972) fullscreen mode in xpra client
58* [#1099](https://github.com/Xpra-org/xpra/issues/1099) Keyboard Layout issue with Windows Shadow Server
59* [#1150](https://github.com/Xpra-org/xpra/issues/1150) named pipes for win32
60* [#1321](https://github.com/Xpra-org/xpra/issues/1321) scrolling with the osx shadow server
61* [#1322](https://github.com/Xpra-org/xpra/issues/1322) resize osx shadow screen
62</details>
63