Поэтому я попытался создать ярлык на рабочем столе, который выполняет очень простой сценарий оболочки. Но когда я дважды щелкаю / щелкаю правой кнопкой мыши -> выполняю, ничего не происходит. (или, по крайней мере, я думаю, что это ничего не делает)
вот как выглядит мой ярлык и скрипт оболочки: обратите внимание, что для ярлыка «Терминал» установлено значение 1, и я надеюсь, что это означает, что он открывает скрипт оболочки в новом окно терминала .. (у меня есть несколько открытых терминалов, которые не готовы к использованию (скрипты запущены))
Ярлык:
[Desktop Entry]
Version=1.0
Type=Application
Name=Test
Comment=Test
Exec=/home/(myusername)/test/test.sh
Icon=utilities-terminal
Terminal=true
StartupNotify=false
GenericName=Test
Сценарий оболочки:
#!/bin/sh
# (I tried both, /bin/bash and /bin/sh)
echo "hi"
И запись на рабочем столе, и сценарий оболочки должны иметь разрешения на выполнение. Выполните:
$ chmod +x path_to_shortcut/shortcut.desktop
$ chmod +x path_to_script/test.sh
Другой способ изменить разрешения для сценария - щелкнуть его правой кнопкой мыши, перейти в Свойства> Разрешения и установить флажок Разрешить выполнение файла как программы .
На случай, если кто-то придет сюда из поиска в Google ... В 14.04 было головной болью выполнить сценарий оболочки, который запускает Android Studio на смонтированном диске. Пробовал множество вещей, но у меня ничего не работало. В конце концов пришлось написать код ниже и скомпилировать с помощью:
gcc -o studio studio.c
, а затем создать ярлык для «studio» с рабочего стола, и теперь он, наконец, работает так, как должен.
Вот пример кода, вы можете заменить путь (/ media /.../studio.sh) в этом системном вызове после / bin / sh. Убедитесь, что это полный путь, и оставьте впереди «/ bin / sh».
#include <stdio.h>
int main(void) {
int ret = system("/bin/sh /media/jeneag/APPS/linux/android-studio/bin/studio.sh");
printf("app ret code: %d\n", ret);
return 0;
}