[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)
|
||||
|
||||
Простой `systemctl --user stop` недостаточно — Bazzite перезапускает game session. Нужно убить всю сессию:
|
||||
Steam держит shortcuts.vdf в памяти и может перезаписать его при graceful shutdown. **Ключевое правило — не дать Steam сохранить состояние.**
|
||||
|
||||
### Рабочий способ (проверено на FPC Atomic 2026-06-01)
|
||||
|
||||
```bash
|
||||
# 1. Остановить Steam
|
||||
# Остановить Steam
|
||||
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
|
||||
# Должен вернуть "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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user