
私は見てきましたこの質問しかし、それは自動的に行われるものではなく、ゲームを開始および停止するたびに 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%"
また、dconf ではなく gsettings の使用も試みました。ただし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 は、dconf が x64 ライブラリを見つけられないため、Steam の x32 環境から抜け出すためのものです (もっと良い方法があるかもしれません)。これが、「起動オプション」から失敗する原因だと思います。
また、複数のゲームがそのスクリプトを通じて実行されるときにキーバインドを正しく復元できるように、ロックを追加することもできます。
追伸何が問題なのかを知るにはどうすればよいでしょうか? stderr をファイルに出力するだけです:
dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr