Как правильно сделать ярлык к shell-скрипту?
И можно ли сделать так чтобы окно терминала при этом не появлялось?
Пытался сделать через файл .desktop — не вышло, т.к. лишь на пару секунд открывается терминал с ошибкой о несуществовании файла.
UPD1: проблема оказалась куда проще. В .bashrc прописан PATH к Java 7. Однако при запуске с ярлыка используется не этот .bashrc . Осталось выяснить как вписать PATH к JAVA капитально для системы.
braindefender
18.06.13 12:36:09 MSK

xfce4-terminal -e /path/to/script.sh
Правда, терминал будет показываться только пока выполняется скрипт.
lampslave ★★
( 18.06.13 12:49:43 MSK )
И можно ли сделать так чтобы окно терминала при этом не появлялось?
Оно и не должно появляться если специально это не указать.
anonymous
( 18.06.13 12:51:59 MSK )

xterm а у него в параметре командную строку.
rezedent12 ☆☆☆
( 18.06.13 12:52:48 MSK )

сделать скрипт исполняемым и тупо кинуть линк на стол?
megabaks ★★★★
( 18.06.13 12:56:45 MSK )
Ответ на: комментарий от megabaks 18.06.13 12:56:45 MSK
когда просто запускаешь скрипт (двойным кликом) то ничего не происходит, а в терминале (Konsole) — работает.
Поэтому пробовал — не помогает
braindefender
( 18.06.13 13:02:29 MSK ) автор топика
Ответ на: комментарий от braindefender 18.06.13 13:02:29 MSK

почему у меня работает?
скрипт покажи
megabaks ★★★★
( 18.06.13 13:08:33 MSK )
Ответ на: комментарий от rezedent12 18.06.13 12:52:48 MSK
Сделав так получаю ошибку вида:
KDEInit could not launch ‘xterm’: Could not find ‘xterm’ executable.
braindefender
( 18.06.13 13:08:43 MSK ) автор топика
Ответ на: комментарий от megabaks 18.06.13 13:08:33 MSK
это скрипт для запуска Intellij IDEA Community Edition
braindefender
( 18.06.13 13:09:45 MSK ) автор топика
Ответ на: комментарий от braindefender 18.06.13 13:09:45 MSK

ты не показал скрипт
megabaks ★★★★
( 18.06.13 13:11:16 MSK )
chmod a+x /path/to/script && ln -s /path/to/script ~/Desktop/script
avsej ★
( 18.06.13 13:11:27 MSK )
Ответ на: комментарий от avsej 18.06.13 13:11:27 MSK

тред не читай && сразу отвечай?
megabaks ★★★★
( 18.06.13 13:11:54 MSK )
Ответ на: комментарий от braindefender 18.06.13 13:08:43 MSK

прыгни со 100500 этажа и фото запости сюда
тоже тупо и бездумно прыгнешь?
novitchok ★★★★★
( 18.06.13 13:13:31 MSK )
Ответ на: комментарий от megabaks 18.06.13 13:11:16 MSK
braindefender
( 18.06.13 13:14:28 MSK ) автор топика
Ответ на: комментарий от novitchok 18.06.13 13:13:31 MSK
ну зачем так сразу? просто же много способов перепробовал ничего не получается, вот и стараюсь сделать все что посоветуют. В пределах разумного, конечно.
braindefender
( 18.06.13 13:16:01 MSK ) автор топика
Ответ на: комментарий от avsej 18.06.13 13:11:27 MSK
когда просто запускаешь скрипт (двойным кликом) то ничего не происходит, а в терминале (Konsole) — работает.
braindefender
( 18.06.13 13:19:07 MSK ) автор топика
Ответ на: комментарий от braindefender 18.06.13 13:14:28 MSK

а теперь покажи права на этот файлик
megabaks ★★★★
( 18.06.13 13:22:21 MSK )
Ответ на: комментарий от megabaks 18.06.13 13:22:21 MSK
В правах во всех графах стоит — Can Read & Write. Is Executable — галочка
braindefender
( 18.06.13 13:24:08 MSK ) автор топика
Ответ на: комментарий от megabaks 18.06.13 13:22:21 MSK
мне кажется тут дело не в правах, ведь через терминал — все ок, а вот простой запуск дает лишь всплывающий на 1 сек. терминал (теперь уже пустой) или иногда просто индикатор того, что скрипт запускается (анимация курсора).
braindefender
( 18.06.13 13:26:11 MSK ) автор топика

$ cat /home/carasin/.local/share/applications/Смонтировать\ устройство\ MTP.desktop [Desktop Entry] Comment=Монтирование устройства MTP (в ~/MTP) Exec=mtp_m Icon=media-flash-memory-stick Name=Смонтировать устройство MTP NoDisplay=false Path[$e]= StartupNotify=false Terminal=0 TerminalOptions= Type=Application X-KDE-SubstituteUID=false X-KDE-Username= $ cat /home/carasin/.local/share/applications/Размонтировать\ устройство\ MTP.desktop [Desktop Entry] Comment=Размонтирование устройства MTP (из ~/MTP) Exec=mtp_u Icon=media-flash-memory-stick Name=Размонтировать устройство MTP NoDisplay=false Path[$e]= StartupNotify=false Terminal=0 TerminalOptions= Type=Application X-KDE-SubstituteUID=false X-KDE-Username= $ cat ~/.local/bin/mtp_m #!/bin/sh simple-mtpfs ~/MTP $ cat ~/.local/bin/mtp_u #!/bin/sh fusermount -u ~/MTP
carasin ★★★★★
( 18.06.13 13:37:33 MSK )
Ответ на: комментарий от carasin 18.06.13 13:37:33 MSK
здесь у вас скрипт лежит в папке .local/bin. За поиск его именно в этой папке отвечает строка Path[$e] ?? или автоматом там ищет?
braindefender
( 18.06.13 14:12:51 MSK ) автор топика
Ответ на: комментарий от braindefender 18.06.13 14:12:51 MSK

Автоматом ищет. В Fedora ~/.local/bin есть в переменных окружения. А вообще, эти *.desktop-файлы получились автоматом после создания соответствующих пунктов в меню KDE. Естественно, скрипты в ~/.local/bin должны быть исполняемыми.
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.045 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как создать ярлык в ubuntu для запуска sh shell скрипта
В некоторых случаях приложения для Ubuntu поставляются не в DEB-пакетах, а в архивах, в которых содержатся sh-скрипты для их запуска. И каждый раз ходить в папку со скриптами неудобно, поэтому рассмотрим создание ярлыка на примере приложения PyCharm — среды разработки на python.
Для создания ярлыка откроем терминал и введем команду для перехода в системную директорию c ярлыками:
cd /usr/share/applications/
Создадим ярлык командой:
sudo nano pycharm-idea.desktop
Далее вставляем в наш файл следующий текст:
[Desktop Entry] Name= Comment= GenericName= Keywords= Exec= Terminal=false Type=Application Icon= Path= Categories= NoDisplay=false
Опишем свойства:
Name — имя приложения, которое будет отображаться под иконкой в Главном меню;
Keywords — слова, по которым будет искаться данный ярлык в Главном меню;
Exec — строка запуска приложения;
Terminal — запускать или нет приложение в окне терминала;
Type — определяет «раздел» в главном меню, где будет находится ярлык приложения;
Icon — путь или общесистемное название иконки;
Path — путь к рабочему каталогу приложения;
Categories — категории, к которым будет относится ярлык приложения при выборе в Главном меню фильтров (проще всего подсмотреть в ярлыке другого приложения, категория которого вам подходит);
NoDisplay — не отображать иконку в главном меню (принимает значения true или false)
Для нашего примера заполним Name, Keywords, Exec и Icon:
[Desktop Entry] Name=pycharm Comment= GenericName= Keywords=idea, pycharm Exec=sh /home/deimos715/pycharm/bin/pycharm.sh Terminal=false Type=Application Icon=/home/deimos715/pycharm/bin/pycharm.png Path= Categories= NoDisplay=false
В результате ярлык должен появится в меню приложений, также в Ubuntu его можно добавить в избранное на док-панель.
Если приложение запускается не sh скриптом, а исполняем файлом, то из параметра «Exec» необходимо убрать «sh».
Как создать ярлык в Ubuntu для запуска sh (shell) скрипта
Есть программы в системе, которые вы запускаете с помощью sh скриптов.
В этой статье покажу как создать ярлык на sh (shell) скрипт в Главном меню Dash.
Советую почитать полезную статью про запуск sh скриптов в Ubuntu:
Буду показывать на примере приложения Intellij Idea.
Итак, запускается оно с помощью скрипта idea.sh :

В этой же папке находится и картинка (иконка), которую будем использовать для иконки ярлыка.
Приступим к созданию ярлыка для sh скрипта.
Открываем терминал.
Переходим по адресу, где лежат все наши ярлыки приложений: cd /usr/share/applications/
Теперь создаем ярлык нашего нового приложения командой: sudo gedit idea.desktop Вместо idea можно написать ваше название. Расширение desktop обязательно.
И вставляем в наш текстовый файл следующее содержимое:
[Desktop Entry]
Name=
Comment=
GenericName=
Keywords=
Exec=
Terminal=false
Type=Application
Icon=
Path=
Categories=
NoDisplay=false
Должно получиться как на скриншоте:

Теперь разберем эти свойства подробнее:
Name- имя приложения, которое будет отображаться под иконкой в Главном меню;
Keywords- слова, по которым будет искаться данный ярлык в Главном меню;
Exec- строка запуска приложения;
Terminal- (true или false)- запускать или нет приложение в окне терминала4);
Type- определяет «раздел» в Главном меню, где будет находится ярлык приложения;
Icon- путь или общесистемное название иконки;
Path- путь к рабочему каталогу приложения);
Categories- категории, к которым будет относится ярлык вашего приложения при выборе в Главном меню фильтров. Проще всего подсмотреть в ярлыке другого приложения, категория которого вам подходит.
NoDisplay(true или false)- Не отображать иконку в Главном меню(если true);
Заполним поля нашего приложения.
Нам достаточно заполнить Name и Exec.
Итак прописываем в Name то имя, которое хотим, чтобы отображалось в меню Dash Unity.
Остановимся поподробнее на поле Exec, сюда нужно прописать следующее, чтобы запустился sh скрипт:
Сначала команду запуска скриптов sh, затем путь до cкрипта sh (полностью путь до скрипта):
В моем случае путь до скрипта это: /home/edward/idea-IU-129.713/bin/idea.sh
Ваш путь можно легко скопировать, если вызвать свойства файла скрипта в файловом менеджере Наутилусе:

В поле Icon прописываем путь до нашей картинки (полностью):
В итоге должно получиться подобное заполнение:

Теперь можно найти наш ярлык в главном меню Dash:

И переместить его на панель быстрого запуска Unity.