mirror of
https://github.com/Andre-Bzk/SunshineDisplaySwitch.git
synced 2026-11-15 09:33:11 +01:00
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# SunshineDisplaySwitch
|
|
|
|
Löst ein Problem beim Game-Streaming mit **Sunshine + Moonlight**: Der physische PC-Monitor soll während des Streams deaktiviert sein und danach zuverlässig wieder aktiviert werden.
|
|
|
|
## Hintergrund
|
|
|
|
Sunshine läuft als Windows-Dienst (Session 0 / SYSTEM-Kontext). `DisplaySwitch.exe /internal` hat aus diesem Kontext zwar keinen Fehler geworfen, aber keinen Effekt gehabt — das Reaktivieren eines deaktivierten Monitors erfordert die interaktive Benutzersession. Die Lösung nutzt den Task Scheduler mit `InteractiveToken`, um den Befehl garantiert in der richtigen Session auszuführen.
|
|
|
|
## Dateien
|
|
|
|
| Datei | Zweck |
|
|
|---|---|
|
|
| `register_task.bat` | Einmalige Einrichtung — registriert den Scheduled Task |
|
|
| `idd_an.bat` | Sunshine Preparation Command — schaltet auf virtuellen Monitor um |
|
|
| `idd_aus.bat` | Sunshine Teardown Command — reaktiviert den physischen Monitor |
|
|
|
|
## Einrichtung
|
|
|
|
### 1. Task registrieren (einmalig)
|
|
|
|
`register_task.bat` per Doppelklick ausführen und den UAC-Dialog bestätigen. Der Task `MoonlightTeardown` wird in der Windows-Aufgabenplanung registriert.
|
|
|
|
Zur Kontrolle:
|
|
```
|
|
schtasks /query /tn MoonlightTeardown /fo list
|
|
```
|
|
|
|
### 2. Sunshine konfigurieren
|
|
|
|
In der Sunshine Web-UI unter **Configuration > General**:
|
|
|
|
| Feld | Wert |
|
|
|---|---|
|
|
| Command Preparations — Do | Pfad zu `idd_an.bat` |
|
|
| Command Preparations — Undo | Pfad zu `idd_aus.bat` |
|
|
|
|
## Funktionsweise
|
|
|
|
```
|
|
Stream startet
|
|
└─> idd_an.bat
|
|
└─> DisplaySwitch.exe /external (virtuellen Monitor aktivieren)
|
|
|
|
Stream endet
|
|
└─> idd_aus.bat [läuft in Session 0]
|
|
└─> Start-ScheduledTask 'MoonlightTeardown'
|
|
└─> Task Scheduler [InteractiveToken = Benutzersession]
|
|
└─> DisplaySwitch.exe /internal (physischen Monitor reaktivieren)
|
|
```
|
|
|
|
## Voraussetzungen
|
|
|
|
- Windows 10/11
|
|
- [Sunshine](https://github.com/LizardByte/Sunshine) als Streaming-Server
|
|
- Kein zusätzliches Tool erforderlich — nur Windows-Bordmittel
|