lubuntu, как выполнить 2 команды в файле .desktop?

11

Я создал файл .desktop, в /etc/xdg/autostartкотором запускается команда

Exec= disper -d LVDS,VGA-0 -r auto -e -t right

Теперь я хочу добавить вторую команду для запуска после первой команды. Как мне это сделать ?

Эйконикос Эйкон
источник
1
Создайте скрипт bash, запустите в нем несколько команд и запустите скрипт bash из своего .desktop?
Луи Матейссен

Ответы:

12

Помимо вызова внешнего bash-скрипта есть такая опция:

Exec=sh -c "disper -d LVDS,VGA-0 -r auto -e -t right; echo Running other command; echo ...and an other one"
Алголь
источник
Я использую этот вариант для устранения некоторых conkyпроблем: Exec=sh -c "gnome-terminal & killall -SIGUSR1 conky"
Tfb9
2

По данным этого источника :

ExecКлюч должен содержать командную строку. Командная строка состоит из исполняемой программы, за которой может следовать один или несколько аргументов.

Мое понимание вышеизложенного состоит в том, что Execключ поддерживает одну команду, и эта команда может содержать только 1 исполняемый файл, за которым следуют аргументы для исполняемого файла.

Мои тесты для объединения команд:

firefox && gedit
firefox & gedit
firefox ; gedit

в результате второй исполняемый файл читается как аргумент, который, кажется, подтверждает текст.

манго
источник
2

Самый простой способ - обернуть все это в сценарий. Например:

#!/bin/bash

disper -d LVDS,VGA-0 -r auto -e -t right
second_command_here

Сохраните его где-нибудь, например ~/bin/my_wrapper_script.sh, и сделайте его исполняемым. Затем измените Execстроку вашего .desktopфайла, чтобы указать на него:

Exec=/home/my_username/my_wrapper_script.sh
Скотт Северанс
источник