Установка значения по умолчанию для программы в Linux
Как ни странно, я не могу найти информацию о том, как я могу установить красивое значение по умолчанию для программы (не для пользователя или группы!). Я хотел бы запустить все экземпляры Chrome и Firefox с хорошим значением 10. Какое решение будет наиболее подходящим?
3 ответа
Вместо того, чтобы испортить свой /usr/bin
и получать все обновления, почему бы не использовать ~/.local/bin
?
## one-time setup
mkdir -p ~/.local/bin
# prepend new path to PATH to give it priority
echo 'PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
# then open new terminal or
source ~/.bashrc
## create a wrapper script
# $@ is there to passthrough args.
echo 'nice -10' `which firefox` '$@' > ~/.local/bin/firefox
# make it executable
chmod +x ~/.local/bin/firefox
# check sanity
which firefox
cat `which firefox`
Вы должны немного поработать.
Сначала получите полный путь к файлу Firefox:
which firefox
/usr/bin/firefox
Теперь переместим это, например, в firefox-original:
mv /usr/bin/firefox /usr/bin/firefox-original
Теперь создайте небольшой скрипт-обработчик с именем /usr/bin/firefox
это будет вызвано вместо оригинального двоичного файла firefox:
cat /usr/bin/firefox
#!/bin/bash
exec nice - n 10 /usr/bin/firefox-original "$@"
Наконец, сделайте скрипт исполняемым:
chmod 755 /usr/bin/firefox
Теперь каждый раз, когда запускается firefox, этот скрипт выполняет двоичный файл с хорошим значением 10. $@
просто означает передать все аргументы скрипта в двоичный файл.
Создайте сочетание клавиш, которое будет выполнять следующую команду:
nohup firefox & renice +15 $(pgrep firefox)
Это должно работать независимо от того, обновляете ли вы.