在 Steam 中,如何在遊戲啟動時自動停用 HUD 熱鍵,並在遊戲關閉時重新啟用它?

在 Steam 中,如何在遊戲啟動時自動停用 HUD 熱鍵,並在遊戲關閉時重新啟用它?

我看過這個問題但它沒有什麼自動的,我不會在每次開始和停止玩遊戲時嘗試打開 GUI 並擺弄設定。

在 Steam 中,可以編輯遊戲的啟動選項。例如,我使用 bumblebee 透過新增primusrun %command%到啟動選項來啟用筆記型電腦的 nvidia 卡。在這裡,我們應該能夠呼叫開始和結束腳本(或只是將一些命令串在一起),以在遊戲過程中停用 HUD 熱鍵按鈕,並在之後重新啟用它們。也許是類似的東西launchscript ; %command% ; endscript

這意味著我們需要一種命令列方式來啟用和停用 HUD 熱鍵。這個答案顯示 CLI 方法。我已經嘗試過了,它可以在終端上運行,但當我嘗試透過 Steam 中的啟動選項呼叫它時卻不行。當嘗試使用它時,bash -c我遇到了分隔符號的問題,但使用 gsettings 解決了這個問題。

我已嘗試以下所有方法但沒有成功:

dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]'' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%'

bash -c "dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%"

我也嘗試過使用 gsettings 而不是 dconf。例如,bash -c 'gsettings set org.compiz.integrated show-hud '[""]'' ; primusrun %command%但它又可以在終端機中運行,但不能從啟動選項中運行。

我很確定我遇到了文法問題,我怎麼能讓它正常運作?

答案1

製作腳本諾胡德倫普里默斯倫已經完成了:

#!/bin/sh

old_key="$(LD_LIBRARY_PATH=/usr/lib dconf read /org/compiz/integrated/show-hud)"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "['']" 
"$@"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "$old_key"

並像這樣調用它:

nohudrun primusrun %command%

LD_LIBRARY_PATH=/usr/lib 用於脫離 Steam 的 x32 環境,因為 dconf 找不到 x64 函式庫(也許有更好的方法)。我認為這就是它從“啟動選項”失敗的原因。

您還可以添加一些鎖定,以便在透過該腳本運行多個遊戲時能夠正確恢復鍵綁定。

聚苯乙烯如何知道出了什麼問題?只需將 stderr 列印到文件:

dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr

相關內容