[2026-06-01] doc: update Steam stop procedure — systemctl --user stop works without terminate-user
This commit is contained in:
@@ -6,24 +6,40 @@
|
|||||||
|
|
||||||
## Остановка Steam (Bazzite game session)
|
## Остановка Steam (Bazzite game session)
|
||||||
|
|
||||||
Простой `systemctl --user stop` недостаточно — Bazzite перезапускает game session. Нужно убить всю сессию:
|
Steam держит shortcuts.vdf в памяти и может перезаписать его при graceful shutdown. **Ключевое правило — не дать Steam сохранить состояние.**
|
||||||
|
|
||||||
|
### Рабочий способ (проверено на FPC Atomic 2026-06-01)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Остановить Steam
|
# Остановить Steam
|
||||||
systemctl --user stop gamescope-session-plus@steam.service
|
systemctl --user stop gamescope-session-plus@steam.service
|
||||||
|
sleep 2
|
||||||
|
|
||||||
# 2. Убить game session пользователя (Steam не стартанёт снова)
|
# Убедиться что неактивен
|
||||||
loginctl terminate-user bazzite
|
|
||||||
sleep 3
|
|
||||||
|
|
||||||
# 3. Проверить что не запустился:
|
|
||||||
systemctl --user is-active gamescope-session-plus@steam.service
|
systemctl --user is-active gamescope-session-plus@steam.service
|
||||||
# Должен вернуть "inactive"
|
# Должен вернуть "inactive" (exit code 3)
|
||||||
|
|
||||||
# После правок VDF — машина сама залогинится и стартанёт Steam при следующей активности
|
# Редактировать VDF
|
||||||
|
|
||||||
|
# Запустить Steam обратно:
|
||||||
|
systemctl --user start gamescope-session-plus@steam.service
|
||||||
```
|
```
|
||||||
|
|
||||||
**Важно:** `loginctl terminate-user` завершит всю сессию пользователя — HTPC окажется на экране логина. Автологин включён, так что Steam стартанет при следующем входе (или при перезагрузке).
|
`systemctl --user stop` останавливает Steam без graceful shutdown — он не сохраняет состояние VDF. VDF не перетирается.
|
||||||
|
|
||||||
|
**Важно:** `steamos-manager` может respawn-нуть Steam в течение 1–3 секунд. Если после stop он снова active — повторить stop и сразу приступить к редактированию в окне между respawn'ами. Если это неудобно — альтернатива ниже.
|
||||||
|
|
||||||
|
### Альтернатива: terminate-user (на случай если respawn мешает)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl --user stop gamescope-session-plus@steam.service
|
||||||
|
loginctl terminate-user bazzite
|
||||||
|
sleep 3
|
||||||
|
```
|
||||||
|
|
||||||
|
`loginctl terminate-user` убивает всю SSH сессию — придётся reconnect через пару секунд. После правок — HTPC сам залогинится, Steam стартанет.
|
||||||
|
|
||||||
|
**Не надо ребутить HTPC после правок VDF.** Достаточно `systemctl --user start gamescope-session-plus@steam.service`.
|
||||||
|
|
||||||
## Единственный правильный способ — vdf.binary_load
|
## Единственный правильный способ — vdf.binary_load
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user