Як виконати скрипт 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. Відкрити nautilus
  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
Цей метод працює, але я віддаю перевагу файловому рішенню ...
michel

6
@michel Якщо весь сценарій працює, сценарій ssh hostвам не потрібен, просто змініть рядок Exec на Exec=ssh host.
geirha

1
Це єдине рішення, яке працювало на мене.
Авіад П.

Я отримую Untrusted application launcherвікно повідомлення, і воно не виконує мою команду.
Метт

@Matt спробуйте клацнути правою кнопкою миші на піктограму, перейдіть до пункту Properties > Permissionsта виберіть Allow executing file as program. Крім того, якщо ви скопіювали та вставили текст вище у свій файл, переконайтеся, що після рядків немає місця з пробілом . Це може спричинити ваше повідомлення про помилку.
Олівія Лелека

3

Для мене "пасткою" було те, що я шукав, клацнувши правою кнопкою миші на файл, спосіб змінити поведінку (для запуску сценарію замість відкритого в gedit). Не клацніть правою кнопкою миші! Досить відкрити з "звичайної" панелі меню:

Редагування-налаштування-поведінка та змініть на "запустити" або "запитувати кожен раз".

Коментар: На мій смак, має бути спосіб запустити програму і клацанням правою кнопкою миші. Тим більше, що клацання правою кнопкою миші веде до меню "відкрити з", що змушує шукати "відкрити з bash", однак "bash" не входить як варіант ...


На мій смак також…
Marecky

1

imo найпростіша відповідь -

  1. Переконайтеся, що .sh файл працює, якщо його натискати чи запускати із власної директорії.
  2. Якщо він працює там, клацніть на ньому правою кнопкою миші у файлі aka Nautilus, виберіть "Зробити посилання"
  3. Це створює файл з назвою "посилання на xxxx.sh" в тому самому каталозі
  4. Перетягніть це на робочий стіл
  5. Перейменуйте його, як хочете, наприклад, очистіть "посилання на" і "ш", просто залиште ім'я, воно все одно спрацює.

Також ви можете також змінити піктограму посилання. Клацніть правою кнопкою миші, виберіть "Властивості", натисніть на значок за замовчуванням у верхній лівій частині вікна властивостей і так просто перейдіть, поки не знайдете зображення, яким ви хочете стати піктограмою.
Брайан Геллекін

0

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

Це була моя робота навколо сподівання, що це вам допоможе

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.