Я посмотрел на этот вопрос , но в нем нет ничего автоматического, я не пытаюсь открывать графический интерфейс и настраивать параметры каждый раз, когда начинаю и заканчиваю играть в игру.
В Steam можно редактировать параметры запуска игры. Например, я использую шмеля для включения карты nvidia моего ноутбука, добавив primusrun %command%
к параметрам запуска. Здесь мы должны иметь возможность вызывать начальный и конечный сценарии (или просто соединять вместе некоторые команды), чтобы отключить кнопки горячих клавиш 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%
но опять-таки он работает в терминале, но не из параметров запуска.
Я почти уверен, что у меня просто проблемы с синтаксисом, как мне заставить это работать должным образом?
Сделайте сценарий nohudrun как , primusrun сделан:
#!/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 для повреждения от x32 среды Пара, потому что dconf не может найти, что x64 освобождает (возможно, существует лучший путь). Это - причина, почему она перестала работать от 'опций запуска', я думаю.
можно также добавить некоторую блокировку, чтобы смочь правильно восстановить привязку клавиш, когда несколько игр прокручены тот сценарий.
P. S. , Как знать что случилось? Просто распечатайте stderr в файл:
dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr