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

18

Я добавил следующую строку в файл .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 16.07.2014 в 17:48
источник

3 ответа

21

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

Exec=bash -ic "midos"

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

Если другой пользователь хочет использовать тот же файл .desktop, он должен также определить этот псевдоним.

    
ответ дан Radu Rădeanu 16.07.2014 в 22:01
источник
6

Я был бы очень удивлен, если бы GUI имел какое-либо представление о вашей оболочке. Вы должны поместить полный путь в свой рабочий стол:

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

И убедитесь, что ваш скрипт выполним.

    
ответ дан glenn jackman 16.07.2014 в 18:17
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 16.07.2014 в 18:50