桌面条目,或其他方便但安全的方式来执行多个语句,

桌面条目,或其他方便但安全的方式来执行多个语句,

我在 Ubuntu 15.4 上运行 Gnome。

我想同时执行两个或更多操作,但让我们尝试两个:

  • sudo pm-暂停
  • gnome 屏幕保护程序命令 -l

已添加 pm-suspend,并且允许通过指定以下内容无需提供密码即可执行:

%sudo ALL = (root) NOPASSWD: /usr/sbin/pm-suspend`

文档 - 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"

相关内容