Запись на рабочем столе или другой удобный, но безопасный способ выполнения нескольких утверждений,
Я использую Gnome в Ubuntu 15.4.
Я хочу выполнить два или более действия одновременно, но давайте попробуем с двумя:
- sudo pm-suspend
- gnome-screensaver-command -l
pm-suspend был добавлен и разрешен для выполнения без предоставления паролей, указав:
%sudo ALL = (root) NOPASSWD: /usr/sbin/pm-suspend`
документация - Переменные / действия Exec и exec не имеют ссылок, если возможно наличие нескольких Exec, но, к сожалению:
[Desktop Entry]
_Name=Sleep and logout
_GenericName=Sleep and logout
#Exec=gnome-screensaver-command -l & sudo pm-suspend # does not work
#Exec=gnome-screensaver-command -l
#Exec=sudo pm-suspend # does not work either
Terminal=false
Type=Application
Categories=System;Security;
Я открыт для любых других предложений, как достичь данной функциональности, кроме:
- создать сценарий и запустить его как sudo или аналогичный - я рассматриваю решения, основанные на этом небезопасном, давайте не будем углубляться в это
- используйте выключатель питания gnome или как это называется (верхний правый угол) - у меня нет возможности приостановить
Кроме того, хотя я был бы рад получить то, что сказано выше, я был бы еще более рад получить ответы, в которых говорилось бы, как запускать несколько разных команд (без сценария / компиляции собственного двоичного файла и т. д.), на случай, если нравится связывать и автоматизировать некоторые другие действия.
1 ответ
Чтобы запустить несколько команд в одном модуле запуска, вам необходимо использовать следующий синтаксис:
Exec=/bin/bash -c "command_1 & command_2"
или, если второй должен ждать успешного завершения первого:
Exec=/bin/bash -c "command_1 && command_2"
или, как предложено Bytecommander (спасибо за завершение!), если command_2
должен ждать command_1
чтобы закончить, но все равно бежать command_1
заканчивается успешно или нет:
Exec=/bin/bash -c "command_1 ; command_2"