Запуск нескольких копий нативного (Linux) Steam

image

Исходя из описания названия темы, можно задаться вопросом: “А зачем оно надо вообще?”. Ну, допустим, приобретается аккаунт в аренду с определенной игрой, покупателю выдается логин с паролем вместе с инструкцией запуска, где необходимо либо выйти из основного аккаунта, либо использовать другого пользователя, что может быть геморройно. Но есть способ куда проще, при этом можно продолжать пользоваться основным аккаунтом и не создавать пользователя.

Речь идет о программе firejail, которая позволяет запускать все что угодно в песочнице.

Для начала убеждаемся, что у нас установлен Steam. Если да, переходим к установке firejail.

Установка firejail для различных дистрибутивов
Debian
https://packages.debian.org/bullseye-backports/firejail
Ubuntu
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
Arch Linux

Перед установкой необходимо убедиться, что добавлен репозиторий “extra”, и выполнить команду:

sudo pacman -S firejail
Остальные дистрибутивы
https://repology.org/project/firejail/versions

После установки нам остается лишь создать отдельную папку под вторую (третью/четвертую/пятую,…,n копию). Самым простым способом будет создать папку в файловом менеджере. Если такого нет, выполняем команду в терминале (путь можно задать вручную, это не скажется на работе программы):

mkdir ~/steam2

Теперь в домашнем каталоге у нас появилась папка для стима, осталось написать скрипт для запуска (nano не обязателен, можно воспользоваться своим любимым текстовым редактором):

nano ~/steam2.sh

Добавляем сюда 2 строчки.

#!/bin/bash
firejail --private=~/steam2 steam "$@"

Сохраняем скрипт и делаем его исполняемым.

chmod u+x ~/steam2.sh

Запускаем скрипт.

 ~/steam2.sh

Дожидаемся завершения установки, логинимся в аккаунт.
Теперь можно запустить, например, стим со своим основным аккаунтом. У меня все это дело выглядит так:


Если после установки, как и у меня, Steam открывается на английском языке, кликаем на значок Steam в левом верхнем углу, нажимаем “Settings”. Переходим во вкладку “Interface” и меняем Steam Client Language на родной язык.


Перезагружаем Steam.

После перезагрузки обязательно кликаем на значок Steam в левом верхнем углу и переходим в “Настройки”. Открываем вкладку “Совместимость”.


Включаем Steam Play для всех других продуктов.
Также дополнительно можно указать основной Proton для запуска. Я по умолчанию оставляю версию Proton 9.0-2.
image

На этом вся настройка Steam завершена. Точно так же можно проделать с третьей, четвертой копией Steam, добавляя новые папки и меняя их названия, не забыв прописать отдельный скрипт для каждого (например, steam3, steam4 и т.д.).

3 лайка

Я так понимаю если я покупаю игру в стиме для оффлайн игры то я смогу этим гайдом играть в нее и пользоваться основным аккаунтом верно? И хотел спросить нет ли видео гайда по такому запуску а то не совсем понятно как именно запускать

Да, для этого гайд и делался. Проверил на двух разных аккаунтах с оффлайн активацией Resident Evil 4 (2023) и Hogwarts Legacy, при этом дальше пользуюсь основным аккаунтов без проблем, главное, после первого запуска перевести стим в оффлайн режим, чтобы потом не ждать переактивации Denuvo (варьируется от часа до целого дня).

Видеогайды я, к сожалению, не записываю, а запускать Steam нужно будет со скрипта все время, ничего сложного. Если все еще не до конца понимаешь, напиши мне в дискорде PortProton, я почти всегда в сети, увидишь меня в помощниках.

А можно ли как то будет сделать чтоб для каждой игры которая для оффлайн игры был свой ярлык стим чтоли
Жмешь ярлык стима для этой игры с нужным скриптом и там только эта игра? Или вы об этом и говорили?

Да, можно сделать ярлык и в качестве программы повесить скрипт, обозвать ярлык типа “Steam Hogwarts Legacy”, но это еще зависит от системы. В KDE, например, $HOME/.local/share/applications/ создаешь ярлык Steam_Hogwarts.desktop, в свойствах, вкладке “Приложение” программу указываем /home/имя_пользователя/steam2.sh, аргументы не нужны, рабочий путь /home/имя_пользователя. Пути надо поменять, в зависимости от того, где скрипт и какое имя пользователя указано при установке. Вот и все :wink: