mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2025-03-12 17:56:30 -04:00
Document global clipboard for GUI protocol 1.8
According to: https://github.com/QubesOS/qubes-gui-daemon/pull/150#issuecomment-2431883322 According to: https://github.com/QubesOS/qubes-gui-daemon/pull/150#issuecomment-2432486669
This commit is contained in:
parent
78b0742362
commit
6b21fa65f3
@ -90,9 +90,10 @@ Clipboard sharing implementation
|
|||||||
Certainly, it would be insecure to allow AppVM to read/write the clipboards of other AppVMs unconditionally.
|
Certainly, it would be insecure to allow AppVM to read/write the clipboards of other AppVMs unconditionally.
|
||||||
Therefore, the following mechanism is used:
|
Therefore, the following mechanism is used:
|
||||||
|
|
||||||
- there is a "qubes clipboard" in dom0 - its contents are stored in a regular file in dom0.
|
- there is a "qubes clipboard" in dom0 - its contents are stored in a regular file in dom0 as `/run/qubes/qubes-clipboard.bin`.
|
||||||
- if the user wants to copy local AppVM clipboard to qubes clipboard, she must focus on any window belonging to this AppVM, and press **Ctrl-Shift-C**. This combination is trapped by `qubes-guid`, and `CLIPBOARD_REQ` message is sent to AppVM. `qubes-gui` responds with `CLIPBOARD_DATA` message followed by clipboard contents.
|
- if the user wants to copy local AppVM clipboard to qubes clipboard, she must focus on any window belonging to this AppVM, and press **Ctrl-Shift-C**. This combination is trapped by `qubes-guid`, and `CLIPBOARD_REQ` message is sent to AppVM. `qubes-gui` responds with `CLIPBOARD_DATA` message followed by clipboard contents.
|
||||||
- the user focuses on other AppVM window, presses **Ctrl-Shift-V**. This combination is trapped by `qubes-guid`, and `CLIPBOARD_DATA` message followed by qubes clipboard contents is sent to AppVM; `qubes-gui` copies data to the local clipboard, and then user can paste its contents to local applications normally.
|
- the user focuses on other AppVM window, presses **Ctrl-Shift-V**. This combination is trapped by `qubes-guid`, and `CLIPBOARD_DATA` message followed by qubes clipboard contents is sent to AppVM; `qubes-gui` copies data to the local clipboard, and then user can paste its contents to local applications normally.
|
||||||
|
- a supplementary JSON metadata file will be saved as `/run/qubes/qubes-clipboard.bin.metadata` on global clipboard copy or paste actions. Explanation of each field is available in `xside.h` header file of `qubes-guid` under `clipboard_metadata` structure. While the output from `qubes-guid` is fully JSON compatible, the `qubes-guid` parser is limited. It expects line breaks after each key-value pair and only one key-value pair per line. Opening and closing curly braces should be on their own lines. There should be no leading white-space.
|
||||||
|
|
||||||
This way, the user can quickly copy clipboards between AppVMs.
|
This way, the user can quickly copy clipboards between AppVMs.
|
||||||
This action is fully controlled by the user, it cannot be triggered/forced by any AppVM.
|
This action is fully controlled by the user, it cannot be triggered/forced by any AppVM.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user