Предотвратить зависание компьютера при простое

Я думаю, что причина, по которой это не работает, в том, что две команды aliasзапускаются после завершения сеанса bash, начатого sudo. Вы могли сделайте тестовый -источник скрипта, когда начнется новая сессия, нажмите Ctrl-d , чтобы выйти из него, а затем в исходном типе оболочки:

$ type cd1
cd1 is aliased to `cd /dir/one/'
$ type cd2
cd2 is aliased to `cd /dir/two/'

Я могу добиться того, чего вы хотите, с помощью скрипта expect, но я не эксперт на то так критика приветствуется:

#!/usr/bin/expect -f

spawn sudo -u otheruser -i
send "alias cd1='cd /dir/one/'"
send "\n"
send "alias cd2='cd /dir/two/'"
send "\n"

interact

Убедитесь, что у вас действительно установлен expectперед запуском этой программы. сценарий.

Возможно, вы сможете установить expectи tcl(, которые для этого требуются ), используя диспетчер пакетов вашей системы. Если вам нужно установить его вручную, см. инструкции для Expect по адресу http://expect.sourceforge.net/. Файлы README/INSTALL для Expect указывают вам на некоторые места для получения Tcl, но они кажутся устаревшими. Однако вы можете получить копию Tcl из ActiveState.

0
12.12.2019, 22:52
1 ответ

Я рекомендую вам использовать кофеин -нг:https://github.com/caffeine-ng/caffeine-ng. Это небольшое приложение в строке состояния, которое предотвращает активацию как заставки, так и режима сна / приостановки.

Вы можете установить его на Arch Linux с помощью пакета AUR caffeine -ng:

$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/caffeine-ng.tar.gz
$ tar -xvf caffeine-ng.tar.gz
$ cd caffeine-ng/
$ makepkg
$ sudo pacman -U caffeine-ng-*-any.pkg.tar.xz
0
28.01.2020, 03:01

Теги

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