我的.bashrc别名不能在.desktop文件中运行

我已将以下行添加到.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 

如何在.desktop快捷方式文件中执行midos命令?

虽然其他答案为您的问题提供了一个很好的解决方法,但要回答您的问题,在.desktop文件中使用别名的正确方法是,在您的情况下:

 Exec=bash -ic "midos" 

这是因为来自~/.bashrc文件的别名只能bash交互式shell中使用(在这种情况下使用-i选项来启动bash interactive)。

如果另一个用户想要使用相同的.desktop文件,那么他必须同样定义该别名。

如果GUI对你的shell有任何想法,我会非常惊讶。 您应该将完整路径放在桌面文件中:

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

并确保您的脚本是可执行的。

解决方法很少。

#!/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 

之后它应该按你的意愿工作。