Мой псевдоним .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?

ErkanMDR
источник
Вы можете просто заменить Exec=midosнаExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp
Я не хочу этого. Я хочу использовать напрямую. Это возможно?
ErkanMDR
1
Я бы заменил shна bash(псевдоним midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Сильвен Пино
@SylvainPineau не работает
ErkanMDR

Ответы:

24

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

Exec=bash -ic "midos"

Это связано с тем, что псевдонимы из ~/.bashrcфайла будут работать только в интерактивной оболочке bash ( -iв этом случае используется опция для запуска интерактивной оболочки bash).

Если другой пользователь хочет использовать тот же файл .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

После этого должно работать как хочешь.

c0rp
источник