桌面输入,或执行多个语句的其他方便但安全的方式,

我在Ubuntu 15.4上运行Gnome。

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

  • 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; 

我愿意接受任何其他建议如何实现给定的function,除了:

  • 制作一个脚本并以sudo或类似方式运行它 – 我考虑基于这种不安全的解决方案,让我们不要深入研究这个问题
  • 使用gnome电源开关或任何被调用的东西(右上角) – 我没有选择暂停

另外,虽然我很乐意拥有上述内容,但我会更乐意得到一个答案,说明如何启动多个不同的命令(没有脚本/编译自己的二进制等),以防万一喜欢捆绑和自动化其他一些动作。

要在一个启动程序中运行多个命令,您需要使用以下语法:

 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"