สคริปต์นี้จะติดตั้ง UMU & GE-Proton ล่าสุด และติดตั้ง NonSteamLaunchers ภายใต้โฟลเดอร์คำนำหน้า Proton ที่ไม่ซ้ำกันในพาธโฟลเดอร์ compatdata ของคุณที่เรียกว่า "NonSteamLaunchers" และเพิ่มลงในคลัง Steam ของคุณ นอกจากนี้ยังจะเพิ่มเกมโดยอัตโนมัติทุกครั้งที่รีสตาร์ท Steam ดังนั้นคุณสามารถใช้มันบนเดสก์ท็อปหรือในโหมดเกมได้ รองรับการบันทึกในเครื่องและการบันทึกบนคลาวด์ รวมถึงการสนับสนุนผู้เล่นหลายคน/ออนไลน์ (เพราะคุณใช้ตัวเรียกใช้งาน) แน่นอนว่าเกมป้องกันความร้อนบางเกมจะไม่ทำงานในสภาพแวดล้อมของ Linux นี่คือเกมต่อเกม
การติดตั้งตัวเรียกใช้งานยอดนิยมใน Steam Deck ของคุณโดยอัตโนมัติ
จัดการการดาวน์โหลดและติดตั้งตัวเรียกใช้งานที่คุณเลือกและเกมรวมถึงอาร์ตเวิร์คโดยอัตโนมัติ!
รองรับไมโครเอสดี ? สคริปต์นี้รองรับการย้ายคำนำหน้าทั้งหมดไปยัง microSD สคริปต์จะติดตั้งตัวเรียกใช้งานและเกมลงในการ์ด SD ของคุณ และตัวเรียกใช้งานใน Steam จะชี้ไปที่การติดตั้งการ์ด SD สิ่งนี้ช่วยให้คุณประหยัดพื้นที่จัดเก็บข้อมูลภายในบน Steam Deck ของคุณ!
ProtonTricks เข้ากันได้กับการติดตั้งเริ่มต้นของ NonSteamLaunchers (หนึ่งคำนำหน้า) สิ่งนี้จะเพิ่มทางลัด NonSteamLaunchers ในคลังของคุณ...ทางลัดนี้ไม่ได้ทำอะไรเลย สิ่งที่คุณต้องทำก็แค่ "ซ่อนเกมนี้" ในห้องสมุดของคุณ คลิกขวาที่คุณสมบัติแล้วเลือก "จัดการ" และ "ซ่อนเกมนี้" คุณไม่ต้องกังวลเกี่ยวกับมันอีกต่อไป! หากคุณต้องเปิด ProtonTricks เพื่อแก้ไขเกมหรือตัวเรียกใช้งานใด ๆ ก็สามารถเข้าถึงได้แล้ว!
ในกรณีที่คุณไม่ทราบ คุณสามารถเลือกทำเครื่องหมาย "Separate App Id's" เมื่อติดตั้ง Launcher ซึ่งจะติดตั้ง Launcher ทั้งหมดในแต่ละคำนำหน้าของตัวเอง ทำงานอัตโนมัติกับ ProtonTricks!
พร้อมบรรทัดคำสั่ง คุณสามารถเรียกได้จากออนไลน์ นี่คือตัวอย่างการติดตั้ง Launcher /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 distros จำนวนมาก อย่าลังเลที่จะลอง นี่คือตัวอย่างบางส่วนของ ... Ubuntu LTS, ChimeraOS, Nobara และ Arch Linux รวมถึงสภาพแวดล้อมของ KDE ใด ๆ เช่น opensuse นี้ - tumbleweed - wayland หาก ไม่ว่าด้วยเหตุผลใดก็ตามที่คุณพบว่า NonSteamLaunchers ติดตั้งได้อย่างสมบูรณ์หรือไม่ โปรดแจ้งให้เราทราบ!
RemotePlay อะไรก็ตามที่มาพร้อมกับ NSL เพื่อให้สามารถเล่นแบบท้องถิ่นและแบบร่วมมือระหว่างเกมที่ไม่ใช่ Steam ได้ ซึ่งสร้างขึ้นโดย m4Engi นี่คือ repo ที่นี่
นอกจากนี้ Ludusavi ยังได้รับการติดตั้งล่วงหน้าและตั้งค่าสำหรับ NSL สำหรับเกมของคุณเพื่อบันทึกข้อมูลสำรอง ไม่ใช่ทุกเกมที่จะใช้งานได้ แต่โปรดจำไว้ว่าเมื่อลบหรือถอนการติดตั้งเกมที่ยังไม่ได้สำรองข้อมูล นี่คือ repo ที่นี่
UMU Launcher จะถูกใช้งานโดยอัตโนมัติและประมวลผลสำหรับแต่ละเกมและ Launcher จะมีการใช้ Proton GE เมื่อจำเป็น
บทความทีละขั้นตอน ??? ที่นี่ ???
"NSLGameScanner.service" จะยังคงใช้งานได้เมื่อคุณใช้สคริปต์นี้และดำเนินการต่อหลังจากสคริปต์ถูกปิด และยังใช้งานได้หลังจาก Steam Deck ของคุณรีสตาร์ทแล้ว ซึ่งทำงานอยู่เบื้องหลังเป็นไฟล์บริการเพื่อเพิ่มเกมของคุณไปยังคลังของคุณโดยอัตโนมัติทุกครั้งที่รีสตาร์ท 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 จะถูกหมุนโดยอัตโนมัติ
/opt/venv/bin/python
) ก่อนส่วนขยาย VSCode (คอนเทนเนอร์ Dev)
หากไม่มี 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 แต่พิเศษกว่าเมื่อเปรียบเทียบกับส่วนคอนเทนเนอร์ dev ที่ครอบคลุมเชลล์สคริปต์หลัก
# 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 hooks ได้รับการติดตั้งผ่าน pre-commit
และทำงานโดยอัตโนมัติบน git commit
สิ่งสำคัญที่สุดคือ ruff
ใช้เพื่อลบโค้ดหลามทั้งหมด
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 เป็นตัวจัดรูปแบบ Python ที่เร็วมากซึ่งเขียนด้วยภาษา Rust เร็วกว่า Black มากกว่า 30 เท่าและเร็วกว่า YAPF ถึง 100 เท่า จัดรูปแบบโปรเจ็กต์ Python ขนาดใหญ่ในหน่วยมิลลิวินาที — ทั้งหมดนี้ทำได้โดยสามารถเข้ากันได้กับ Black >99.9%
# 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
สำหรับข้อมูลเพิ่มเติม