Як запустити заявку більш зручним способом?


9

Я новачок в Ubuntu. У мене є додаток, який я відкриваю наступним чином. Я набираю консоль:

cd ~/MyDirectory
./myapp +some arguments

Як я можу знайти рішення, щоб я міг запускати свою програму, не вводячи ці команди в консоль кожного разу? Я думаю про сценарій, як bat-скрипт або .lnk у Windows.

В інших подібних питаннях я не знайшов рішення, тому що були лише деякі згадки та обговорення сценаріїв. Я не знайшов, як я можу використовувати команду "cd" в інших питаннях, і це запитання не є дублікатом інших пропозицій.


@steeldriver, ні, я не знайшов рішення в цьому питанні. немає нічого про команду CD та запуск програми через скрипт.
нік

№1 Ви хочете, щоб рішення було значком, який ви можете натиснути на робочий стіл, чи це буде щось, що вам потрібно / хочете запустити з командного рядка? №2 Як часто змінюватиметься аргумент?
RonJohn

Розмова (безпечно в цьому випадку) передбачає наявність робочого столу. Досить часто в світі сценаріїв не буде.
mckenzm

Відповіді:


21

Сценарій досить непосильний.

Використовуйте файл .desktop, наприклад:

[Desktop Entry]
Exec=/bin/bash -c "cd ~/MyDirectory && myapp some_arguments"
Name=Some App
Type=Application
  • Збережіть як some_app.desktop
  • Зробіть його виконуваним та подвійним клацанням

NB

Питання в тому, чи потрібно це запускати зі свого власного каталогу чи ні. Якщо ні, то команда може бути навіть простішою:

Exec='/home/MyUserName/MyDirectory/myapp' some_arguments

2
Дійсно дякую .desktopФайлу достатньо для цього завдання.
нік

2
@allo Якщо ОП вимагає рішення, яке не є оптимальним для його проблеми, але він не знає, що кращого існує, ви повинні запропонувати йому краще рішення своєї проблеми, якщо ви знаєте його. Якщо ви не бачите, що вам зовсім не вистачає точки щодо відповіді.
Яків Влійм

1
@dessert Дякую за редагування Можливо, нам доведеться розібратися зі шляхами з пробілами :)
Яків Влійм

1
Ви можете написати не ./myapp …замість того, myapp …що поточний каталог ., за замовчуванням, не є частиною змінної PATH.
PerlDuck

1
@allo Будь ласка, не соромтесь додати свою відповідь, якщо ви вважаєте, що існуючі недостатньо.
Fabby

13

Створіть файл із наступним вмістом:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

Потім зробіть його виконуваним:

chmod u+x scriptname

Тепер ви можете назвати цей сценарій так: /pathtoscript/scriptname

Ви можете поєднати це з відповіддю v010dya і помістити цей скрипт у будь-який, binщо є в $ PATH, тому можливі обидва способи виклику: в оболонці будь-якого типу каталогу scriptnameабо використовувати ярлик робочого столу, пояснений нижче. Просто перейдіть /pathtoscriptдо фактичного розміщення сценарію.

Створіть ярлик до сценарію, помістіть його ~/.local/share/applications/та назвіть його як somename.desktop із таким вмістом:

[Desktop Entry]
Version=1.0
Name=Script
Comment=
Keywords=Script
Exec=/pathtoscript/scriptname
Terminal=false
X-MultipleArgs=true
Type=Application
Icon=preferences-system
Categories=GTK;Development;
StartupNotify=false

Потім він з’явиться у списку програм


1
Ваша відповідь працює, дякую. Але дуже вибачте, сценарій занадто важкий, я про це не знав. І моя відповідь була конкретно в сценарії, але не в тому, щоб просто знайти будь-який спосіб рішення. Я поставлю вам +1.
нік

1

Хоча ви вже знайшли рішення, на яке можна двічі клацнути, є рішення, яке робить більш тривіальним запуск з командного рядка:

Крок 1 - Напишіть сценарій

Це вже охоплено відповіддю на LeonidMew , я буду копіювати його тут:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

і потім

chmod u+x scriptname

Крок 2. Спростіть виконання

Вам потрібно створити каталог ~/binі змусити bash шукати в ньому команди. Тож у терміналі пишемо:

mkdir ~/bin
mv scriptname ~/bin
vim ~/.profile

Тут я роблю все в терміналі, ви, звичайно, можете створити каталог dirу своєму домашньому каталозі, а також перемістити свій скрипт туди за допомогою графічних інструментів, якими вам зручно. Також я використовую vim як редактор, але початківцям це трохи важко, я б радив вам навчитися, але ви можете просто використовувати інший редактор (навіть графічний) для редагування .profileвсередині домашнього каталогу, зауважте, що цей файл за замовчуванням приховано

Вам потрібно додати наступне до кінця цього файлу

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Якщо ви використовуєте vim , натисніть, iщоб почати додавати текст, а потім Escзакінчити додавання. Після цього ви вводите :wqфайл для запису та виходите. Або, як я вже сказав, скористайтеся більш простим редактором.

Крок 3 - Насолоджуйтесь

Тепер, не важливо, в якому каталозі ви знаходитесь, ви завжди можете просто набрати scriptnameта натиснути Enter. Ви також можете розмістити інші сценарії та програми, в яких ви хочете виконати ~/bin.


1
Ви написали, як вийти з vim, +1 Просто жартую, приємна відповідь. Ваше рішення корисне. Ще можна створити .desktop файл, запустити скрипт зі списку програм або меню (залежно від DE). Після виправлення .profile потрібен вихід / вхід. Також додому можна монтувати з опцією noexec, в цьому випадку його потрібно поставити скрипт в / usr / local / bin / (використовуючи sudo).
LeonidMew
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.