Skip to content

Commit

Permalink
Xpra-org#4256 these pages had gone MIA
Browse files Browse the repository at this point in the history
  • Loading branch information
totaam committed Jun 15, 2024
1 parent 9f05c6b commit c1ca425
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 0 deletions.
43 changes: 43 additions & 0 deletions docs/Usage/Desktop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Desktop Mode
_desktop mode_ as opposed to [seamless mode](Seamless.md) runs a full desktop session in a window instead of having each individual window forwarded separately.\
This feature requires X11 server support and is not available on MacOS or MS Windows servers.

The behaviour is more similar to VNC but with the added benefits of the xpra protocol: audio, printer forwarding, etc. (see [features](../Features/README.md))

You can also connect using VNC clients.\
To access an existing desktop session, use the [shadow server](Shadow) which is also available on MacOS and MS Windows.


## Usage
To start a desktop session simply run:
```shell
xpra start-desktop --start=xterm
```
Then connect as usual from the client, or using a VNC client.

Alternatively, you can start a session and connect in one command from the client using the ssh syntax:
```shell
xpra start-desktop --start=xterm ssh://USER@HOST/
```


## Window Manager or Desktop Environment
In order to run a window manager or even a full desktop environment within this desktop session, simply replace the "xterm" example above with the command that starts the WM or DE of your choice, ie for "fluxbox":
```shell
xpra start-desktop --start=fluxbox
```
When choosing a window manager, be aware that the more featureful ones also tend to use more bandwidth and will appear to run more slowly.


## Desktop Size

By default, the desktop size will start using a screen resolution of 1920x1080, this virtual screen can be resized at any point using regular X11 tools (ie: "xrandr").

To change the initial desktop size:
```shell
xpra start-desktop --resize-display="1024x768" --start=fluxbox
```

## Caveats
* to get the session to terminate when you exit the window manager, use `--start-child` with `--exit-with-children`
* some desktop environments may show options to shut down or reboot the system from their start menu, which may or may not be appropriate
62 changes: 62 additions & 0 deletions docs/Usage/Shadow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
![Server-Connected](../images/icons/server-connected.png)

This 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.

It is supported on all platforms including MS Windows and Mac OS X, but not on Wayland.\
It is not optimized on all platforms and may cause high CPU load on both the server and the client in some cases.

On most platforms, the display being shadowed must be active: not locked or turned off.

# Examples
<details>
<summary>All-in-one SSH command</summary>

If you have SSH access to the machine whose X11 display you wish to access remotely, simply run from your client:
```shell
xpra shadow ssh://HOST/
```
This will connect over SSH to `HOST`, start and xpra shadow server and connect to it.\
The shadow server will be stopped once you disconnect.\
Xpra must already be installed on the server.

The 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:
![shadow tray example](../images/win32-shadow-tray-menu.png)
</details>
<details>
<summary>via a shell session</summary>

If 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.

To expose your existing main display session (usually found at `:0` on *nix) using a TCP server on port 10000:
```shell
xpra shadow :0 --bind-tcp=0.0.0.0:10000
```

Notes:
* this is insecure and does not cover [authentication](Authentication.md) or [encryption](../Network/Encryption.md)
* 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
* if there is only a single `$DISPLAY` active on the system, you do not need to specify it (no `:0`)
* do not shadow an existing [seamless](https://github.com/Xpra-org/xpra/tree/master/docs/Usage/Seamless.md) or [desktop](https://github.com/Xpra-org/xpra/tree/master/docs/Usage/Start-Desktop.md) xpra session when you can just attach to it
</details>

# Debugging
<details>
<summary>Diagnostics</summary>

Use the `-d ssh` [debug logging](Logging.md) switch.
</details>
<details>
<summary>Issues</summary>

* [#899](https://github.com/Xpra-org/xpra/issues/899) generic shadow improvements
* [#389](https://github.com/Xpra-org/xpra/issues/389) MS Windows shadow server improvements
* [#558](https://github.com/Xpra-org/xpra/issues/558) nvenc support for shadowing on win32
* [#390](https://github.com/Xpra-org/xpra/issues/390) damage events for the posix shadow server
* [#391](https://github.com/Xpra-org/xpra/issues/391) osx shadow server improvements: mdns, keyboard support, etc
* [#530](https://github.com/Xpra-org/xpra/issues/530) allow client side shadow windows to be resized
* [#972](https://github.com/Xpra-org/xpra/issues/972) fullscreen mode in xpra client
* [#1099](https://github.com/Xpra-org/xpra/issues/1099) Keyboard Layout issue with Windows Shadow Server
* [#1150](https://github.com/Xpra-org/xpra/issues/1150) named pipes for win32
* [#1321](https://github.com/Xpra-org/xpra/issues/1321) scrolling with the osx shadow server
* [#1322](https://github.com/Xpra-org/xpra/issues/1322) resize osx shadow screen
</details>

0 comments on commit c1ca425

Please sign in to comment.