Как запустить программу, чтобы она думала, что это единственная вещь на компьютере?

По умолчанию Bash сохраняет историю при выходе из оболочки. Таким образом, он потеряет свою текущую историю, если будет изящно уничтожен без -.

Вы можете сохранить текущую историю Bash, запустив:

$ history -a

Зная это, вы можете заставить Bash сохранять свою историю после каждой выполненной команды, запустив history -aпосле каждой выполненной команды. Один из способов сделать это через командную строку Bash:

PROMPT_COMMAND='history -a'

Это работает, потому что подсказка Bash будет выполнять $PS1, $PROMPT_COMMANDи другие действия при каждой новой подсказке.

Вот отличная запись в блоге, которая натолкнула меня на эту идею:https://sanctum.geek.nz/arabesque/better-bash-history/

0
01.05.2020, 09:47
2 ответа

Для этого есть несколько решений, но я думаю, что наиболее подходящим будет Контейнеры Linux . Он легче, чем виртуальная машина, и не должен сильно влиять на производительность. Я знаю, что вы используете Debian, но эта страница в Arch Wiki, скорее всего, будет очень полезной.

0
28.04.2021, 23:16

Для минимальных проблем с настройкой без накладных расходов на полный эмулятор рассмотритеfirejail. Например, это запускает somegame и сохраняет отдельную многократно используемую оверлейную файловую системуfoobar , которая является единственным somegame чтением или записью данных в:

firejail --overlay-named foobar somegame 

Если нет необходимости повторно использовать оверлей, (чтобы какая-то игра забывала все при каждом запуске ), сократите приведенную выше команду до:

firejail --overlay somegame
0
28.04.2021, 23:16

Теги

Похожие вопросы