Мій псевдонім .bashrc не запускається у .desktop-файл


19

Я додав у .bashrcфайл наступний рядок :

alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"

Ця команда чудово працює в терміналі та tty. Але не працює в моєму файлі ярликів .desktop.

Файл midos.desktop:

[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true

Як виконати свою midosкоманду у файлі ярликів .desktop?


Можна просто замінити Exec=midosнаExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

Я не хочу цього. Я хочу використовувати безпосередньо. Це можливо?
ErkanMDR

1
Я б замінити shз bash(псевдонім midos = «Баш /home/erkanmdr/Belgeler/midos/midos.sh»)
Сільвен Піно

@SylvainPineau не працював
ErkanMDR

Відповіді:


24

Хоча інші відповіді пропонують хороший спосіб вирішити вашу проблему, щоб відповісти на ваше запитання, у вашому випадку правильним способом використання псевдоніма у файлі .desktop є:

Exec=bash -ic "midos"

Це тому, що псевдоніми ~/.bashrcфайлу працюватимуть лише в інтерактивній оболонці bash ( -iу цьому випадку використовується параметр для запуску bash interactive).

Якщо інший користувач хоче використовувати той самий файл .desktop, він повинен також визначити цей псевдонім.


Чудово! Саме те, що я шукав. Дуже дякую
ErkanMDR

6

Я був би надзвичайно здивований, якщо GUI має якесь уявлення про вашу оболонку. Ви повинні помістити повний шлях у файл робочого столу:

Exec=/home/erkanmdr/Belgeler/midos/midos.sh

І переконайтеся, що ваш сценарій виконується.


6

Невелике вирішення.

Додайте це #!/bin/bashдо першого рядка свого сценарію, якщо його вже немає.

Наприклад, ваш сценарій раніше:

sometext1
sometext2
sometext3
sometext4

Ви сценарій після:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

Тепер скопіюйте свій скрипт /usr/local/binі зробіть його виконуваним:

sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos

Після цього він повинен працювати так, як вам хочеться.

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