Запустите Shell Script после нажатия кнопки - YAD

Попытка «sudo teamviewer -daemon start» на самом деле ничего не делает для меня (Linux Mint) - поэтому решение будет:

sudo teamviewer --daemon enable

Если служба демона, безусловно, перестает работать, то это разрешение снова запустите демон, телевизор готов к использованию.

найдено решение на этой странице

найдено решение на этой странице

1
задан 8 January 2016 в 13:05

2 ответа

Альтернативы: 1. Вы можете использовать случай, а не так:

case $ret in
    1) /path/to/script1 ;;
    2) /path/to/script2 ;;
    3) /path/to/script3 ;;
esac
Вы могли бы поочередно вызывать скрипты непосредственно с каждой кнопки, без необходимости манипулировать $? return code using this synthax: --button = "ShellScript1: bash /path/to/script1.sh"

В моем подобном скрипте с yad-списком это отлично работает:

yad --list --width=800 --height=600 --center \
    --button="Display":"/home/gg/Tests/yadabout.sh" --button="Cancel":0  \
    --column "ID" --column "File" \
    --column "Exec" "${list[@]}") 
[d6 ] Разница: когда вы назначаете код выхода / идентификатор каждой кнопке, после нажатия кнопки yad возвращает значение переменной (файлы в вашем коде), а диалог yad завершается.

Если вместо этого идентификатор кнопки вы назначаете команду для запуска (пример 2 выше), тогда диалог yad остается на экране и не выходит. Но в этом режиме нет возвращаемого значения yad, и поэтому вы не можете разобрать выбор из диалога yad в эту внешнюю команду / скрипт (не на 100% уверен, но я еще не нашел способа сделать это). [ ! d7]

0
ответ дан 23 May 2018 в 14:27
  • 1
    Большое вам спасибо Джордж за вашу помощь и полезные советы. – Geroge 23 November 2016 в 01:45

Чтобы уточнить предыдущий ответ:

processes=$(yad --width 100 --height 100 --title "Chose Process" --text="Select" --button="Run Cmd":1 --on-top --center)
ret=$?
if [[ $ret -eq 1 ]]; then
  /path/process.sh
fi
-1
ответ дан 23 May 2018 в 14:27

Другие вопросы по тегам:

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