Как выполнить скрипт sh из ярлыка на рабочем столе?

37

Я пытаюсь сделать ярлык для входа в мой сервер SSH:

ssh x.x.x.x

Я сделал следующий файл:

ssh_home.sh

Сделано это исполняемым:

sudo chmod +x ./ssh_home

Проверяется щелчком правой кнопкой мыши свойств, чтобы проверить, был ли он исполняемым и был ли он ..

Но что бы я ни делал, при двойном щелчке по нему запускается gedit. Я пробовал "Открыть с помощью", но там не отображается приложение терминала. Я искал в сети, но нашел способ связать файл, не объединяя его в один «файл ярлыка»

мишель
источник
2
Вы добавили #! /usr/bin/shв начале файла (первая строка)?
Несчастье
Из интереса, какую версию Ubuntu вы используете? В принципе, это должен быть только случай пометки файла как исполняемого в Свойствах / Разрешениях, но 13.04 это, кажется, не работает для меня (даже непосредственно в файле .sh, с #! /bin/bashсамого начала ...)
Jez W
Также проверьте владельца и разрешения. Имеет ли пользователь, щелкающий по нему, разрешение на его запуск?
Страдание
1
Ваши команды не могут быть правильными - вы ссылаетесь на ssh_home.shи /ssh_home, которые не являются одинаковыми файлами.
l0b0
2
@Misery: Это /bin/shне так /usr/bin/sh. ( /usr/bin/shбудет работать в системах, где /binи /usr/binв одном каталоге; я не думаю, что это относится к Ubuntu>)
Кит Томпсон

Ответы:

50

Я знаю, что это давно, но если кто-то спросит, у меня есть этот ответ.

  1. Открыть наутилус
  2. Меню Файлы -> вкладка поведения
  3. Запускать исполняемые текстовые файлы при их открытии

В более поздних версиях этот параметр находится в: меню «Файлы» -> «Правка» -> «Настройки» -> вкладка «Поведение».

В Ubuntu 14.10 переместите указатель мыши в верхнюю часть экрана, и появится строка меню «Файл», «Редактировать» и т. Д. Нажмите РЕДАКТИРОВАТЬ -> Настройки -> вкладка Поведение

Питер
источник
2
Это должен быть принятый ответ ИМХО. Я был довольно расстроен, пытаясь понять, почему я не смог запустить скрипт оболочки из Nautilus.
Дэвид Баукум
Что такое меню «Файлы»? Никогда не видел это.
Игорь Ганапольский
Работал. Щелкните правой кнопкой мыши по моему сценарию оболочки в файловом браузере. Создана ссылка. Затем перетащите ссылку на рабочий стол. Также сделал шаг выше в обзоре файлов -> Настройки-> запустить вместо просмотра.
maxweber
3
Одна сложность заключается в том, что это влияет на все исполняемые файлы. (Это может быть то, что вы хотите.)
Кит Томпсон
Отличный ответ! В Ubuntu 18.04 я установил «Спросить, что делать», чтобы я мог запускать или отображать его каждый раз, когда дважды щелкаю такой файл. Благодарность!
MS Berends
36

Я думаю, что было бы лучше использовать файл запуска для вашего сценария, создав ~/Desktop/ssh_home.desktopфайл со следующим содержимым:

[Desktop Entry]
Version=1.0
Exec=/home/yourname/bin/ssh_home.sh
Name=SSH Server
GenericName=SSH Server
Comment=Connect to My Server
Encoding=UTF-8
Terminal=true
Type=Application
Categories=Application;Network;

Таким образом, вы получите кликабельную иконку, которая запустит ваш скрипт.

Возможно, вам также придется установить флаг исполняемого файла с помощью chmod:

chmod +x ~/Desktop/ssh_home.desktop
Кирилл Лори
источник
1
Этот метод работает, но я предпочитаю решение с одним файлом ...
Мишель
6
@michel Если весь скрипт выполняется ssh host, он вам не нужен, просто измените строку Exec на Exec=ssh host.
гейра
1
Это единственное решение, которое сработало для меня.
Авиад П.
Я получаю Untrusted application launcherокно сообщения, и оно не запускает мою команду.
Мэтт
@Matt попробуйте щелкнуть правой кнопкой мыши по значку, Properties > Permissionsзатем выберите и выберите Allow executing file as program. Также, если вы скопировали и вставили текст выше в свой файл, убедитесь, что после строк нет пробелов . Это может вызвать ваше сообщение об ошибке.
Оливия Аист
3

«Ловушка» для меня заключалась в том, что я щелкал правой кнопкой мыши по файлу, чтобы найти способ изменить поведение (чтобы скрипт запускался вместо открытия в gedit). Не щелкай правой кнопкой мыши! Скорее откройте из «обычной» строки меню:

Изменить-Preferences-Behavior и изменить на «запустить» или «спрашивать каждый раз».

Комментарий: На мой вкус должен быть способ запуска программы с помощью щелчка правой кнопкой мыши тоже. Тем более, что щелчок правой кнопкой мыши приводит к меню «открыть с помощью», которое позволяет искать «открыть с помощью bash», однако «bash» не включен в качестве опции ...

Патрик Пиркер
источник
На мой вкус тоже ...
Marecky
1

IMO самый простой ответ -

  1. Убедитесь, что файл .sh работает, если щелкнуть по нему или запустить из своего собственного каталога.
  2. Если это работает там, щелкните правой кнопкой мыши на нем в Files aka Nautilus, выберите «Make Link»
  3. Это создает файл с именем «ссылка на xxxx.sh» в том же каталоге
  4. Перетащите это на рабочий стол
  5. Переименуйте его так, как вы хотите, например, уберите «link to» и «sh», просто оставьте имя, оно все равно будет работать.
Мартин Кларк
источник
Также вы можете изменить значок ссылки тоже. Щелкните по нему правой кнопкой мыши, выберите «Свойства», щелкните значок по умолчанию в левой верхней части окна свойств и так просто перемещайтесь, пока не найдете изображение, которое вы хотите использовать в качестве значка.
Брайан Хеллекин
0

Я бы сказал, что самый простой способ добавить сценарий оболочки к ярлыкам - добавить файл .sh в домашний каталог. После копирования в домашний каталог просто перейдите в пользовательские ярлыки и добавьте команду sh yourfile.sh

Это была моя работа вокруг надеюсь, что это поможет вам

Марковиц Эрнандес
источник