我的.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
之后它应该按你的意愿工作。