このスクリプトは、最新の UMU および GE-Proton をインストールし、compatdata フォルダー パス内の「NonSteamLaunchers」という 1 つの一意の Proton プレフィックス フォルダーの下に NonSteamLaunchers をインストールし、Steam ライブラリに追加します。また、Steam が再起動されるたびにゲームが自動的に追加されます。したがって、デスクトップまたはゲームモードで使用できます。ローカル セーブとクラウド セーブがサポートされているほか、マルチプレイヤー/オンライン サポートもサポートされています (ランチャーを使用しているため)。明らかに、特定のアンチチート ゲームは Linux 環境では動作しません。これはゲームごとに異なります。
最も人気のあるランチャーを Steam デッキに自動インストールしますか?
選択したランチャーとゲーム、アートワークのダウンロードとインストールが自動的に処理されます。 ⌚️
MicroSDサポート?このスクリプトは、プレフィックス全体の microSD への移動をサポートしています。このスクリプトはランチャーとゲームを SD カードにインストールし、Steam のランチャーは SD カードのインストールを指します。これにより、Steam Deck の内部ストレージ容量を節約できます。
ProtonTricks は、NonSteamLaunchers のデフォルトのインストール (1 つのプレフィックス) と互換性があります。これにより、NonSteamLaunchers ショートカットがライブラリに追加されます...このショートカットは何も行いません。ライブラリで「このゲームを非表示にする」だけです。プロパティを右クリックし、「管理」および「このゲームを非表示」を選択します。もう心配する必要はありません。ゲームやランチャーを修正するために ProtonTricks を開いた場合、アクセスできるようになりました。
知らなかった場合に備えて、ランチャーをインストールするときに「個別のアプリ ID」にチェックマークを付けることもできます。これにより、すべてのランチャーがそれぞれのプレフィックスにインストールされます。 ProtonTricks と自動的に連携します!
コマンドラインの準備が整い、オンラインから呼び出すことができます。ランチャーのインストール例は次のとおりです/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- "Epic Games"'
実際、NSL は多くの Linux ディストリビューションにインストールできます。自由に試してみてください。以下にいくつかの例を示します。Ubuntu LTS、ChimeraOS、Nobara、Arch Linux だけでなく、この opensuse - tumbleweed - wayland などの KDE 環境にもインストールできます。何らかの理由で、NonSteamLaunchers が完全にインストールされているかどうかにかかわらず、お知らせください。
RemotePlayWhatever も NSL にバンドルされており、非 Steam ゲーム間のローカルおよび協力プレイを可能にします。これは m4Engi によって作成されています。リポジトリはここにあります
Ludusavi もプリインストールされており、ゲームのセーブ バックアップ用に NSL がセットアップされています。すべてのゲームがこれで動作するわけではありませんが、まだバックアップされていないゲームを削除したりアンインストールしたりする場合は、これを念頭に置いてください。ここにリポジトリがあります。
UMU Launcherは自動的に使用され、ゲームやLauncherごとに処理されます。必要に応じてプロトンGEが使用されます。
ステップバイステップの記事 ???ここ ???
「NSLGameScanner.service」は、このスクリプトを使用するときにも稼働し、スクリプトが閉じられた後も継続し、Steam デッキが再起動した後でも機能します。これはサービス ファイルとしてバックグラウンドで動作し、Steam が再起動されるたびにゲームをライブラリに自動的に追加します。現在追加されているもの:
NSLGameScanner.service を停止するには、NSL を開いて「Stop NSLGameScanner」を押します。次に、再起動するかどうかを尋ねるメッセージが表示されます。「いいえ」をクリックすると、それだけです。
/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- "Epic Games"'
すべてのランチャーは、 "Epic Games"
"Ubisoft Connect"
などのように名前を付けてインストールできます。
すべてのランチャーは"Uninstall Epic Games"
"Uninstall Ubisoft Connect"
などのように名前を付けることでアンインストールできます。
呼び出すこともできるコマンドのリストは次のとおりです。
"Start Fresh"
"Update Proton-GE"
"Stop NSLGameScanner"
"Move to SD Card"
「SD カードに移動」機能はこの形式でのみ呼び出すことができます
/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- "Move to SD Card" "EpicGamesLauncher"
/bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- "Move to SD Card" "NonSteamLaunchers"
このスクリプトについて提案や改善がある場合は、お気軽にイシューをオープンするか、プル リクエストを送信してください。
ko-fi、liberapay で私に寄付するか、github または patreon で私をスポンサーしてください。
Dockerをインストールします。インストールすると、VSCode ネイティブの Docker コンテナを備えたクリーンな開発環境が自動的に起動されます。
/opt/venv/bin/python
) を選択する必要がある場合がありますVSCode 拡張機能 (開発コンテナ)
VSCode が存在しない場合、または Python 部分 (cf. __init__.py
) のみが作業されている場合は、Docker コンテナーを単独で実行することができます。コンテナーは、正しいバージョンの Python と依存関係 (ipython、rich など) をrequirements.txt
にインストールします。
# navigate to directory with Dockerfile
cd .devcontainer/
# build image
docker build -t nonsteamlaunchers .
# run container
docker run -it --rm --name=mynonsteamlaunchers --workdir=/app -v $( pwd ) :/app nonsteamlaunchers bash
# exit container
exit
Python モジュールには便利ですが、コア シェル スクリプトをカバーする開発コンテナ部分と比較すると余分です。
# create virtual environment
python -m venv .venv
# activate virtual environment
source .venv/bin/activate
# install dependencies
python -m pip install -r requirements.txt
pre-commit フックはpre-commit
経由でインストールされ、 git commit
で自動的に実行されます。
最も重要なことは、 ruff
すべての Python コードをリントするために使用されることです。
pre-commit install
git commit
時にプリコミットフックを自動的にトリガーするgit add .
git commit -m " commit message "
--no-verify
フラグを使用して実行できます。 git commit -m " commit message " --no-verify
現在は強制されていませんが、従来のコミットを使用すると、release-please を通じて変更ログとバージョン番号を自動的に生成できます。
これを支援するために、commitizen ツールをインストールできます。
# install cz
npm install -g commitizen cz-conventional-changelog
# make repo cz friendly
commitizen init cz-conventional-changelog --save-dev --save-exact
npm install
# add file to commit
git add .gitignore
# run cz
λ git cz
[email protected], [email protected]
? Select the type of change that you ' re committing: chore: Other changes that don ' t modify src or test files
? What is the scope of this change (e.g. component or file name): (press enter to skip) .gitignore
? Write a short, imperative tense description of the change (max 81 chars):
(17) update .gitignore
? Provide a longer description of the change: (press enter to skip)
? Are there any breaking changes ? No
? Does this change affect any open issues ? No
[main 0a9920d] chore(.gitignore): update .gitignore
1 file changed, 131 insertions(+)
λ git push
TL;DR : Ruff フォーマッタは、Rust で書かれた非常に高速な Python フォーマッタです。 Black よりも 30 倍以上、YAPF よりも 100 倍速く、大規模な Python プロジェクトをミリ秒でフォーマットし、同時に 99.9% 以上の Black 互換性を実現します。
# check for errors
ruff check .
# fix (some) errors automatically
ruff check . --fix
asdf plugin-add python
asdf plugin-add poetry https://github.com/asdf-community/asdf-poetry.git
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf install
# install stable python
asdf install python < latest | 3.11. 4>
# set stable to system python
asdf global python latest
.shellcheckrc
さまざまな bash 言語ルールを除外します。 Shellcheck 拡張機能を使用するときに、ノイズと正当な警告/エラーを制御するのに役立ちます。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、 LICENSE
ファイルを参照してください。