Compare commits
16 Commits
6642cecf20
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a214ff761b | |||
| 93bc4bae05 | |||
| 42aae93970 | |||
| 88b48e1796 | |||
| 10ee14233b | |||
| f4996bd0b0 | |||
| cd931c13cf | |||
| 7e14ebb644 | |||
| 925366d5b1 | |||
| d465caad02 | |||
| 9788ca9db2 | |||
| 5b59aea5c8 | |||
| 98c12c0f00 | |||
| 1729fbf497 | |||
| 7510bf2ee8 | |||
| 16eb5ab230 |
1
.env.example
Normal file
1
.env.example
Normal file
@@ -0,0 +1 @@
|
|||||||
|
APT_PROXY=http://192.168.1.60:3142
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,6 +5,8 @@ nvidia-smi*
|
|||||||
# local runtime data
|
# local runtime data
|
||||||
players/*_steam/
|
players/*_steam/
|
||||||
players/*_config/sunshine.conf
|
players/*_config/sunshine.conf
|
||||||
|
.env
|
||||||
|
!.env.example
|
||||||
|
|
||||||
# do not publish private Sunshine TLS keys
|
# do not publish private Sunshine TLS keys
|
||||||
players/*_config/credentials/
|
players/*_config/credentials/
|
||||||
|
|||||||
76
Dockerfile
76
Dockerfile
@@ -3,11 +3,20 @@ FROM ubuntu:22.04
|
|||||||
# Отключаем интерактивные вопросы во время установки
|
# Отключаем интерактивные вопросы во время установки
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Опциональный прокси для apt (например apt-cacher-ng: http://192.168.1.60:3142)
|
||||||
|
ARG APT_PROXY
|
||||||
|
RUN if [ -n "$APT_PROXY" ]; then \
|
||||||
|
printf 'Acquire::http::Proxy "%s";\nAcquire::https::Proxy "%s";\n' "$APT_PROXY" "$APT_PROXY" > /etc/apt/apt.conf.d/01proxy; \
|
||||||
|
fi
|
||||||
|
|
||||||
# 1. Добавляем 32-битную архитектуру для Steam и базовые графические зависимости
|
# 1. Добавляем 32-битную архитектуру для Steam и базовые графические зависимости
|
||||||
RUN dpkg --add-architecture i386 && \
|
RUN dpkg --add-architecture i386 && \
|
||||||
apt-get update && apt-get install -y \
|
apt-get update && apt-get install -y \
|
||||||
xvfb fluxbox dbus-x11 xauth xfonts-base x11-xserver-utils \
|
xserver-xorg-core xserver-xorg-video-dummy xserver-xorg-input-libinput \
|
||||||
software-properties-common wget curl ca-certificates \
|
fluxbox dbus-x11 xauth xfonts-base x11-xserver-utils \
|
||||||
|
software-properties-common wget curl ca-certificates locales pciutils \
|
||||||
|
libboost-chrono1.74.0 libboost-filesystem1.74.0 libboost-locale1.74.0 \
|
||||||
|
libboost-program-options1.74.0 libboost-thread1.74.0 \
|
||||||
libcap2-bin libgomp1 mesa-utils \
|
libcap2-bin libgomp1 mesa-utils \
|
||||||
libxcb-cursor0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libxcb-randr0 libxcb-xtest0 \
|
libxcb-cursor0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0 libxcb-randr0 libxcb-xtest0 \
|
||||||
libxcb1 libxcb-render0 libxcb-render-util0 libxcb-util1 libxcb-keysyms1 \
|
libxcb1 libxcb-render0 libxcb-render-util0 libxcb-util1 libxcb-keysyms1 \
|
||||||
@@ -16,23 +25,80 @@ RUN dpkg --add-architecture i386 && \
|
|||||||
|
|
||||||
# 2. Скачиваем оригинальный рабочий пакет Sunshine по вашей ссылке
|
# 2. Скачиваем оригинальный рабочий пакет Sunshine по вашей ссылке
|
||||||
# ВНИМАНИЕ: Замените маркер ниже на вашу ссылку из браузера, сохранив кавычки!
|
# ВНИМАНИЕ: Замените маркер ниже на вашу ссылку из браузера, сохранив кавычки!
|
||||||
RUN wget "https://github.com/LizardByte/Sunshine/releases/download/v0.21.0/sunshine-ubuntu-22.04-amd64.deb" -O /tmp/sunshine.deb \
|
RUN wget "https://github.com/LizardByte/Sunshine/releases/download/v0.20.0/sunshine-ubuntu-22.04-amd64.deb" -O /tmp/sunshine.deb \
|
||||||
&& chmod +x /tmp/sunshine.deb
|
&& chmod +x /tmp/sunshine.deb
|
||||||
|
|
||||||
# 3. Устанавливаем скачанный пакет и Steam со всеми зависимостями
|
# 3. Устанавливаем скачанный пакет и Steam со всеми зависимостями
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
echo "debconf steam/question select I AGREE" | debconf-set-selections \
|
echo "debconf steam/question select I AGREE" | debconf-set-selections \
|
||||||
&& apt-get install -y /tmp/sunshine.deb steam:i386 steam-devices \
|
&& apt-get install -y /tmp/sunshine.deb steam:i386 steam-devices \
|
||||||
|
libxtst6 libxtst6:i386 \
|
||||||
|
libxss1 libxss1:i386 \
|
||||||
|
libnss3 libnss3:i386 \
|
||||||
|
libxi6 libxi6:i386 \
|
||||||
|
libgtk2.0-0 libgtk2.0-0:i386 \
|
||||||
|
libglib2.0-0 libglib2.0-0:i386 \
|
||||||
|
libpipewire-0.3-0 libpipewire-0.3-0:i386 \
|
||||||
|
libxcb-res0 libxcb-res0:i386 \
|
||||||
|
libvpx7 libvpx7:i386 \
|
||||||
|
libvdpau1 libvdpau1:i386 \
|
||||||
|
libbz2-1.0 libbz2-1.0:i386 \
|
||||||
|
libibus-1.0-5 libibus-1.0-5:i386 \
|
||||||
|
&& ln -sf /lib/x86_64-linux-gnu/libvpx.so.7 /lib/x86_64-linux-gnu/libvpx.so.6 \
|
||||||
|
&& ln -sf /lib/i386-linux-gnu/libvpx.so.7 /lib/i386-linux-gnu/libvpx.so.6 \
|
||||||
|
&& locale-gen en_US.UTF-8 \
|
||||||
&& rm -f /tmp/sunshine.deb \
|
&& rm -f /tmp/sunshine.deb \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# 4. Скрипт очищает сессию, поднимает виртуальный экран, fluxbox и запускает Sunshine
|
# 4. Конфиг Xorg dummy: нужен для корректной работы ввода Moonlight в контейнере
|
||||||
|
RUN mkdir -p /etc/X11 \
|
||||||
|
&& echo 'Section "ServerLayout"\n\
|
||||||
|
Identifier "Layout0"\n\
|
||||||
|
Screen 0 "Screen0"\n\
|
||||||
|
EndSection\n\
|
||||||
|
\n\
|
||||||
|
Section "Device"\n\
|
||||||
|
Identifier "Device0"\n\
|
||||||
|
Driver "dummy"\n\
|
||||||
|
VideoRam 256000\n\
|
||||||
|
EndSection\n\
|
||||||
|
\n\
|
||||||
|
Section "Monitor"\n\
|
||||||
|
Identifier "Monitor0"\n\
|
||||||
|
HorizSync 28.0-80.0\n\
|
||||||
|
VertRefresh 48.0-75.0\n\
|
||||||
|
Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118\n\
|
||||||
|
EndSection\n\
|
||||||
|
\n\
|
||||||
|
Section "Screen"\n\
|
||||||
|
Identifier "Screen0"\n\
|
||||||
|
Device "Device0"\n\
|
||||||
|
Monitor "Monitor0"\n\
|
||||||
|
DefaultDepth 24\n\
|
||||||
|
SubSection "Display"\n\
|
||||||
|
Depth 24\n\
|
||||||
|
Modes "1920x1080"\n\
|
||||||
|
EndSubSection\n\
|
||||||
|
EndSection\n\
|
||||||
|
' > /etc/X11/xorg-dummy.conf
|
||||||
|
|
||||||
|
# 5. Поднимаем Xorg dummy, fluxbox и Sunshine
|
||||||
RUN echo '#!/bin/bash\n\
|
RUN echo '#!/bin/bash\n\
|
||||||
|
set -e\n\
|
||||||
rm -f /tmp/.X99-lock /tmp/.X11-unix/X99\n\
|
rm -f /tmp/.X99-lock /tmp/.X11-unix/X99\n\
|
||||||
Xvfb :99 -ac -screen 0 1920x1080x24 &\n\
|
id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam\n\
|
||||||
|
mkdir -p /home/steam/.local/share/Steam /tmp/xdg-steam\n\
|
||||||
|
ln -sfn /home/steam/.local/share/Steam /home/steam/.steam\n\
|
||||||
|
chown -R steam:steam /home/steam /tmp/xdg-steam\n\
|
||||||
|
modprobe uinput >/dev/null 2>&1 || true\n\
|
||||||
|
mkdir -p /run/dbus\n\
|
||||||
|
dbus-daemon --system --fork || true\n\
|
||||||
|
Xorg :99 -config /etc/X11/xorg-dummy.conf -nolisten tcp -noreset +extension GLX +extension RANDR +extension RENDER &\n\
|
||||||
export DISPLAY=:99\n\
|
export DISPLAY=:99\n\
|
||||||
export HOME=/root\n\
|
export HOME=/root\n\
|
||||||
|
export LANG=en_US.UTF-8\n\
|
||||||
|
export LC_ALL=en_US.UTF-8\n\
|
||||||
sleep 3\n\
|
sleep 3\n\
|
||||||
fluxbox &\n\
|
fluxbox &\n\
|
||||||
sleep 2\n\
|
sleep 2\n\
|
||||||
|
|||||||
35
README.md
35
README.md
@@ -43,6 +43,21 @@
|
|||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### APT кэширующий прокси (опционально)
|
||||||
|
|
||||||
|
Если у вас есть `apt-cacher-ng` (например `http://192.168.1.60:3142`), можно ускорить сборку образов:
|
||||||
|
|
||||||
|
1. Создайте `.env` рядом с `docker-compose.yml`:
|
||||||
|
```bash
|
||||||
|
echo 'APT_PROXY=http://192.168.1.60:3142' > .env
|
||||||
|
```
|
||||||
|
2. Пересоберите контейнеры:
|
||||||
|
```bash
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
Прокси передается в `Dockerfile` через build-arg `APT_PROXY` и автоматически записывается в `/etc/apt/apt.conf.d/01proxy` при сборке.
|
||||||
|
|
||||||
## Настройка
|
## Настройка
|
||||||
|
|
||||||
### Конфигурация Sunshine
|
### Конфигурация Sunshine
|
||||||
@@ -53,6 +68,10 @@
|
|||||||
|
|
||||||
`sunshine.conf` не хранится в репозитории и генерируется Sunshine автоматически при первом запуске контейнера.
|
`sunshine.conf` не хранится в репозитории и генерируется Sunshine автоматически при первом запуске контейнера.
|
||||||
|
|
||||||
|
`Steam Big Picture` запускается от отдельного пользователя `steam` внутри контейнера. Данные Steam сохраняются в `players/pX_steam` и не теряются после перезапуска контейнеров/сервера.
|
||||||
|
|
||||||
|
Важно: для корректной обработки ввода из Moonlight в контейнерах используется `Xorg dummy` (вместо `Xvfb`) и проброс `/run/udev` в контейнер. Это нужно, чтобы виртуальные устройства ввода Sunshine попадали в тот же X-сеанс, который стримится.
|
||||||
|
|
||||||
### Порты
|
### Порты
|
||||||
|
|
||||||
В Moonlight при ручном добавлении указывается один адрес в формате `IP:base_port`.
|
В Moonlight при ручном добавлении указывается один адрес в формате `IP:base_port`.
|
||||||
@@ -84,6 +103,22 @@
|
|||||||
|
|
||||||
Moonlight использует `base_port` и вычисляет остальные порты автоматически.
|
Moonlight использует `base_port` и вычисляет остальные порты автоматически.
|
||||||
|
|
||||||
|
### Первый запуск Steam
|
||||||
|
|
||||||
|
При первом запуске Steam скачивает и распаковывает клиент (может занять 10-20 минут, в зависимости от канала). В это время в Moonlight может отображаться пустой/черный рабочий стол.
|
||||||
|
|
||||||
|
Проверка прогресса для `player1`:
|
||||||
|
```bash
|
||||||
|
docker exec -it game-player-1 bash -lc 'tail -f /home/steam/.local/share/Steam/debian-installation/logs/bootstrap_log.txt'
|
||||||
|
```
|
||||||
|
|
||||||
|
После завершения первичной загрузки повторно откройте сессию Moonlight и запустите `Steam Big Picture`.
|
||||||
|
|
||||||
|
Если запуск Steam прерывается после выхода из терминала (`Hangup`), используйте лог:
|
||||||
|
```bash
|
||||||
|
docker exec -it game-player-1 bash -lc 'tail -f /home/steam/steam-app.log'
|
||||||
|
```
|
||||||
|
|
||||||
## Отладка
|
## Отладка
|
||||||
|
|
||||||
Для проверки состояния контейнеров используйте:
|
Для проверки состояния контейнеров используйте:
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
x-game-template: &game-template
|
x-game-template: &game-template
|
||||||
build: .
|
build:
|
||||||
|
context: .
|
||||||
|
args:
|
||||||
|
APT_PROXY: ${APT_PROXY:-}
|
||||||
user: "root"
|
user: "root"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -39,8 +42,9 @@ services:
|
|||||||
- "48010:48010/udp"
|
- "48010:48010/udp"
|
||||||
- "47998-48000:47998-48000/udp"
|
- "47998-48000:47998-48000/udp"
|
||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p1_steam:/root/.local/share/Steam
|
- /DATA/AppData/game-server/players/p1_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p1_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p1_config:/root/.config/sunshine
|
||||||
|
- /run/udev:/run/udev:ro
|
||||||
# Добавляем логирование для отладки
|
# Добавляем логирование для отладки
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
@@ -62,8 +66,9 @@ services:
|
|||||||
- "48040:48010/udp"
|
- "48040:48010/udp"
|
||||||
- "48028-48030:47998-48000/udp"
|
- "48028-48030:47998-48000/udp"
|
||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p2_steam:/root/.local/share/Steam
|
- /DATA/AppData/game-server/players/p2_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p2_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p2_config:/root/.config/sunshine
|
||||||
|
- /run/udev:/run/udev:ro
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -84,8 +89,9 @@ services:
|
|||||||
- "48070:48010/udp"
|
- "48070:48010/udp"
|
||||||
- "48058-48060:47998-48000/udp"
|
- "48058-48060:47998-48000/udp"
|
||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p3_steam:/root/.local/share/Steam
|
- /DATA/AppData/game-server/players/p3_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p3_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p3_config:/root/.config/sunshine
|
||||||
|
- /run/udev:/run/udev:ro
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
@@ -106,8 +112,9 @@ services:
|
|||||||
- "48100:48010/udp"
|
- "48100:48010/udp"
|
||||||
- "48088-48090:47998-48000/udp"
|
- "48088-48090:47998-48000/udp"
|
||||||
volumes:
|
volumes:
|
||||||
- /DATA/AppData/game-server/players/p4_steam:/root/.local/share/Steam
|
- /DATA/AppData/game-server/players/p4_steam:/home/steam/.local/share/Steam
|
||||||
- /DATA/AppData/game-server/players/p4_config:/root/.config/sunshine
|
- /DATA/AppData/game-server/players/p4_config:/root/.config/sunshine
|
||||||
|
- /run/udev:/run/udev:ro
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
options:
|
options:
|
||||||
|
|||||||
@@ -1,31 +1,17 @@
|
|||||||
{
|
{
|
||||||
"env": {
|
"env": {
|
||||||
"PATH": "$(PATH):$(HOME)/.local/bin"
|
"PATH": "$(PATH):$(HOME)/.local/bin:/usr/games"
|
||||||
},
|
},
|
||||||
"apps": [
|
"apps": [
|
||||||
{
|
|
||||||
"name": "Desktop",
|
|
||||||
"image-path": "desktop.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Low Res Desktop",
|
|
||||||
"image-path": "desktop.png",
|
|
||||||
"prep-cmd": [
|
|
||||||
{
|
|
||||||
"do": "xrandr --output HDMI-1 --mode 1920x1080",
|
|
||||||
"undo": "xrandr --output HDMI-1 --mode 1920x1200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"setsid steam steam://open/bigpicture"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
"do": "",
|
"do": "",
|
||||||
"undo": "setsid steam steam://close/bigpicture"
|
"undo": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"image-path": "steam.png"
|
"image-path": "steam.png"
|
||||||
|
|||||||
@@ -1,31 +1,17 @@
|
|||||||
{
|
{
|
||||||
"env": {
|
"env": {
|
||||||
"PATH": "$(PATH):$(HOME)/.local/bin"
|
"PATH": "$(PATH):$(HOME)/.local/bin:/usr/games"
|
||||||
},
|
},
|
||||||
"apps": [
|
"apps": [
|
||||||
{
|
|
||||||
"name": "Desktop",
|
|
||||||
"image-path": "desktop.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Low Res Desktop",
|
|
||||||
"image-path": "desktop.png",
|
|
||||||
"prep-cmd": [
|
|
||||||
{
|
|
||||||
"do": "xrandr --output HDMI-1 --mode 1920x1080",
|
|
||||||
"undo": "xrandr --output HDMI-1 --mode 1920x1200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"setsid steam steam://open/bigpicture"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
"do": "",
|
"do": "",
|
||||||
"undo": "setsid steam steam://close/bigpicture"
|
"undo": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"image-path": "steam.png"
|
"image-path": "steam.png"
|
||||||
|
|||||||
@@ -1,31 +1,17 @@
|
|||||||
{
|
{
|
||||||
"env": {
|
"env": {
|
||||||
"PATH": "$(PATH):$(HOME)/.local/bin"
|
"PATH": "$(PATH):$(HOME)/.local/bin:/usr/games"
|
||||||
},
|
},
|
||||||
"apps": [
|
"apps": [
|
||||||
{
|
|
||||||
"name": "Desktop",
|
|
||||||
"image-path": "desktop.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Low Res Desktop",
|
|
||||||
"image-path": "desktop.png",
|
|
||||||
"prep-cmd": [
|
|
||||||
{
|
|
||||||
"do": "xrandr --output HDMI-1 --mode 1920x1080",
|
|
||||||
"undo": "xrandr --output HDMI-1 --mode 1920x1200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"setsid steam steam://open/bigpicture"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
"do": "",
|
"do": "",
|
||||||
"undo": "setsid steam steam://close/bigpicture"
|
"undo": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"image-path": "steam.png"
|
"image-path": "steam.png"
|
||||||
|
|||||||
@@ -1,31 +1,17 @@
|
|||||||
{
|
{
|
||||||
"env": {
|
"env": {
|
||||||
"PATH": "$(PATH):$(HOME)/.local/bin"
|
"PATH": "$(PATH):$(HOME)/.local/bin:/usr/games"
|
||||||
},
|
},
|
||||||
"apps": [
|
"apps": [
|
||||||
{
|
|
||||||
"name": "Desktop",
|
|
||||||
"image-path": "desktop.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Low Res Desktop",
|
|
||||||
"image-path": "desktop.png",
|
|
||||||
"prep-cmd": [
|
|
||||||
{
|
|
||||||
"do": "xrandr --output HDMI-1 --mode 1920x1080",
|
|
||||||
"undo": "xrandr --output HDMI-1 --mode 1920x1200"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Steam Big Picture",
|
"name": "Steam Big Picture",
|
||||||
"detached": [
|
"detached": [
|
||||||
"setsid steam steam://open/bigpicture"
|
"bash -lc 'id steam >/dev/null 2>&1 || useradd -m -s /bin/bash steam; ROOT=/home/steam/.local/share/Steam/debian-installation; mkdir -p ${ROOT} /tmp/xdg-steam /home/steam/tmp; ln -sfn /home/steam/.local/share/Steam /home/steam/.steam; chown -R steam:steam /home/steam /tmp/xdg-steam; runuser -u steam -- nohup env DISPLAY=:99 HOME=/home/steam XDG_RUNTIME_DIR=/tmp/xdg-steam TMPDIR=/home/steam/tmp LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 bash -lc \"cd ${ROOT} && exec dbus-run-session -- /usr/games/steam -tenfoot -fullscreen -no-cef-sandbox\" >/home/steam/steam-app.log 2>&1 < /dev/null &'"
|
||||||
],
|
],
|
||||||
"prep-cmd": [
|
"prep-cmd": [
|
||||||
{
|
{
|
||||||
"do": "",
|
"do": "",
|
||||||
"undo": "setsid steam steam://close/bigpicture"
|
"undo": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"image-path": "steam.png"
|
"image-path": "steam.png"
|
||||||
|
|||||||
Reference in New Issue
Block a user